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

Patricia Arquette
發布: 2024-10-19 06:10:31
原創
311 人瀏覽過

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

遠端系統整體架構如下:
使用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

以上是使用swoole作為基於ESP6的腳本可程式控制器的雲端物聯網閘道框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!