Tutorial on making an ESP32 ROS Companion, that uses serial communication to read values from an isolated computer and sends to the ROS network via wifi for a ROS enabled computer to get access.
- ROS Noetic
- ESP32 Arduino framework
rosserialpackageros_libArduino library- python for serial communication (or anything that talks via serial)
- Computer as ROS Master
- Isolated computer
- ESP32 dev board and USB cable
- Wi-Fi router
The code provided in this repo can be used to test a simple application. The objective is to iteratively read a 6DOF pose data on a Python code, sending it through serial and then encapsulating it as a PoseStamped message to a topic in the ROS network via Wi-Fi. The following chart shows the flow of data in a sample case of 3 computers in a ROS network.
flowchart TD;
A[Isolated
Computer] -->|Serial| B(ESP32);
B --> |Wi-Fi|C{Router};
C <-->|Wi-Fi| D[ROS computer A];
C <-->|Wi-Fi| E[ROS computer B];
C <-->|Wi-Fi| F[ROS computer C];
python3 send_serial_esp32.pyroscorerosrun rosserial_python serial_node.py tcpCompile and upload the project serial2roswifi.