如何将数据作为 JSON 对象发送到 MQTT 代理 | 珊瑚贝

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 = {
        ‘data_to_send’: variable1,
        ‘also_send_this’: variable2
}

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/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9765.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?