【以下的问题经过翻译处理】 我使用RPi3B和Python。 https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html - 我在“在消息负载中发布JSON文档”部分。我创建了pubsub3.py并更改了代码行:... message = "{}".format(message_string)。教程说要将这行代码更改为... message = "{}".format(args.message),但我的pubsub.py中却有.format(message_string)变量。
MQTT测试客户端以字符串文字形式显示,无法正确解析/格式化为json格式。
我尝试了各种引号、断点和括号的组合(“\ ' { ]”)。从我看到的东西来看,它应该将负载作为json字符串发送...
命令行:
pi3@raspberrypi:~ $ python3 aws-iot-device-sdk-python-v2/samples/pubsub3.py --message '{"temperature":40}' --count 1 --topic pi3/battery1/data --endpoint...
pubsub3.py:
message = "{}".format(message_string)
print("Publishing message to topic '{}': {}".format(message_topic, message))
message_json = json.dumps(message)
mqtt_connection.publish(
topic=message_topic,
payload=message_json,
qos=mqtt.QoS.AT_LEAST_ONCE)
time.sleep(1)
终端:
发送1个消息
将消息发布到主题“pi3/battery1/data”:“{“temperature”:40}”
从主题“pi3/battery1/data”接收到的消息:b'"{\"temperature\":40}"'
MQTT测试客户端:
pi3/battery1/data 2022年12月01日,美国东部时间11:59:52
"{temperature: 40}"