繁体   English   中英

“智能家居”物联网WebSocket --> 服务器WebSocket --> 客户端

[英]“smart home” IOT WebSocket --> Server WebSocket --> Client

我正在开发一些“智能家居”物联网的东西,我想要做的是使用 websocket 将我的物联网设备连接到我的服务器,并将我的服务器作为“根节点”并让它托管 GUI,然后将客户端连接到服务器也使用 WebSocket。

目前,我正在使用 ESP8266-01 开发门传感器,目前我正在工作的是托管在 ESP 01 上的 GUI 网站,然后我使用 WebSocket 从我的客户端(通过路由器)直接连接到它,效果很好从传感器被触发到它在 GUI 中更新时有效地具有“零”延迟,但我想要的是传感器被触发它连接到我的服务器,它承载 GUI,然后它也使用 WebSocket 连接到客户端并仍然保持“零”延迟。

所以我的问题是我应该在服务器端做什么? 因为当前它非常简单,它只是一个 HTML 网页和 javaScript,当我将我的客户端连接到 ESP 时,它会发送数据,但是如果我想要一个始终连接到 IOT 设备的服务器,记录数据并更新 GUI 而无需客户端直接连接到物联网设备,我该怎么做?

希望我正在尝试做的事情有意义。

我计划设置的地图: 在此处输入图片说明

您的传感器发送数据,这些数据可以存储在服务器上,即在您的智能手机(“客户端”)未连接到服务器时记录到服务器上的文件中。 为此,您需要访问可以通过节点文件系统模块获得的文件系统

代码示例在Socket io/node js 服务器中 - 将字符串保存到服务器上的 txt 文件

首先你得到文件系统库:

var fs = require('fs');

然后,您可以像这样输出:

fs.writeFile("log.txt", stringText, function(error) {
    if(error) throw error; // Handle the error just in case
    else console.log("Success!");
}); 

stringText是您从套接字接收到物联网设备的数据

那么你的服务器上就有一个记录数据的文件(你也可以插入时间戳,......)当客户端(智能手机)再次连接时你可以处理它

( https://nodejs.org/api/fs.html , https://www.w3schools.com/nodejs/nodejs_filesystem.asp )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM