我在ubuntu上使用eclipse paho客户端并尝试将纬度,经度和时间戳信息作为JSON格式发送到MQTT代理。我该怎么做?
我找到this article,但它不完整。
答案 0 :(得分:14)
您只需要将JSON对象创建为字符串,然后在该字符串上调用getBytes()以获取字节数组以用作消息中的有效负载。
MqttMessage message = new MqttMessage();
message.setPayload("{foo: bar, lat: 0.23443, long: 12.3453245}".getBytes());
client.publish("foo", message);
答案 1 :(得分:5)
我不知道这件事,但我用他的:
#!/usr/bin/python
import json
import paho.mqtt.client as mqtt
send_msg = {
'data_to_send': variable1,
'also_send_this': variable2
}
client.publish("topic", payload=json.dumps(send_msg), qos=2, retain=False)
答案 2 :(得分:0)
如果您使用的是 JavaScript,则可以使用:
client.publish("foo", JSON.stringify({"foo": bar, "baz": 123})) // on sender side, and
JSON.parse
在接收端。