如何解决Flutter 和物联网设备
我目前正在构建一个应用程序来控制单个执行器和 LED 灯条。执行器和 LED 灯条的控制器基于 ESP32。
在 ESP32 上,我使用 <ESPAsyncWebServer.h>
、<ESPAsyncWiFiManager.h>
设置 ESP 并将其连接到本地无线网络。在应用程序中,我想向 ESP 发送一些命令,例如 http://<ESP32_IP>/led_set?level=<level>
和
http://<ESP32_IP>/act_open
等等,这应该不是问题。
通常我会在 ESP 和 Flutter 应用程序中设置 mDNS,但是一些 ESP 控制器已经交付给客户。所以我正在寻找另一种识别 ESP 的方法。
目前我使用了 ping_discover_network 库并且 ESP 在端口 80 上显示正常。但是我无法将 ESP 与在端口 80 上显示的其他设备分开。
你们有什么建议吗?
提前致谢
解决方法
你没有很多好的选择。如果您只想在没有 mDNS 的情况下识别一些从您的手指中溜走的设备,您可以使用它们的 MAC 地址作为过滤器。如果您碰巧知道他们各自的 MAC 地址,那么这应该很轻松。否则,您必须寻找分配给乐鑫的 MAC OUI(通常为前 3 个字节)范围的设备。 Espressif 有多个 OUI 范围,但如果您的设备来自同一类型的同一批 ESP32 模块,它们将使用相同的 OUI,因此应该很容易弄清楚。
例如我的一批模块都以 40:F5:20:...
当然,如果第三方将他们的(不相关的)ESP32 模块安装到同一网络中,您也有机会识别它们,但这就是生活。
这显然是一种权宜之计。确保更多设备使用某些标识(mDNS 或其他方式)外出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。