我对 MQTT 协议很陌生,如果我的问题听起来很愚蠢,我很抱歉。我正在从设备发布图像,当我在 CLI 上订阅它时,我可以看到一些不是二进制格式的字符。所以我的问题是,当发布图像时,默认情况下它会转换为 ASCII 格式然后发送,还是以 ASCII 格式或其他格式接收?
我给出的发布命令是:
mosquitto_pub --cafile /home/pi/nirupama/rootCA.pem --cert /home/pi/nirupama/certificate.pem --key /home/pi/nirupama/private.pem -h xxxxxxxxxxxxxx.iot.us-west- 2.amazonaws.com -p 8883 -q 1 -d -t $aws/things/raspberry-pi/shadow/update -i mqtt_test -f /media/webcam/picture.jpg
订阅命令是:
mosquitto_sub --cafile /home/pi/nirupama/rootCA.pem --cert /home/pi/nirupama/certificate.pem --key /home/pi/nirupama/private.pem -h xxxxxxxxxxxxxx.iot.us-west- 2.amazonaws.com -p 8883 -q 1 -d -t $aws/things/raspberry-pi/shadow/update -i mqtt_test1
JP Mens 在 MQTT 邮件列表上回答了这个问题: https://groups.google.com/forum/#! topic/mqtt/MIwf0-Bi9yM
答案是二进制协议中的 MQTT 及其有效负载不会转换为 ASCII 或任何其他文本格式。您确实应该能够发送二进制图像有效负载而不会损坏。
| 归档时间: |
|
| 查看次数: |
2305 次 |
| 最近记录: |