ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

STM32 communication with ROS via ethernet AND Serial

asked 2018-08-31 07:22:02 -0600

ManNeedsHelp gravatar image

Hi! I'm trying to develop a system where I can communicate from my ROS workstation to an STM32 board via ethernet (TCP or UDP doesn't matter so much), and from there, process the same message from the UART back to the computer. I've managed to flash this STM 32 package onto the board, but I have no idea how to actually send messages to it? It seems like an excellent tool but perhaps isn't beginner-friendly.

I've also looked into using rosserial but I wouldn't even know where to start. I feel as though it's somewhat simple, the end product is a linux computer, which can send a string via ethernet (TCP or UDP) to the board, which sends a string (via serial) back to the computer.

I've lastly looked into whether it would be as simple as just setting up multiple machines but i wouldn't even be able to tell you whether it's applicable to this application.

I have the ethernet cable and the serial to USB connection back to the computer. If someone would be able to even point me in the right direction I would be incredibly grateful! :)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-09-16 09:52:11 -0600

canderson gravatar image

From my experience, you should probably use the rosserial package that you referenced, rather than relying on this 3rd party firmware for the STM32 (as an aside your link seems to be broken).

There are plenty of examples online for how to set up UART communication to the STM32, so you would need to build your firmware for this side of the application. On the STM side, try setting up something like this. You'd need to figure out which pins map to the PCB ethernet component attached to your stm.

On the ROS side, things are a lot easier if you just use the python interface on your linux machine. This will handle sending messages to/from the embedded device, so you only have to interface with your embedded device via ROS messages.

The multiple machines package you linked is for linux computer to another linux computer and therefore isn't what you are looking for.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2018-08-31 07:22:02 -0600

Seen: 1,529 times

Last updated: Aug 31 '18