This repository consists of device driver implementations, each providing an OPC UA interface. The OPC UA interface is implemented using the open62541 C library which is encapsulated within the leightweight C++ Wrapper (see subfolder Open62541CppWrapper). Individual devices might have additional, platform-specific dependencies related to the respectivelly used device library.
This repository is maintained by Servicerobotik Ulm. For more information see:
- Big picture: relation of repositories: https://wiki.servicerobotik-ulm.de/download
- SRRC Technical Wiki on SmartSoft and SmartMDSD Toolchain: https://wiki.servicerobotik-ulm.de
- open62541 using the github repository (install as described below) ** tested with commit in master branch 755abcfc54f5c7f438d0e1dee91370df28e6c02e
- CMake min. version 3.0
- A C++ compiler supporting the C++ 11 standard
$ sudo apt-get install git build-essential gcc pkg-config cmake python python-six
$ git clone https://github.com/open62541/open62541.git
$ cd open62541
$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DUA_ENABLE_SUBSCRIPTIONS=ON -DUA_ENABLE_DISCOVERY_MULTICAST=ON ..
$ make
$ sudo make install
$ cd examples
$ gcc -std=c99 -I../build/ ../build/open62541.c tutorial_server_variable.c -o server
$ ./server
Address: opc.tcp://<IP address of server / localhost>:4840
The following instructions will build the Open62541CppWrapper and all the OPC UA enabled Devices:
> mkdir build
> cd build
> cmake ..
> make
> sudo make install # optional