Bluetooth communication problem with arduino over rosserial_arduino and rosserial_python
Hi,
I am using an Arduino Uno in combination with a Sparkfun Bluetooth Mate Gold modem to interface with my ROS hydro framework running on a host. The communication is established with the rosserial_python node on the host and the rosserial_arduino code uploaded to the Arduino. When I upload the blink_led example described in this tutorial, I get the following error after running the rosserial_python node on the host:
[ERROR] [WallTime: 1395914292.667126] Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client
[INFO] [WallTime: 1395914292.667822] Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)
The error is usually thrown after a few seconds, before the error is thrown everything works fine and I can blink the LED. I already tried the following measures without success:
- Set a baudrate of 115200 instead of 57600 on the host side, the bluetooth modem and the Arduino UART.
- Compile the rosserial code from source instead of using the latest debian binaries (results in a different error complaining about unexpected message lengths).
- Recompile the ros_lib library in the Arduino sketchbook.
- Increase the delay times in the Arduino code.
- Remove all subscribers in the Arduino code and just init the node.
When I try to run the system over bluetooth, the modem is connected to the TX/RX pins of the arduino (TX to RX, RX to TX) and the USB cable removed. When I disconnect the bluetooth modem from the Arduino and connect the Arduino over a USB cable to the host, everything runs fine.
Can anyone help me with this issue?