Advice for micro-ROS ethernet project
I am working on a measurement device project based on a STM32G4 which is currently not based on ROS at all. Due to future changes to implement the device in a larger quantity in an array configuration, I am considering using micro ROS for network and data managing and to improve the scaling.
Since I am completely new to ROS as well as TCP/IP (Ethernet over twisted pair) on uController I wanted to ask for advice or stupid design mistakes commonly done. My imagination is to connect 10-20 devices using 10Base-T, including a host computer, porting the existing code base (based on FreeRTOS) to uRos.
My questions:
Which uCon is best suited for this task? I have a lot of experience with STM, however I dont have any knowledge about the compatibility with ethernet. Is it as simple as just adding a ethernet IC? The ESP32 does support wireless however is it more compatible then STM chips with ethernet? (https://github.com/micro-ROS/micro_ros_setup here it is written, that the esp32/uRos is not compatible with ethernet)
Do I need to use specific ethernet ICs compatible with uROS? Do I need to copy the layout of the olimax STM32-E407? For our project a custom PCB is necessary due to space constrains.
Are there some exemplary project (other then https://github.com/husarion/micro_ros_stm32_template)?
I guess UART is not really feasible for 10 - 20 devices since I need to connect them all individually to the host PC, or can they be interconnected so in total only a single UART connection is necessary? (Due to the environment of my project wireless is a no go)
Asked by Olgidos on 2023-07-27 04:14:40 UTC
Answers
You're asking for advice, so lucky for me there is no wrong way to asnwer this. In your situation, I would likely start by finding a port of FreeRTOS that includes the TCP/IP and see if the HW intended for that port will support uROS and decide if uROS is really important to your end goals or not. I'm not familiar with uROS but guess it is no more complicated than developing a reliable stack for network connection. In the end what you need is a reliable networked system of sensors. You don't need ROS, so focusing on ROS upfront seems like a mistake.
Asked by billy on 2023-07-30 14:43:12 UTC
Comments