Setting Up Storyboard IO Communication over TCP Using iogen & iorcv: PC to Target device
Hi everyone,
If you're working on setting up Storyboard IO (SBIO) communication using TCP between your PC and a target device (in this example a Toradex Verdin Imx8 board), here's a step-by-step guide to make a quick test using Iogen and Iorcv.
On the Target Side:
1. Navigate to the engine folder:
cd ~/linux-imx8yocto-armle-opengles_2.0-wayland-obj/bin/
2. Set the library path:
export LD_LIBRARY_PATH=/home/torizon/linux-imx8yocto-armle-opengles_2.0-wayland-obj/lib:$LD_LIBRARY_PATH
3. Run the iorcv command to listen on TCP:
./iorcv tcp://55555
You should see the following message:
Waiting on channel [tcp://55555]
On the Windows/Linux/Mac Side:
1. Navigate to the engine folder in your machine using the command line:
cd C:\Program Files\Crank_Software_8_1\Storyboard_Engine\8.1-stable.202402081352\windows-x86_64-opengles_2.0-obj\bin
2. Set the library path:
set PATH=%PATH%;C:\Program Files\Crank_Software_8_1\Storyboard_Engine\8.1-stable.202402081352\windows-x86_64-opengles_2.0-obj\lib
3. Ping the target to verify the connection:
ping 192.168.2.196
4. Run iogen to send data via TCP:
.\iogen.exe tcp://192.168.2.196:55555 - test_channel 1u1:value 55
This should output:
Connecting to Storyboard IO channel [tcp://192.168.2.196:55555]
Open sending, ip: 192.168.2.196, port:55555
Sending Channel - Writing header for 45 bytes to socket
Sending Channel - Writing 45 bytes to socket
On the Target Side (Receiving via TCP):
After sending data from the Host Machine side, you should see the following on the Toradex Verdin:
Receiving Channel - New connection, socket: 4, ip: 192.168.2.152, port: 64376
Receiving Channel - Reading header from 4
Receiving Channel - Reading payload from 4
test_channel,,1u1:value 55
Receiving Channel - Sending socket disconnected
Runing your backend from Visual Studio
If you're moving forward and now attempting to open your channel in your C backend in Visual Studio with:
send_handle = gre_io_open("tcp://192.168.2.196, port:55555", GRE_IO_TYPE_WRONLY);…and encountering an error, it's likely because you need to link the
libgreio-tcp.dll
. to fix this:- Locate
libgreio-tcp.dll
in the Storyboard lib folder (e.g.,C:\Program Files\Crank_Software_8_1\Storyboard_Engine\8.1-stable.202402081352\windows-x86_64-opengles_2.0-obj\lib
). - Add DLL to Project: Copy
libgreio-tcp.dll
to your Visual Studio project’s Release or Debug folder, or define a system environment variable for it. - Link the DLL: Ensure
libgreio-tcp.dll
is properly linked to your project to prevent runtime errors. - Firewall Check: Confirm that both Storyboard and Visual Studio are allowed through the firewall.
Conclusion
This setup demonstrates how to establish Storyboard IO communication over TCP between a PC and a Toradex Verdin. It should also work for similar hardware platforms that support TCP-based communication. Please be sure to adjust the IP address as well as the paths to match your system configuration
0
Comments
Please sign in to leave a comment.