rosserial Esp8266HelloWorld example does not work with UDP mode

asked 2018-10-13 18:51:50 -0500

Running 16.04/Kinetic/rosserial from current .debs I'm trying to use rosserial over WiFi with a Esp8266 module (a Wemos D1 Mini). The Esp8266HelloWorld.ino sketch works fine after entering correct WiFi credentials and server IP and I can connect using tcp mode using both

rosrun rosserial_python serial_node.py tcp

and

roslaunch rosserial_server socket.launch

with the latter sometimes not coming up correctly, if the D1 Mini hasn't been reset shortly before and also otherwise appearing to be less reliable than the Python implementation.

What I'd really like to do is use UDP however, but that does not work at all. Starting

roslaunch rosserial_server udp_socket.launch addr:=192.168.1.63

results in the following appearing via ROS_INFO:

rosserial_server UDP session created between 0.0.0.0:11411 and 192.168.1.63:11411

Nothing else happens afterwards. Is there anything else that needs to be done to make UDP work (for instance on the sketch side)? Pinging the device works, tcp mode works, so generally I'm positive that the network setup is ok.

edit retag flag offensive close merge delete

Comments

same issue.

bwp2019 gravatar image bwp2019  ( 2019-08-14 02:18:53 -0500 )edit

Im using Melodic with Rpi buster. I am able to communicate with D1 with USB. but for TCP it is not working. rosrun rosserial_python serial_node.py tcp this is not working. Basically it is not able to get the address from the serversocket.accept() call. also for the same ESP8266 code its printing ip=unset and then not connected. Need big time help.

jhilam gravatar image jhilam  ( 2022-06-28 17:21:03 -0500 )edit