使用Micropython将ESP8266连接到IBM Watson
问题描述:
我设法使用Micropython 1.9.2将ESP01连接到在我的计算机上运行的mosquitto broker。我还设法模拟了一台设备,并将蚊子客户端从我的电脑连接到Watson Broker。但是,当我尝试将ESP直接连接到沃森我收到 “连接被拒绝” 的消息使用Micropython将ESP8266连接到IBM Watson
MQTTException: 5
# Full stream answered by Watson is: b' \x02\x00\x05'
我的配置参数:
- WATSON_CLIENT_ID = “d:ORG]:ESP8266:fv_esp01s_02”
- WATSON_BROKER_IP = “[ORG] .messaging.internetofthings.ibmcloud.com”
- WATSON_USER = “使用令牌-AUTH”
- WATSON_PWD = b “的[TOKEN]”
正如我所说,在Watson中,我创建了定义的“TLS可选”并配置了该设备。我测试了与蚊子客户端的连接,它工作。
任何帮助都超过欢迎!,最好!
答
我找到了答案看着umqtt.simple代码版本(在MQTT库esp8266)
答案是,在umqtt例子有一个使用hexlify(CLIENT_ID),我跟着标准:
client = MQTTClient(client_id=hexlify(MQTT_CLIENT_ID), server=MQTT_BROKER_IP, user=MQTT_USER, password=MQTT_PWD)
显然mosquitto经纪人理解这一点,但不是沃森IBM经纪人。改为:
client = MQTTClient(client_id=MQTT_CLIENT_ID, server=MQTT_BROKER_IP, user=MQTT_USER, password=MQTT_PWD)
解决了这个问题。沃森变量格式如下:
- CLIENT_ID =字节
- MQTT_BROKER_IP(或URL)=串
- MQTT_USER =串
- MQTT_PWD =字节
,请注意话题/消息格式。
最好!
“在umqtt示例中建议的方式” - 您能指出umqtt示例中存在这种“建议的方式”吗? umqtt的例子就是例子,你需要调整它们来为你工作。客户端ID没有“建议的方式”。 – pfalcon
嗨。不知何故,我到达这个例子,并作为参考。 https://github.com/micropython/micropython-lib/blob/master/umqtt.simple/example_sub_led.py 然后我认为hexlify()是一种实践。 – Francisco
更新了答案。谢谢pfalcon。 – Francisco