用python來做物聯網裝置(六)-websocket服務端

用python來做物聯網裝置(六)-websocket服務端

既然是物聯網裝置,當然要萬物互聯,我選擇websocket作為ESP32與伺服器的通訊方式。使用websocket的好處很多,特別是可以保持長連線,至於websocket協議與通訊方式不做太多涉及。

我選擇websockets庫作為PC服務端的開發外掛,這個專案在github的星數有2。4k,那就說明這個專案足夠優秀才會有這麼多人使用:

用python來做物聯網裝置(六)-websocket服務端

在電腦使用pip安裝websockets,輸入pip install websockets:

用python來做物聯網裝置(六)-websocket服務端

開啟專案的文件地址:

https://websockets。readthedocs。io/en/stable/intro。html

,參照server demo和client的demo:

用python來做物聯網裝置(六)-websocket服務端

用python來做物聯網裝置(六)-websocket服務端

執行一下:

用python來做物聯網裝置(六)-websocket服務端

用python來做物聯網裝置(六)-websocket服務端

PC端主要是執行server,那來規劃下我們的資料傳輸,我準備使用Json格式來傳遞資料,我們先使用最簡單的方式來實現通訊:

1、client資料格式:{“type”:”1”,”data”:{”t”:”26。3”,”h”:”69”},”state”:”1”}

用python來做物聯網裝置(六)-websocket服務端

2、服務端資料格式:{“state”:”1”,”o”:”update”}

用python來做物聯網裝置(六)-websocket服務端

暫時就這樣,我們來更新下程式碼,PC主要執行服務端,重點改變下服務端:

用python來做物聯網裝置(六)-websocket服務端

將client改為:

用python來做物聯網裝置(六)-websocket服務端

執行一下:

用python來做物聯網裝置(六)-websocket服務端

用python來做物聯網裝置(六)-websocket服務端

我們看到執行情況,基本可以跑通,接著就是在ESP32實現websokce client,我們的ESP32構建的物聯裝置就可以實現將資料上傳到伺服器,在服務端增加資料儲存到資料庫,我們就基本實現了一個數據的上傳與儲存。