我正在开发一些“智能家居”IOT的东西,我想要做的是让我的IOT设备使用websocket连接到我的服务器并将我的服务器作为“根节点”并让它托管GUI然后拥有客户端也使用WebSocket连接到服务器。
目前我正在使用ESP8266-01开发一个门传感器,我现在正在工作的是在ESP 01上托管的GUI网站,然后我从我的客户端直接连接到它(通过路由器< / em>)使用WebSocket它非常有效地从传感器被触发到在GUI中更新时具有“零”延迟,但我想要的是传感器被触发它连接到我的服务器它主持GUI然后它也使用WebSocket连接到客户端,并且仍然保持“零”延迟。
所以我的问题是我应该在服务器端做什么?因为当前它非常简单,它只是一个HTML网页和javaScript,当我将我的客户端连接到ESP然后它发送数据,但是如果我想要一个始终连接到IOT设备的服务器记录数据并更新GUI而没有客户端直接连接到物联网设备,我该怎么做?
希望它能说明我想要做的事情。
答案 0 :(得分:0)
您的传感器发送数据,这些数据可以存储在服务器上,即在智能手机(“客户端”)未连接到服务器时记录到服务器上的文件中。为此,您需要访问可通过节点文件系统模块
获得的文件系统代码示例在 Socket io / node js server - save string to txt file on server
首先获得文件系统库:
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
是您从套接字接收到IoT设备的数据
然后你的服务器上有一个记录数据的文件(你也可以插入时间戳......),你可以在客户端(智能手机)再次连接时处理
(https://nodejs.org/api/fs.html,https://www.w3schools.com/nodejs/nodejs_filesystem.asp)