“智能家居”IOT WebSocket - > Server WebSocket - >客户

时间:2018-01-20 12:33:57

标签: javascript node.js user-interface server iot

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

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

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

希望它能说明我想要做的事情。

我计划的设置地图: enter image description here

1 个答案:

答案 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.htmlhttps://www.w3schools.com/nodejs/nodejs_filesystem.asp