Я пытаюсь соединиться с Azure IoT-Hub с MQTT и отправлять и получать сообщения.Python paho-MQTT соединение с azure IoT-Hub
Я после официальной документации, предоставленной here
Но всегда получают отсоединен с кодом результата: 1, хотя он никогда не идет в on_connect функции. Но если я попытаюсь опубликовать его вне функций (прокомментированная строка после строки подключения), она войдет внутрь метода on_publish.
deivce Я использую здесь моделируемый устройство я создал в сюите Azure IoT
Вот код, я использую
from paho.mqtt import client as mqtt
def on_connect(client, userdata, flags, rc):
print "Connected with result code: %s" % rc
client.subscribe("devices/MyTestDevice02/messages/devicebound/#")
client.publish("devices/MyTestDevice02/messages/events", "Hello World!")
def on_disconnect(client, userdata, rc):
print "Disconnected with result code: %s" % rc
def on_message(client, userdata, msg):
print " - ".join((msg.topic, str(msg.payload)))
client.publish("devices/MyTestDevice02/messages/events", "REPLY", qos=1)
def on_publish(client, userdata, mid):
print "Sent message"
client = mqtt.Client("MyTestDevice02", mqtt.MQTTv311)
client.on_connect = on_connect
client.on_disconnect = on_disconnect
client.on_message = on_message
client.on_publish = on_publish
client.username_pw_set(username="USERNAME.azure-devices.net/MyTestDevice02",
password="SharedAccessSignature=SharedAccessSignature sr=USERNAME.azure-devices.net%2fdevices%2fMyTestDevice02&sig=xxxxxx5rRr7c%3d&se=1492318301")
client.tls_insecure_set(True) # You can also set the proper certificate using client.tls_set()
client.connect("USERNAME.azure-devices.net", port=8883)
#client.publish("devices/MyTestDevice02/messages/events", "Hello World!")
client.loop_forever()
Любая помощь приветствуется. И я не хочу использовать sdk, поэтому я пытаюсь опубликовать его напрямую.
Спасибо, но я не могу найти сертификаты CA. Можете ли вы, пожалуйста, пройти через процесс, или может быть ссылка, объясняющая это. – aladeen
Я сгенерировал и связал сертификат с моей подпиской на лазурную подписку, ссылаясь на эту ссылку [https://www.veritas.com/support/en_US/article.TECH217325) И в tls_set() я дал путь к расположение сертификата на моей локальной машине, и он бросает ошибку «проверка сертификата не удалась» – aladeen