2024-10-06 11:44:45 发布
网友
我必须使用MQTT协议编写一个python程序来订阅主题thingspeak.com网站把它显示在树莓派的屏幕上。 我找到了关于将消息和字段提要发布到的官方帮助/文档thingspeak.com网站,但它们不提供有关如何订阅主题的任何信息,例如主题字符串的形式是什么,该主题字符串包含哪些内容等。 有人知道这件事吗?在
根据Thingspeak文档:“Thingspeak只支持使用MQTT发布到通道。”(https://www.mathworks.com/help/thingspeak/mqtt-api.html),所以目前我不认为有一种方法可以订阅通道。这似乎使它们的MQTT实现有点无意义,但是如果您绝对需要使用它来发布数据,那么它仍然可以工作。在
如果需要,您可以使用pythonapi(https://pypi.python.org/pypi/thingspeak/0.4.1)实现thingspeaktomqtt桥。我使用这个API将几个传感器连接到我的更大的MQTT网络,它工作得很好。在
我的意思是:
import paho.mqtt.client as mqtt import time import thingspeak from ast import literal_eval MQTT_BROKER = MQTT_PORT = MQTT_TOPIC = THINGSPEAK_CHANNEL = THINGSPEAK_API = UPDATE_INTERVAL = client = mqtt.Client() client.connect(MQTT_BROKER, MQTT_PORT) client.loop_start() while True: thing = thingspeak.Channel(THINGSPEAK_CHANNEL, THINGSPEAK_API) n = literal_eval(thing.get_field_last(field='1')) client.publish(MQTT_TOPIC, n) time.sleep(UPDATE_INTERVAL)
请注意,这段代码纯粹是为了说明问题,我是从头开始写的,没有修改。它还没有经过测试。但希望它能让你走上正确的道路。在
只是更新:ThingSpeak确实支持订阅频道的可能性:https://nl.mathworks.com/help/thingspeak/use-desktop-mqtt-client-to-subscribe-to-channel-updates.html
只需注意,您需要使主题完全正确,才能使te subscribe正常工作
主题类似于channels/[channel_id]/subscribe/json/[api readkey]
将[channel_id]替换为您的channel id 和[api readkey]和该通道的api read key
您必须使用用户名登录,并传递一个mqtt密钥,您可以在ThingSpeak站点上的account>;my profile>;mqttkey下设置。在
根据Thingspeak文档:“Thingspeak只支持使用MQTT发布到通道。”(https://www.mathworks.com/help/thingspeak/mqtt-api.html),所以目前我不认为有一种方法可以订阅通道。这似乎使它们的MQTT实现有点无意义,但是如果您绝对需要使用它来发布数据,那么它仍然可以工作。在
如果需要,您可以使用pythonapi(https://pypi.python.org/pypi/thingspeak/0.4.1)实现thingspeaktomqtt桥。我使用这个API将几个传感器连接到我的更大的MQTT网络,它工作得很好。在
我的意思是:
请注意,这段代码纯粹是为了说明问题,我是从头开始写的,没有修改。它还没有经过测试。但希望它能让你走上正确的道路。在
只是更新:ThingSpeak确实支持订阅频道的可能性:https://nl.mathworks.com/help/thingspeak/use-desktop-mqtt-client-to-subscribe-to-channel-updates.html
只需注意,您需要使主题完全正确,才能使te subscribe正常工作
主题类似于channels/[channel_id]/subscribe/json/[api readkey]
将[channel_id]替换为您的channel id 和[api readkey]和该通道的api read key
您必须使用用户名登录,并传递一个mqtt密钥,您可以在ThingSpeak站点上的account>;my profile>;mqttkey下设置。在
相关问题 更多 >
编程相关推荐