2017-04-19 79 views
0

我試圖讓MQTTtoROS橋的工作,我不斷收到此錯誤:msgpack-蟒蛇未能反序列化 - >而額外獲得錯誤

Traceback (most recent call last): 
    File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner 
    self.run() 
    File "/usr/lib/python2.7/threading.py", line 754, in run 
    self.__target(*self.__args, **self.__kwargs) 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 2627, in _thread_main 
    self.loop_forever(retry_first_connection=True) 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 1407, in loop_forever 
    rc = self.loop(timeout, max_packets) 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 923, in loop 
    rc = self.loop_read(max_packets) 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 1206, in loop_read 
    rc = self._packet_read() 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 1799, in _packet_read 
    rc = self._packet_handle() 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 2275, in _packet_handle 
    return self._handle_publish() 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 2461, in _handle_publish 
    self._handle_on_message(message) 
    File "/home/animu/.local/lib/python2.7/site-packages/paho/mqtt/client.py", line 2615, in _handle_on_message 
    t[1](self, self._userdata, message) 
    File "/home/animu/catkin_ws/src/mqtt_bridge-master/src/mqtt_bridge/bridge.py", line 114, in _callback_mqtt 
    ros_msg = self._create_ros_message(mqtt_msg) 
    File "/home/animu/catkin_ws/src/mqtt_bridge-master/src/mqtt_bridge/bridge.py", line 124, in _create_ros_message 
    msg_dict = self._deserialize(mqtt_msg.payload) 
    File "msgpack/_unpacker.pyx", line 143, in msgpack._unpacker.unpackb (msgpack/_unpacker.cpp:2143) 
ExtraData: unpack(b) received extra data. 

我不能在互聯網上找到它的任何東西,因爲這座橋是我猜不常用的。唯一類似的問題是在鹽和卡夫卡,但解決辦法無處可尋。所有的python庫都是最新的,我再次檢查。網橋將消息從RoS發送到MQTT,沒有任何問題,包括STR和BOOL類型。從MQTT發送的任何消息最終都會出現此錯誤,並且沒有ROS的接收。

回答

0

它有點晚了,但我會給未來的讀者一些建議。 首先,確保你已經安裝了橋的所有要求。其次,編輯mqtt_bridge配置文件以匹配來自ROS的主題和來自您的MQTT服務器的主題。也是MQTT服務器的IP地址/端口。 就是這樣。