- Print
- DarkLight
EVA SDK Installation Guide for ARM
Manual Rev.: 1.2
Revision Date: July xx, 2022
Part Number: 50M-00039-1010
Copyright
Copyright © 2022 ADLINK Technology, Inc. This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
Disclaimer
The information in this document is subject to change without prior notice in order to improve reliability, design, and function and does not represent a commitment on the part of the manufacturer. In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.
Trademarks
Product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.
1.0 | Initial release | 2020-10-07 |
1.1 | Release for EVA SDK R3.5 | 2021-07-30 |
1.2 | Release for EVA SDK R3.8 Support ROS Foxy Fitzroy. | 2022-07-xx |
1 Introduction
This chapter describes the installation of the following software.
- Gstreamer RTSP Plugin and Gstreamer Python Plugin
- Hikrobot software
- FLIR software
- ADLINK EVA SDK
The following table lists the specified software versions.
Item | Version |
OS | Ubuntu 18.04 LTS AArch64 |
Gstreamer | 1.14.5 |
NVIDIA® JetPack | 4.6.1 |
Python | 3.6 |
pylon | 5.2.0 |
Hikrobot MVS | 2.0.0 |
FLIR Spinnaker SDK | 2.5.0.80 |
ROS 2 | Foxy Fitzroy |
NVIDIA® JetPack includes the following software versions.
Item | Version |
NVIDIA® DeepStream | 6.0 |
NVIDIA® CUDA | 10.2 |
NVIDIA® TensorRT | 8.2.1 |
NVIDIA® cuDNN | 8.2.1 |
OpenCV | 4.1.1 |
The following table lists the estimated required installation space when installing the software under Ubuntu 18.04 aarch64. The required installation space includes the install file (.deb, .run) package size.
Software | Required Installation Space |
Gstreamer Python Plugin | 600MB |
Pylon | 430MB (deb file: 90MB) |
Hikrobot MVS | 280MB (zip file: 130MB) |
FLIR Spinnaker | 260MB (gz file: 62MB) |
ADLINK EVA SDK | 40MB (run file: 10MB) |
ROS 2 Foxy Fotzroy | 9GB (including building files and required software) |
For more details about ADLINK EVA, refer to https://eva-support.adlinktech.com.
2 Installing the GStreamer RTSP Plugin
2.1 Install RTSP plugin for GStreamer (Optional)
If data will be sent over via an RTSP server, the system must have the RTSP plugin for GStreaming installed. Use the following command to install the RTSP plugin.
$ sudo apt install gstreamer1.0-rtsp |
Use the following command to verify that the plugin has been installed.
$ gst-inspect-1.0 rtspclientsink |
3 Installing the GStreamer Python Plugin
GStreamer is built on the GLib and GObject portable libraries which are compatible with Python. Gstreamer can be used in two ways: by writing GStreamer applications, or by writing GStreamer Python elements that can be scanned by the GStreamer Python plugin loader and registered as a plugin in GObject. The following sections describe how to install the GStreamer Python plugin.
3.1 Install the Required Packages
$ sudo apt-get update $ sudo apt-get install python3-pip python-gi-dev python3-gst-1.0 |
If your platform is using Python 2.7, change the python3-gst-1.0 package to python-gst-1.0.
3.2 Install the GStreamer Python Plugin Loader
Currently, the Debian GStreamer Python package includes GObject Introspection files but does not include the GStreamer Python plugin loader, requiring the use of a GStreamer Python application.
GStreamer Python plugins cannot be scanned and registered in applications like gst-launch-1.0 or gst-inspect-1.0, so a GStreamer Python plugin loader must be built.
1. Clone the GStreamer gst-python repository
$ git clone -b 1.14 https://github.com/GStreamer/gst-python.git |
$ pip3 install --user scikit-build $ pip3 install --user meson ninja |
When using Python 2.7, call pip instead of pip3.
3. Add the Python binary search path
$ export PATH=~/.local/bin:$PATH |
If installing the meson package via apt installs an old version of meson, make sure the meson binary installed by pip3 can be found by first specifying where to access the Python binary.
4. Build and install gst-python
$ cd gst-python $ meson _build -Dprefix=$PWD/local $ ninja -C _build install |
At this point, it is important not to overwrite the previously installed GStreamer Python files which can possibly have a negative impact on the system. Instead, install GStreamer Python to a local folder and then copy only the required files.
5. Copy GStreamer Python plugin loader
The previous build steps generated two kinds of files, GObject introspection files and the GStreamer Python plugin loader in the following directory structure.
Gst-python install directory structure
local |
Copy libgstpython.so to the GStreamer system plugin folder, or other plugin folders as necessary.
Copy the required library
$ sudo cp local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpython.so /usr/lib/aarch64-linux-gnu/gstreamer-1.0 |
6. Install the required Python packages
$ sudo apt-get install python3-numpy libopencv-python $ sudo pip3 install boto3 |
Note:
The following message can be ignored when executing pip with sudo.
7. Check for installed Python plugins
$ cd .. # Stay in gst-python will cause python local wrong gi module in gst-python folder $ GST_DEBUG=pyplugin:7 gst-inspect-1.0 python |
If the Python plugins are found, the installation has been successful.
4 Installing Hikrobot Software (Optional)
If you are not using a Hikrobot camera, this chapter can be skipped.
If Hikrobot cameras are used, the Hikrobot MVS Software must be installed.
Download the Hikrobot installer from: https://en.hikrobotics.com/machinevision/service/download?module=0
The recommended software versions are:
- Version: Machine Vision Industrial Camera SDK V2.0.0 (Linux ARM)
- Operating System: ARM 64-bit
Run the following commands, and then follow the on-screen instructions to complete the installation process.
$ unzip "MVS_2.0.0_20200312(Linux ARM).zip" $ cd "MVS_2.0.0_20200312(Linux ARM)" $ tar xvfz MVS-2.0.0_aarch64_20200312.tar.gz $ cd MVS-2.0.0_aarch64_20200312 $ sudo ./setup.sh |
After installation, connect the camera and run the MVS software to verify that it works. The file should be at /opt/MVS/bin.
Note:
The above installation steps are for reference only. For more specific installation instructions, refer to the official documentation, or contact Hikrobot at https://en.hikrobotics.com/contactus.
5 Installing FLIR Software (Optional)
This chapter covers the installation of required software for use with FLIR cameras.
If you are not using a FLIR camera, this chapter can be skipped.
5.1 Uninstall Non-specified Version
If the system has a non-specified version of the FLIR Spinnaker software, run the uninstall script under the Spinnaker installation package to remove it.
$ cd spinnaker-<version> $ sudo ./remove_spinnaker_arm.sh |
5.2 Install FLIR Spinnaker Software
If FLIR cameras are used, the FLIR Spinnaker Software Suite for Windows must be installed.
Download the FLIR Spinnaker installer from: https://www.flir.asia/products/spinnaker-sdk/
The recommended software versions are:
- Version: spinnaker-2.5.0.80-Ubuntu18.04-arm64
- Operating System: Linux 64-bit
Run the following commands and then follow the on-screen instructions to complete the installation.
$ tar xvfz spinnaker-2.5.0.80-Ubuntu18.04-arm64-pkg.tar.gz $ cd spinnaker-2.5.0.80-arm64 $ sudo sh install_spinnaker_arm.sh $ sudo reboot |
Note:
During installation, you MUST enter a username to add a new member.
For example, enter ‘adlink’ for the user name.
After installing, insert the camera device and run the following command to verify.
$ spinview |
Note:
For more information, refer to https://www.flir.com/support-center/iis/machine-vision/application-note/using-spinnaker-on-arm-and-embedded-systems/
If you have any questions, go to https://www.flir.com/.
6 Installing ONNX Runtime
This chapter covers the installation of required software for use with the ONNX Runtime inference engine.
Download ONNX Runtime v1.8.0 for python 3.6 from https://elinux.org/Jetson_Zoo#ONNX_Runtime, or https://nvidia.app.box.com/s/bfs688apyvor4eo8sf3y1oqtnarwafww
Run the following commands to install ONNX Runtime.
$ pip3 install --upgrade pip cython protobuf $ pip3 install numpy==1.19.4 $ pip3 install pillow $ cd Downloads $ pip3 install onnxruntime_gpu-1.8.0-cp36-cp36m-linux_aarch64.whl |
7 Installing the ROS2 Foxy Fitzroy(Optional)
This chapter covers the installation of required software for use with ROS.
If you are not using ROS 2, this chapter can be skipped.
- System setup
Upgrade cmake
ROS 2 Foxy Fitzroy requires cmake version 3.11.0 or higher. If your cmake version is older, it must be upgraded.
The following is an example of building and installing cmake version 3.13.5.$ sudo apt remove --purge --auto-remove cmake
$ wget https://github.com/Kitware/CMake/releases/download/v3.13.5/cmake-3.13.5.tar.gz
$ tar xvf cmake-3.13.5.tar.gz
$ cd cmake-3.13.5/
$ ./configure
$ ./bootstrap --system-curl
$ make -j$(nproc)
$ sudo make install
$ sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Add the ROS 2 apt repository
Install development tools and ROS tools$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
$ sudo apt update && sudo apt install -y build-essential cmake git libbullet-dev python3-colcon-common-extensions python3-flake8 python3-pip python3-pytest-cov python3-rosdep python3-setuptools python3-vcstool wget
$ python3 -m pip install -U argcomplete flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes pytest-repeat pytest-rerunfailures pytest
$ sudo apt install --no-install-recommends -y libasio-dev libtinyxml2-dev
$ sudo apt install --no-install-recommends -y libcunit1-dev
- Get ROS 2 code
$ mkdir -p ~/ros2_foxy/src
$ cd ~/ros2_foxy
$ wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
$ vcs import src < ros2.repos
- Install dependencies using rosdep
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-5.3.1 urdfdom_headers"
- Build the code in the workspace
$ cd ~/ros2_foxy/
$ colcon build --symlink-install
- Environment setup
$ . ~/ros2_foxy/install/local_setup.bash
Note:
The environment variables are removed when closing the command prompt or terminal.
For more information, refer to https://docs.ros.org/en/foxy/Installation/Ubuntu-Development-Setup.html.
7.1 Verify ROS 2
Open a terminal, source the setup file and then run a C++ talker:
$ . ~/ros2_foxy/install/local_setup.bash $ ros2 run demo_nodes_cpp talker |
In another terminal, source the setup file and then run a Python listener:
$ . ~/ros2_foxy/install/local_setup.bash $ ros2 run demo_nodes_py listener |
You should see the ‘talker’ saying that it’s Publishing messages and the ‘listener’ saying I heard those messages.
8 Installing the ADLINK EVA SDK
8.1 Remove Previous ADLINK EVA SDK Versions
If you have a previously installed version of the ADLINK EVA SDK, remove it with the following command:
$ sudo /opt/adlink/eva/uninstall.sh |
If the install path has been changed, specified the correct path with:
$ sudo [INSTALL_DIR]/uninstall.sh |
INSTALL_DIR enters the specified path.
Note:
When uninstalling the ADLINK EVA SDK, the folder specified with INSTALL_DIR will be deleted.
8.2 Run the Required Commands for EVA IDE
$ sudo ln -snf /usr/share/fonts/truetype/dejavu /lib/fonts $ sudo apt-get install graphviz $ sudo systemctl stop nvargus-daemon $ sudo systemctl disable nvargus-daemon |
8.3 Download and Install the ADLINK EVA SDK
Download the ADLINK EVA SDK installation package and copy it to your Linux Ubuntu 18.04 aarch64 system.
Change mode and run install package
$ chmod +x EVA_SERP_xxxx.run $ sudo ./EVA_SERP_xxxx.run |
xxxx is the version and the install path is /opt/adlink/eva.
Select the EVA SDK plugins to be installed.
Select GStreamer plugin to install. (Separate with comma, for example, “2,3,4”).
|
For example, to install the TensorRT inference plugin and the Pylon plugin, enter 3,4. To install all plugins, including the TensorRT inference plugin, the Pylon plugin, the Hik plugin and the Flir plugin, enter 1.
Notes:
- TensorRT is only supported on NVIDIA platforms.
- Before installing the EVA SDK, you must ensure the corresponding software packages have been installed. If the plugins are installed but there are no corresponding libraries, when the GStreamer command runs for the first time, it will display messages to warn that the related libraries are missing, and the installed plugins will not work.
Other commands can be used to install the ADLINK EVA SDK.
- Use the -s command option to install all the plugins in silent mode. The install path is /opt/adlink/eva.
$ sudo ./EVA_SERP_xxxx.run -- -s |
8.4 Download and Install the ADLINK EVA SDK IDE and Samples (Optional)
If you are not using the EVA SDK IDE and samples, this chapter can be skipped.
Download the ADLINK EVA SDK installation package and copy it to your Linux Ubuntu 18.04 AArch64 system.
Change mode and run install package
$ chmod +x EVA_IDE_xxxx.run $ sudo ./EVA_IDE_xxxx.run |
xxxx is the version and the install path is /opt/adlink/eva.
8.5 Set Environment Variables
Set environment variables for the ADLINK EVA SDK
$ source /opt/adlink/eva/scripts/setup_eva_envs.sh |
The script will set up the environment variables of the following installed software.
- Pylon
- ADLINK EVA SDK
If the software has no corresponding libraries, the script will not set up the corresponding environment variables.
Note:
The environment variables are removed when closing the command prompt or terminal.
Read and follow all instructions marked on the product and in the documentation before you operate your system. Retain all safety and operating instructions for future use.
- Please read these safety instructions carefully.
- Please keep this User‘s Manual for later reference.
- Read the specifications section of this manual for detailed information on the operating environment of this equipment.
- When installing/mounting or uninstalling/removing equipment, turn off the power and unplug any power cords/cables.
- To avoid electrical shock and/or damage to equipment:
- Keep equipment away from water or liquid sources.
- Keep equipment away from high heat or high humidity.
- Keep equipment properly ventilated (do not block or cover ventilation openings).
- Make sure to use recommended voltage and power source settings.
- Always install and operate equipment near an easily accessible electrical socket-outlet.
- Secure the power cord (do not place any object on/over the power cord).
- Only install/attach and operate equipment on stable surfaces and/or recommended mountings.
- If the equipment will not be used for long periods of time, turn off and unplug the equipment from its power source.
- Never attempt to fix the equipment. Equipment should only be serviced by qualified personnel.
Getting Service
Ask an Expert: http://askanexpert.adlinktech.com
ADLINK Technology, Inc.
Address:No. 66, Huaya 1st Rd., Guishan District,
Taoyuan City 333411, Taiwan
Tel: +886-3-216-5088
Fax: +886-3-328-5706
Email: service@adlinktech.com
Ampro ADLINK Technology, Inc.
Address:6450 Via Del Oro
San Jose, CA 95119-1208, USA
Tel: +1-408-360-0200
Toll Free:+1-800-966-5200 (USA only)
Fax: +1-408-600-1189
Email: info@adlinktech.com
ADLINK Technology (China) Co., Ltd.
Address:300 Fang Chun Rd., Zhangjiang Hi-Tech Park, Pudong New Area
Shanghai, 201203 China
Tel: +86-21-5132-8988
Fax: +86-21-5132-3588
Email: market@adlinktech.com
ADLINK Technology GmbH
Address:Hans-Thoma-Straße 11
D-68163 Mannheim, Germany
Tel: +49-621-43214-0
Fax: +49-621 43214-30
Email: germany@adlinktech.com
Please visit the Contact page at www.adlinktech.com for information on how to contact the ADLINK regional office nearest you.