【发布时间】:2016-03-11 21:02:21
【问题描述】:
我有 2 个 nodeMCU 模块,我想将它们连接到 MQTT 代理并每 5 秒发送一些数据。
我想要实现的拓扑类似于 [router]
看起来 [nodeMCU#1] 是一个 wifi 扩展器,但在工作中,我们计划使用多个 nodeMCU 以类似网格的方式用于 IoT 应用程序。
我使用 nodeMCU-flasher 从这里 https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150704 下载了最新的(浮动)版本。
为此项目编写了 2 个 lua 脚本,我已使用 ESPlorer 将它们上传到模块中。
对于第一个模块,它以 STATIONAP 模式连接到我的工作 wifi,并使用 SSID nodeMCUwifi 创建自己的网络,基本密码为 10 个字符“1234567890”。连接后,脚本会向 MQTT 主题发送随机值。
对于第二个模块正确连接到nodeMCUwifi,它被分配了一个IP地址,但它无法连接到MQTT代理。
当我尝试使用我的智能手机连接到 nodeMCUwifi 时(只是为了测试连接,我无意使用这个系统来处理繁重的互联网负载,只有 MQTT 消息)我收到一条消息“发生身份验证错误”,即使我有正确输入了密码,或者(在极少数情况下)它连接但立即断开连接。
如果有任何解决此问题的想法,我将不胜感激。谢谢。
编辑:在 AP 配置中,我将 auth 参数设置为 3,我在下面粘贴了我的一部分代码。
cfg.ssid="ESP8266_"..node.chipid();
cfg.pwd="1234567890"
cfg.auth=3
wifi.ap.config(cfg);
现在我的笔记本电脑和智能手机连接到模块创建的 wifi,但仍然无法连接到互联网。我可以 ping 模块,但我无法 ping 8.8.8.8 或 MQTT 代理 IP 或其他任何东西。
【问题讨论】:
-
您应该尝试的第一件事是不要使用任何过时的二进制版本,而是自己构建固件。见github.com/nodemcu/nodemcu-firmware/issues/788 和github.com/nodemcu/nodemcu-firmware/issues/719。
-
将 SOFTAP 的信标间隔增加 3000 毫秒
-
@MertGülsoy 我仍然面临同样的问题
-
@MarcelStör 你能给我一个可靠的链接,告诉我如何得到固件的二进制文件吗?
标签: lua wifi esp8266 nodemcu esplorer