我正在使用 ESP8266 构建物联网设备。该设备最终将包含几个电机,我想使用 MQTT 控制这些电机。我想让设备尽可能便宜,所以我想避免使用显示器和键盘之类的东西。
因此,当设备转动时,它应该连接到本地 WiFi,然后连接到 MQTT 代理。但是它如何知道要连接的本地 SSID,以及用户名和密码呢?由于设备没有显示器或键盘,因此无法输入这些东西。用户如何知道设备是否能够连接?对于故障排除,如果设备至少有某种方式来指示可能存在的问题,那就太好了。
我想到的解决方案是在设备上设置一个按钮和一个 LED。该按钮将被标记为“配置”或类似的。按下按钮后,设备将开始作为具有预定义 SSID 的 WiFi 接入点运行。它将有一个网络服务器,因此用户可以用笔记本电脑或手机连接到这个预定义的接入点,并输入本地网络设置(SSID、用户名和密码)以及 MQTT 代理的地址。LED 将用于指示操作模式,也用作错误指示。例如,当 LED 稳定发光时,一切都已连接,长闪表示处于配置模式,短闪表示存在错误或类似情况。
我的问题是,当涉及到这个问题时,我提出的解决方案是一种标准的做事方式吗?即用户会觉得它是一个熟悉的流程,还是有其他更好的方式?在做了一些搜索之后,我发现了这个,这似乎是一个类似的用户流程。是否仍然有兴趣听听您对此有何经验,以及您将如何解决?
如果事实证明这是解决此问题的好方法和有用的方法,并且由于它是一种通用解决方案,那么最好不要过多地重新发明轮子。我在想可能有一个图书馆可以做到这一切。该库将配置按钮的输入引脚和 LED 的输出引脚,然后处理其余部分。它可以基于PubSubClient库和教程ESP8266: Connecting to MQTT broker 构建。那么是否有一个图书馆可以做到这一点或类似的东西?如果没有,我会尝试创建自己的,但想先了解一下那里有什么。
谢谢!