如何在 nodemcu 上使用 tls 协议 lua

how to use tls protocol on nodemcu lua

最近在研究esp8266模块。 该模块上的固件为 nodemcu 0.9.6,其语言为 lua。 我在我的项目中使用 mqtt 协议并且它有效 well.But TLS 是必要的。 我不知道如何在此固件上设置 tls。我已经搜索过了,但是 nodemcu 网站上关于 TLS 的文档对我来说还不够。

我知道我应该在连接代理时使用这条指令:

m:connect(BROKER, 8883, 1 , function ( connection ) ... end ) 

为了将 CA 文件放在模块上,我应该使用这样的东西:
enter image description here

这是我从 nodemcu 网站上读到的 --> https://nodemcu.readthedocs.io/en/master/en/modules/net/#netcertverify

但问题是当我在我的代码中使用它时,模块不理解它并在上传时和运行时给出错误。
这个问题是因为我的固件版本吗?升级会成功吗?或者我只是在我的代码上做错了什么? 我还没有看到关于将 CA 文件放在其他项目的模块上的示例代码,所以我猜我的工作是错误的。
如果你在 TLS 上工作过(在 nodemcu 固件上),我会很高兴得到你的帮助。

  • Build 启用了 SSL/TLS 的最新固件。
  • Flash the binary to upgrade。确保所有闪烁参数与文档中的完全一致,并包括初始数据二进制文件。

你的其余代码似乎没问题。

看看 并通读答案的评论。

您可能需要从最新的 SDK 获取 esp_init_data_default.bin。

我使用了 esptool。

esptool.py --port <PORT> write_flash -fm dio -fs 32m 0x00000 <BIN_PATH_AND_FILENAME> 0x3fc000 <PATH\>esp_init_data_default.bin

如果觉得有用,请点赞。为@MarcelStör 竖起大拇指。