如何通过mqtt代理从字典发送数据

时间:2017-03-22 15:34:35

标签: python dictionary mosquitto

基本上我有两个覆盆子pi,我想要一个发布从python文件中的字典中获取的数据,另一个是订阅这个字典数据。抱歉,如果这是一个非常乏味的问题,但我在互联网上找不到任何有关此问题的信息。

2 个答案:

答案 0 :(得分:0)

如果你还没有这样做,我建议你阅读一本基本的MQTT教程。这将有助于您确定您的主题和数据应该是什么样的。

为了帮助您入门,以下是您如何发布和订阅用例的示例。 发布者可以遍历字典中的键并将数据发布到主题" keys / $ key_name"消息是字典中该键的值。

订阅者可以订阅主题" keys /#"。这样订户将获得所有密钥和相应的数据并重建字典。

根据字典中数据的性质,还有很多方法可以发布数据。

答案 1 :(得分:0)

如果你想直接从Host A上的python脚本发送一个字典到主机B上的python脚本,就有办法。

  1. 将字典转换为字符串。
  2. 将字符串作为有效负载从Host A发送给代理。
  3. 使用主机B订阅代理并接收有效负载。
  4. 使用ast.literal_eval()评估字符串,然后将其转换回字典。
  5. 如果说明不清楚,我可以发布一些示例代码。

    我可能会使用JSON或多个主题,但上述过程将起作用。