For installing IDS peak, the following requirements are required for the system environment:
There are two different ways for installation: either as Debian packet or as archive (tar.gz).
You must be root to be able to install the package.
|Install the package via dpkg|
Before you start using the archive make sure you have all required libraries installed:
Copy all the files into a directory on the hard disk (you need write access to decompress), for example "/opt/ids_peak_[version]_[arch]".
This can be achieved using the command:
tar -xvzf ids_peak_[version]_[arch].tar.gz -C /opt
You can move the extracted folder to any directory. Starting the applications via the shell scripts in the bin folder ensures that they always use the supplied transport layer ("/opt/ids_peak_[version]_[arch]/lib/ids/cti/ids_gevgentl.cti") by setting the environment variable "GENICAM_GENTL64_PATH" (on a 32-bit system "GENICAM_GENTL32_PATH"). For the source code of the samples, CMake will generate a starter script and copy it to the output folder which you should use to run the built samples. If you want to build your own application you can either set the variables for your user account manually or build your own shell script the same way CMake does for the shipped samples (see
CMakeLists.txt for the samples).
Under "/opt/ids_peak_[version]_[arch]/local/scripts" you can find a udev rule for the USB access the U3V cameras require. For a simple installation you can use the script
install-udev-rule.sh in the same folder. Additionally you can find an uninstall script as well.
Below is the structure of the tar archived displayed. The Debian package has the same structure but installs to the "/usr" folder of your system. This means for example "bin" is "/usr/bin" in your system if you installed the package.
| |-- bash scripts to start:
| |-- ids_vision_cockpit
| |-- ids_devicecommand
| |-- ids_deviceupdate
| |-- ids_ipconfig
| |-- all compiled samples
| |-- ids_peak_ipl-version
| | |-- peak_ipl
| | |-- header files for ids_peak_ipl
| |-- ids_peak-version
| |-- peak
| |-- header files for ids_peak
| |-- ids
| | |-- cti
| | |-- ids_gevgentl.cti
| | |-- ids_u3vgentl.cti
| |-- ids_peak_ipl-version
| | |-- cmake
| | |-- cmake config files
| | |-- libidspeak_ipl.so
| |-- ids_peak-version
| | |-- cmake
| | |-- cmake config files
| | |-- ids_peak library files
| |-- symbolic links to all library files required for ids_peak and ids_peak_ipl
| |-- scripts
| | |-- install and uninstall scripts e.g. for udev rules
| |-- src
| |-- ids
| |-- samples
| |-- halcon
| | |-- HALCON examples
| |-- mil
| | |-- MIL examples
| |-- peak
| |-- IDS peak C++ examples
| |-- ids_visioncockpit.desktop
| |-- hicolor
| |-- scalable
| |-- apps
| |-- ids_visioncockpit.svg
| |-- license files
| |-- thirdparty_copyrights.txt
| |-- thirdparty_licenses.txt
| |-- doc
| |-- HTML documentation for IDS peak IPL
|-- HTML documentation for IDS peak API
During runtime the shipped programs may write config files to your ".config" directory in your home folder. It creates a subfolder "IDS Imaging Development Systems GmbH" which stores the config files for e.g. the ids_visioncockpit application.
NOTICE! Some Linux distributions disconnect network interfaces when no network device is connected to them (e.g. a switch, a camera) and reconnect them as soon as a device gets connected to them. This means that you have to restart the IDS Vision Cockpit when a camera is added directly to a network port after the IDS Vision Cockpit has started because the transport layer only searches for new network interfaces during initialization.
Use the menu entry "IDS Vision Cockpit" to start the application. For security reasons, you should not run applications as root. If you start the IDS Vision Cockpit as root you may not see any cameras depending on your system configuration.
Use the shell script in the "bin" directory to start the IDS Vision Cockpit.
Note: If GigE Vision cameras are on a different subnet than the network adapter, the script must be run as an admin to find the cameras.
If you are using the Debian packages you will find start scripts for the pre-build samples in "/usr/bin/" and the source code in "/usr/local/src/ids/samples". For the TAR archives you will find the start scripts under "ids_peak_xxx/bin/" and the source code in the folder "ids_peak_xxx/local/src/ids/samples". Usually you will not have write permissions in "/usr/local/src" so you should copy the folder with the samples to a folder with write permissions e.g. your home folder.
To compile the samples with CMake or your own application you need a
config.cmake file. The Debian package installs it into the "usr/lib" folder which is automatically searched by CMake. When using the TAR archive the path to the
config.cmake file must be set manually. This can be done by adding the library directory to the CMAKE_PREFIX_PATH cmake -DCMAKE_PREFIX_PATH="/opt/ids_peak_[version]_[arch]/lib/" sourcedir.
To run the samples please use the generated shell script files. These will automatically take care of the environment variables which are required to use the GenTL producer libraries. Or set up the required environment variable yourself manually:
For information on how to set up environment variables, check the documentation of your system, e.g. for Debian: https://wiki.debian.org/EnvironmentVariables
|simple_live_halcon||Opening a camera and grabbing images|
|triggered_live_halcon||Configuring and using triggered image acquisition|
|simple_live_mil||Opening a camera and grabbing images|
|triggered_live_mil||Configuring and using triggered image acquisition|
|device_tree||Create and update module tree and open a camera|
|get_first_pixel||Starting image acquisition and accessing image pixel data|
|lego_trigger||Using triggered acquisition and setting trigger parameters|
|open_camera||Simple creation and opening of a camera object|
|open_camera_by_serno||Create and open a camera object by serial number|
|open_camera_select_cti||Using a specific CTI to create and open a camera object|
|save_images_live_qtwidgets||Simple GUI example using Qt to show images and save them to disk using the IDS peak IPL|
|simple_live_qml||Simple example for usage with QML GUI to display images|
|simple_live_qtwidgets||Simple example for usage with Qt widgets GUI to display images|
|walkthrough||Guided tour through module tree and opening of the first available camera|
A valid IP address must be assigned to GigE Vision cameras before they can be used.
For optimal performance it is recommend to use Ethernet package sizes which are larger than 1500 bytes. Recommended package size is ~9000 bytes depending on the support of the used network controller. Your whole network infrastructure e.g. switches should support this Ethernet package size; if not the GenTL will use the largest possible size.
The default linux network stack is not optimized for transferring large amounts of data. Therefore, it is recommended to increase the internal buffer size of the UDP network stack to improve camera performance and avoid package loss. But keep in mind that this increases the buffer sizes only at the endpoints if you are you using switches or other network infrastructure this might not have an effect:
To increase the network stack buffer size for UDP edit the
/etc/sysctl.conf file. If not present add the following lines:
This sets the maximum buffer size to ~25 MB, whereas the default buffer size is usually 128 KB.
In the folder "opt/ids_peak_[version]_[arch]/local/scripts" respectively "/usr/local/" scripts for the installed debian package you will find a script which is capable of adding these lines automatically. Run it with sudo:
Note that the script will not change the values if the entries are already present but it will tell you to check your values manually since they might already be higher when the 26214400 bytes. For the changes to become effective you have to reboot the system.
To open a camera, double-click it. You can set the camera properties using the icons in the toolbar or work directly in the tree view.
How to integrate IDS industrial cameras with IDS peak in your own application is described in the further documentation of IDS peak which can be found in "/usr/share/doc/ids_peak" for the debian package and "share/doc/ids_peak" for the TAR archive.
The software includes some parts that are copyright-protected from access by third parties, and which were published under Open Source licensing conditions, see either list on https://de.ids-imaging.com/open-source.html or "/usr/share/doc/ids_peak/licenses" or "/opt/ids_peak_[version]_[arch]/share/doc/ids_peak/licenses". The Open Source parts may be used under the terms and conditions of their corresponding Open Source licenses. You will find the Open Source licenses in the "thirdparty_licenses.txt" file.
There are two different ways for uninstallation: either for Debian or any other Linux distribution.
|Keep the configuration file of the IDS Vision Cockpit|
|Delete the configuration file of the IDS Vision Cockpit|
uninstall-udev-rule.sh in the folder "/opt/ids_peap_[version]_[arch]/local/scripts" to remove the udev rule or remove it manually.
Delete all files in the installation folder, for example "/opt/ids_peak_[version]_[arch]".
Check your ".config" directory in your home folder and delete the folder "IDS Imaging Development Systems GmbH" if you do not want to reuse the configurations.
|Flickering of IDS Vision Cockpit with QtWayland and gnome-shell version <3.32||Running the IDS Vision Cockpit with QtWayland may cause flickering of UI elements in combination with specific gnome-shell versions. This is a known bug of gnome-shell and should only occour on old gnome-shell versions < 3.32. On most system configurations you will have to enable the IDS Vision Cockpit to run on QtWayland manually by installing QtWayland and setting the QT_QPA_PLATFORM=wayland to produce this behaviour.||Use a newer gnome shell version or run the IDS Vision Cockpit with X11 compatiblity mode (QT_QPA_PLATFORM should not be set to "wayland").|
|Under Raspbian 10 the camera is detected but cannot be accessed although it should due to issues in Raspbian DHCP settings.||On current Raspbian Buster versions there seems to be an issue with the DHCP deamon. If you use the GUI of Raspbian to set the network configuration there is an option to partially set options manually and let the system detect the other parts of the configuration. This option is called "Automatically configure empty options". If you do not have a DHCP server running, e.g. when you are directly connected to the camera this option may prevent you from using a GigE Vision camera under Linux. The camera device will be detected but can not be used.||The source of the issue is that the DHCP deamon does not set all network configurations properly, if it does not detect a DHCP server. Especially Kernel IP Routes will be wrong and will cause the described problem. If you experience these issues uncheck the option and reboot your Raspberry Pi to make sure all options are set properly.|
|Raspberry Pi 3 with GigE Vision camera produces incomplete images||The network performance on the Raspberry Pi may be extremely bad and can cause incomplete images. This is an issue with the network design of the Raspberry Pi which is actually connected via the USB controller. This may be especially prominent on the Raspberry Pi 3 B+ which has a Gigabit Ethernet controller.||Set the GEV SCPS packet size of your camera to 1500. Additionally reduce the DeviceLinkThroughPutLimit to a lower value e.g. 5301360.|
|QtCreator 3.2.1 only builds default configuration of samples||Building the IDS peak API samples under Debian 8 with QtCreator 3.2.1 only creates a default CMake configuration while other QtCreator versions create debug and release build.||Default is set to debug by
|U3V cameras are not accessible when IDS Software Suite is installed||When the IDS Software Suite is installed parallel to IDS peak, U3V cameras may not be accessible due to issues with the udev rules.||The udev rule of the IDS Software Suite is named "zz-ueyeusbd.rules" which causes the rule to be executed last.
Rename the rule to "99-ueyeusbd.rules" to run it before the IDS peak rule.
© 2019, IDS Imaging Development Systems GmbH
IDS Imaging Development Systems and uEye are registered trademarks of IDS Imaging Development Systems GmbH.
IDS Imaging Development Systems GmbH
Dimbacher Str. 6-8
74182 Obersulm, Germany