我正在尝试使用paho mqtt客户机订阅carriots数据流。但我无法读取卡里奥特的任何数据。 下面是我用来订阅carriots的源代码。你知道吗
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Client paho-mqtt CarriotsMqttServer
# sub_carriot.py
import paho.mqtt.subscribe as mqtt
class CarriotsMqttClient():
host = 'mqtt.carriots.com'
port = '1883'
auth = {}
topic = '%s/streams'
tls = None
def __init__(self, auth, tls=None):
self.auth = auth
self.topic = '%s/streams' % auth['username']
if tls:
self.tls = tls
self.port = '8883'
#Subscribe
def subscribe(self):
try:
mqtt.simple(topics=self.topic, msg_count=10, hostname=self.host, port=self.port, auth=self.auth, tls=self.tls)
except Exception, ex:
print ex
if __name__ == '__main__':
auth = {'username': '72cdf4ec......bbeec9d9fb4483e', 'password': ''}
client_mqtt = CarriotsMqttClient(auth=auth)
client_mqtt.subscribe()
有人能告诉我,如果有什么错误的代码或我错过了一些步骤,这是需要订阅cariots流。你知道吗
在carriots网站上给出的参考代码的帮助下,我能够使用paho mqtt在carriots上成功发布。你知道吗
mqtt.simple
函数阻塞,直到收到msg_count
消息,然后返回这些消息。你知道吗因此,您所拥有的代码将一直等待,直到它接收到10条消息,然后它可能会退出而没有任何输出,因为没有任何东西可以收集函数返回的消息。你知道吗
我建议您考虑使用普通的订阅方法,使用回调和网络循环。像这样:
相关问题 更多 >
编程相关推荐