How to Send data as JSON objects over to MQTT broker
我在 ubuntu 上使用 eclipse paho 客户端并尝试将纬度、经度和时间戳信息以 JSON 格式发送到 MQTT 代理。我该怎么做?
我找到了这篇文章,但它并不完整。
您只需将 JSON 对象创建为字符串,然后对该字符串调用 getBytes() 以获取字节数组以用作消息中的有效负载。
1
2 3 |
MqttMessage message = new MqttMessage();
message.setPayload(“{foo: bar, lat: 0.23443, long: 12.3453245}”.getBytes()); client.publish(“foo”, message); |
- 您最好使用 String.getBytes(StandardCharsets.UTF_8) 因为如果您不指定字符集,它将使用您的平台默认值,可能不是 UTF-8(JSON 通常是 UTF-8)
我不知道,但我用他的:
1
2 3 4 5 6 7 8 9 10 11 |
#!/usr/bin/python
import json import paho.mqtt.client as mqtt
send_msg = { client.publish(“topic”, payload=json.dumps(send_msg), qos=2, retain=False) |
如果您使用的是 JavaScript,则可以使用:
1
|
client.publish(“foo”, JSON.stringify({“foo”: bar,”baz”: 123})) // on sender side, and
|
JSON.parse 在接收端。
来源:https://www.codenong.com/23947779/