首页 文章

Lua SSL证书和Azure Iot集线器

提问于
浏览
3

我正在尝试将我的NodeMCU ESP-12N连接到Azure IoT中心 .

我用这样的代码创建了客户端:

esp8266 = mqtt.Client(DEVICE, 240, USER, PASSWD)

调用esp8266时收到错误:connect

PANIC:调用Lua API时出现无保护错误(init.lua:127:ssl不可用)

当我以前连接我的Arduino时,使用SSL证书刷新Wi-Fi非常重要 . 但是我无法用NodeMCU做到这一点(或者更有权利说 - 不知道如何) .

我可以获得证书:

openssl s_client -showcerts -connect ArduinoDemoHub.azure-devices.net:8883

当我添加时(谢谢@MarcelStör提示,我之前尝试过net.cert.verify)

tls.cert.verify([[
-----BEGIN CERTIFICATE-----
MIIGsTCCBJmgADJKJFdWgAIQF5Koy/50vI3cQAAAAhAXjANBgkqhkiG9w0BAQsF
......
lz3ZDUcyzRgG6TRtA3SjASEUlJMt3f7xuI2nNpt8p5gy9pXuRw==
-----END CERTIFICATE-----
]])

tls.cert.verify(true)

我收到了另一个错误:

错误连接:-5

UPDATE :有another similar topic,我已经设定了时间,但仍然没有结果 .

UPDATE 2 :以下是我尝试使用的一些链接:

Use Azure IoT Hub without client libraries (MQTT)

Sending Device-to-Cloud (D2C) Messages

sankarcheppali gitHub with samples

这是官方链接Communicate with your IoT hub using the MQTT protocol,它告诉我们:

要直接使用MQTT协议,您的客户端必须通过TLS / SSL连接 . 尝试跳过此操作将因连接错误而失败 .

此链接还提供与旧代码示例不同的用户名:

{iothubhostname}/{device_id}/api-version=2016-11-14

3 回答

  • 3

    默认情况下,TLS / SSL在固件构建配置中为 dis . 在编译/构建固件之前,必须取消注释CLIENT_SSL_ENABLE in user_config.h .

    最简单的方法是在https://nodemcu-build.com使用 Cloud 构建器(由您真正使用)并选中TLS复选框 .

    此外, net 模块中的所有TLS / SSL相关函数(使用 net.cert.verify )都是前一段时间提取到 tls 模块中的 . 除非使用当前固件构建对 not 有令人信服的论据,否则我建议您尝试使用 dev 分支 . 在构建器中启用"TLS/SSL support"时,将自动获得 tls 模块 .

    更新:有关于Azure IoT中心和证书的好文章:Certificate between IoT hub and devices connection

  • 2

    我在Device Explorer的帮助下创建了SAS,它看起来像:

    SharedAccessSignature sr={your hub name}.azure-devices.net%2Fdevices%2FMyDevice01%2Fapi-version%3D2016-11-14&sig=vSgHBMUG.....Ntg%3d&se=1456481802
    

    该值设置为PASSWD变量 . 已将USER变量更改为:

    USER   = "MyAzureIoTHub.azure-devices.net/MyDeviceID/api-version=2016-11-14"
    

    并设置为false tls.cert.verify

    tls.cert.verify(false)
    

    现在工作:)

  • 0

    您可以参考以下两个库将NodeMCU ESP-12N连接到Azure IoT中心,可以在库管理器中搜索这两个库:

    • AzureIoTHubMQTTClient

    • AzureIoTProtocol_MQTT
      enter image description here

    安装后,您可以参考样品 .
    enter image description here

相关问题