簡體   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