如何从几个 ESP8266 向网络服务器发送连续数据?

物联网 MQTT ESP8266 网络套接字
2021-06-25 08:44:34

我是 ESP8266 板和物联网编程的新手,如果没有图片,我不知道如何更好地描述我想做的事情。

问题:如何将连续数据从 4 个 esp8266 WiFi 客户端发送到网页或并行处理所有这些客户端的应用程序,而不会产生明显的延迟?

所以,我需要 4 个客户端(用户),每个客户端都有一个带有 3 个传感器(模拟/数字传感器)ESP8266 ESP-12E NodeMcu CP2102板。这些节点应该发送连续数据或至少比人类平均反应时间(即 250 毫秒)更快。例如,这些客户端应该像多人在线游戏中的玩家一样表现。或者我不知道,也许像 4 个 WiFi 游戏控制器。

我需要系统反应灵敏(在显示数据时没有明显的延迟)。例如,如果 User4 触摸 Sensor3(它也可以是一个简单的按钮),网页/应用程序应该立即感知到这一点,同时仍然显示/处理来自其他用户的数据。这就是为什么我想将数据作为长字符串发送到网页或应用程序(C# 应用程序或 Android 应用程序)的原因,即使某些用户处于非活动状态或者他们的传感器输入在帧期间没有变化。

Sensor1 可以是脉冲传感器,Sensor2 可以是麦克风,sensor3 可以是按钮或触摸传感器。没关系,我还没有决定。

我的问题是我不知道如何解决这个问题。我做了一些 WebSockets 教程和一个 MQTT 教程,但我仍然非常非常困惑。我不知道这是否可能。

我遵循的一个 WebSocket 教程是这个(我还在代码中发现了一些错别字):https :
//esp8266-shop.com/blog/websocket-connection-between-esp8266-and-node-js-server/

MQTT 教程:https ://esp8266-shop.com/blog/configure-mqtt-runing-on-esp8266-for-home-automation/

1400mAh 锂电池

3.7V 至 5V @ 2A DC-DC 升压转换器

多个 ESP8266 发送连续数据流

1个回答

MQTT 可能是正确的答案。

每个 ESP 都可以发布到具有类似主题结构的代理:

client1/sensor1
client1/sensor2

然后,您可以使用 Websocket 上的 MQTT 订阅所有主题(单独的每个主题或使用#通配符)。

由于来自传感器的每条消息都到达其自己的主题,因此您可以使用该主题来确定要更新页面的哪一部分。

对于桌面或移动应用程序,您可以使用原生 MQTT 或通过 Websockets 的 MQTT