」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 使用swoole作為基於ESP6的腳本可程式控制器的雲端物聯網閘道框架

使用swoole作為基於ESP6的腳本可程式控制器的雲端物聯網閘道框架

發佈於2024-11-09
瀏覽:545

腳本可程式控制器的本機功能基本上已完成,開始實現遠端相關功能。

遠端系統整體架構如下:
使用ESP8266的SDK實作tcp伺服器和tcp客戶端。
在tcp伺服器的基礎上編寫http協議解析程式碼,設計簡單的http伺服器,處理與瀏覽器的資料交互,包括內建網頁的下載,並使用ajax技術獲取狀態並保存資料。

使用html、js、css設計網頁並下載儲存到ESP8266模組的flash中,結合後端c語言的資料處理,實現基於網頁的腳本程式設計、狀態檢視、參數設定等功能;

雲端伺服器端,購買了一台linux雲端伺服器主機,選擇swoole作為TCP/IP通訊閘道;

Swoole是適用於生產環境的PHP非同步網路通訊引擎,讓PHP開發者能夠編寫高效能非同步並發TCP、UDP、Unix Socket、HTTP、WebSocket服務。

在Swoole框架中實現tcp伺服器和websocket伺服器,其中tcp伺服器用於連接控制器和雲端,控制器的tcp客戶端與雲端伺服器的tcp伺服器建立TCP長連接,以便從互聯網獲取資料可透過TCP連接遠端傳送給控制器,實現對控制器的遠端控制;

遠端網頁使用websocket客戶端與Swoole的websocket伺服器建立長連接,實現雲端伺服器與網頁之間的遠端穿透,從而可以將控制器的狀態即時推送到網頁顯示時間;

websocket伺服器和tcp伺服器之間的資料透過記憶體共享,PC、網頁和控制器都有唯一的編號,PC主機、控制器和網頁之間的資料封包以這個編號為來源目的位址, tcp伺服器和websocket伺服器收到資料封包後依目的位址轉發,實現PC上的資料傳輸。 tcp伺服器和websocket伺服器收到資料封包後,根據目的位址進行轉發,從而實現PC工具、網頁和控制器之間的資料互聯。

採用redis作為記憶體資料庫,可將控制器的狀態資料暫時儲存在資料庫中,實現電話異常警報等功能,而採用mysql作為永久資料庫,儲存一些設定資料。

Use swoole as the IOT gateway framework in cloud for script programmable controller based on ESP6

Use swoole as the IOT gateway framework in cloud for script programmable controller based on ESP6

版本聲明 本文轉載於:https://dev.to/zhangzhuyue/use-swoole-as-the-iot-gateway-framework-in-cloud-for-script-programmable-controller-based-on-esp8266-c8b?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3