这些天我正在研究esp8266模块。 该模块上的固件是nodemcu 0.9.6,其语言为lua。 我为我的项目使用mqtt协议,它运行良好。但是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固件上),我会很乐意为您提供帮助。
答案 0 :(得分:2)
其余代码似乎没问题。
答案 1 :(得分:0)
查看this question并阅读答案的评论。
您可能必须从最新的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
如果您认为它有用,请进行upvote this post。竖起大拇指@MarcelStör。