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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)