如何解决Azure IoT:无法将 ESP8266 设备连接到 IoT Edge证书错误 下游设备ESP8266配置边缘设备配置ESP8266 日志
我能够使用 python 示例成功连接到我创建的 IoT Edge。但是,相同的配置不适用于我的实际下游设备(ESP8266)。
下游设备(ESP8266)配置
我为 ESP8266 使用以下示例:https://github.com/Azure/azure-iot-arduino/tree/master/examples/esp8266/iothub_ll_telemetry_sample
// DEVICE_CONNECTION_STRING
HostName=iot-edge.leister;deviceid=wemosd1mini;SharedAccessKey=XXXXXXXXX=
// CERTIFICATE
// same certificate as in python example (content of file azure-iot-test-only.root.ca.cert.pem)
static const char edgeCert [] =
"-----BEGIN CERTIFICATE-----\r\n"
...
"-----END CERTIFICATE-----\r\n";
IoTHubDeviceClient_LL_Setoption(device_ll_handle,OPTION_TRUSTED_CERT,edgeCert);
边缘设备配置
我根据文档配置了一个 raspBerry pi(使用文章中提到的演示证书)https://docs.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway?view=iotedge-2018-06
我可以使用命令 openssl s_client -connect iot-edge.leister:8883 -CAfile "C:\Users\micha\Desktop\azure-iot-test-only.root.ca.cert.pem" -showcerts
结果:验证返回代码:0(确定)
ESP8266 日志
Creating IoTHub Device handle...
Sending message 1 to IoTHub...
dowork TLSIO_STATE_opening_WAITING_SOCKET
dowork TLSIO_STATE_opening_WAITING_SSL
Error opening socket 0
Calling error callback
The device client has been disconnected
Error: failure opening connection to endpoint
我无法使用相同配置连接到我的 IoT Edge,将 ESP8266 作为下游设备。
可以在此处找到更多详细信息:https://github.com/Azure/azure-iot-sdk-c/issues/1902
解决方法
终于成功了。 将硬件从 ESP8266 切换到 ESP32 并运行(相同代码),没有任何问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。