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:
 
  1. 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).
  2. 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.
  3. Link the DLL: Ensure libgreio-tcp.dll is properly linked to your project to prevent runtime errors.
  4. 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

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post