This guide compiles the S2OPC OPC UA stack from source on a Linux host running
Debian 9.5 or Ubuntu, and runs its demo application. It covers the package
dependencies, the build, and the publisher/subscriber sample
(pubsub_server, which runs both roles in one process). For the real-time
PubSub variant of the same stack over TSN, see S2OPC - TSN.
Verified against S2OPC Toolkit 1.0.0 in October 2020, on the dependency versions pinned below. The stack has moved on considerably since — see the stack comparison for current findings — so treat the version pins here as what was tested rather than as a current recommendation.
Below are the list of hardware used for setting up the demo for this user guide. But you can use a different set of hardware as per availability.
Below Linux package dependencies need to be met for the S2OPC demo application to work.
$ su
# mkdir S2OPC && cd S2OPC/
# wget https://github.com/Kitware/CMake/releases/download/v3.19.0-rc1/cmake-3.19.0-rc1.tar.gz # tar -xvzf cmake-3.19.0-rc1.tar.gz # cd cmake-3.19.0-rc1/ # ./configure # make # make install
# cd .. # apt-get install autoconf # apt-get install libtool # wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.16.0.tar.gz # tar -xvzf mbedtls-2.16.0.tar.gz # cd mbedtls-mbedtls-2.16.0/ # make # make install
# cd .. # git clone https://github.com/libexpat/libexpat.git # cd libexpat/expat/ # ./buildconf.sh # ./configure # mkdir build # cd build # cmake -DCMAKE_INSTALL_INCLUDEDIR=/usr/local/lib .. && sudo make install
# cd ../../.. # wget https://github.com/libcheck/check/releases/download/0.14.0/check-0.14.0.tar.gz # tar -xvzf check-0.14.0.tar.gz # cd check-0.14.0/ # mkdir build # cd build/ # ccmake .. # make # make install
Download and compile S2OPC sample application. Clone the toolkit 1.0 release version in the S2OPC parent folder.
# cd ../../ # git clone https://gitlab.com/systerel/S2OPC.git --branch S2OPC_Toolkit_1.0.0 # cd S2OPC # ./build.sh # cd build/bin/
After successful compilation, the binary is available as pubsub_server in the bin directory.
# ./pubsub_server
This sample application runs both the publisher and subscriber demo.
If you want to edit the demo application to test out your configuration, below are the relevant information.
S2OPC stack includes a few other helpful features and demo applications to help you with your evaluation.
For more help with setting up your evaluation and toolkits, contact us at adopt.opctsn@aeicor.com
You can also reach S2OPC support at https://www.s2opc.com