groove-x/mqtt_bridge

cant publish msg from qt mqtt to ros bridge

roboticsai opened this issue · 1 comments

When i publish /echo msg from qt mqtt app to the ros bridge, i'm getting error:
MQTT to ROS and get ERROR info unpack(b) received extra data.
Here is the function in qt qml application which is publishing the mqtt message with qtmqtt library:

int QmlMqttClient::publish(const QString &topic, const QString &message, int qos, bool retain)
{
    auto result = QMqttClient::publish(QMqttTopicName(topic), message.toUtf8(), qos, retain);
    return result;
}

@roboticsai
This is because mqtt_bridge deserialize data with msgpack.loads in default. You have to publish data with msgpack foirmat, or define custom deserializer and use it.

Further question is welcome. Good luck!!