So, I’m working on a project where I have connected all my peripherals to the Raspberry Pi Model 3 B. Since the Pi is not that powerful (in terms of computation) compared to the Tx1 board, I’m planning to run a client (Tx1)- server(Raspberry Pi) based system where the server collects the data on command and sends the data to my client and then the client does the processing and sends it to a Mobile App that my team is building. Please guide me on the steps and resources required.
Thanks in Advance
If it is a small amount of data and does not need to be fast, then serial UART is one way. More data (which means needing to be faster to keep up) would probably be best over wired ethernet.
Hi @linuxdev ,
Firstly Sorry for the late reply and thank you for your solution.
It would be really great if you could attach some guide or docs as i could follow them step by step i.e. from attaching them via GPIO or UART / Wired Ethernet to running a command from Tx1 board and execution on the PI .
PS: I’m kinda new in IoT and Edge computing so to begin with I’m referring to Docs/ Articles as it is.
You would still need to give more details on how much data needs to transfer and how fast, basically to pick something practical. GPIO is in general not up to more than very simple tasks or low speed IMHO. Serial UARTs are far from fast, but I believe it is simple to use and reliable to a point. Ethernet means socket programming, but basics are not hard to learn. Simplest of all of them is serial UART.
In the case of a serial UART, once the UART is set up (and often defaults work), operation is just opening the device special file like an ordinary file for read and write. That’s as simple as it gets. What you do with the data, and the source of data to read and write, is up to you.
There are also utilities which you can use to “pipe” through ethernet, e.g.,
nc (“netcat”). This is fast, but might add latency. You might or might not care about latency. If the amount of data doesn’t require this, then a serial UART is easier to work with.
Note that UART implies talking to hardware very physically close, but ethernet won’t care.
The kind of data i need to transfer from the Pi to Jetson Board are:
- Video Stream / Images to run inference on.
- Temperature and humidity Values (double values).
- Soil moisture and flame status (flame sensor and soil moisture sensor) basically booleans .
The initial module was just temperature and other values (not images) which does not involve much of computation just an if else would do the work when it comes to computation so i was thinking about Serial UART.
But for image, I kinda need to pass the image to a model to run inference and send result back to the Pi so i was kinda thinking whether UART would be just fine or Ethernet would work as well.
The domain of the project is EDGE-AI so the device needs to be placed in a location far from my reach and i will have to access it remotely so considering that i’m also worried about how well the jumper wires are gonna stay.
A video stream and/or images will likely require ethernet. Serial UART will be far too slow, and USB will require complicated programming, or else a steep learning curve working with the USB “gadget” interface. Socket programming has a number of tutorials available, and isn’t actually too hard. Just stick to TCP sockets. Serial UART is good for control and simple text, but won’t be able to handle video. Ethernet will also give you more reliable data pipes (UARTs and USB have length limitations, and are more subject to simple issues).
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.