meta data for this page
  •  

OPC UA

This page describes the installation and configuration of the following OPC UA functionality:

  • LDS from the OPC foundation on BBB
  • OPC UA server from the OPC foundation on BBB
  • OPC UA server from the FreeOpcUa project on BBB
  • OPC UA server from the open62541 project on BBB
  • OPC UA GUI client from the FreeOpcUa project on PC

The operating system on the BBB is Debian/stretch.

OPC foundation LDS

Preprequisits for compiling and installing the LDS on the BBB
  • Avahi libdnssd compatibility layer (development files)
  • OpenSSL (development files)
  • cmake and compiler
~# apt-get install libavahi-compat-libdnssd-dev libssl-dev cmake build-essential

Getting the source code for the LDS and the OPC-UA ANSI-C stack from github and link the ANSI C stack into the LDS directory:

guest:~$ mkdir OPC
guest:~$ cd OPC
guest:~$ git clone https://github.com/OPCFoundation/UA-LDS.git
guest:~$ git clone https://github.com/OPCFoundation/UA-AnsiC.git
guest:~$ cd UA-LDS
guest:~$ rmdir stack
guest:~$ ln -s ../UA-AnsiC stack
guest:~$ chmod u+x build_linux.sh

FreeOpcUa python client

This is a GUI client written in python3 which has following prerequisits from stretch and buster:

~# sudo apt-get install python3 python3-pip python3-setuptools python3-pyqt5 python3-cryptography python3-opcua python3-pyqtgraph

The GUI client from python repo needs to be installed with python pip3 like this:

~# sudo pip3 install opcua-client

Start GUI as normal user:

guest:~$ opcua-client

FreeOpcUa python modeler

tbd,

open62541 server

Get latest open62541 sources:

guest:~$ git clone --recurse-submodules https://github.com/open62541/open62541.git

Create build dir:

guest:~$ cd open62541
guest:~$ mkdir build

Create makefiles:

guest:~$ cd build
guest:~$ ccmake ..

Build all:

guest:~$ make

Results of examples are in bin/examples.