介紹
最近物聯網應用一直很火,也打算做一些這方面的嘗試,就邊學邊做在家花了2天時間做了一個簡單demo,功能很簡單,使用emq x 作為mqtt broker,用python寫了一個定時抓取主機CPU利用並發布消息,用微信小程序和VUE客戶段訂閱消息並實時監控CPU使用情況,場景非常的簡單,就是一個訂閱/分發的過程,使用任何的MQ產品都能實現,但不同的mqtt協議相對與其它的mq產品更輕量級,同時也是專為物聯網應用設計的,所以用起來更方便.隨便也把過程遇到的一些問題說明一下,也可以讓想了解和嘗試的小伙伴有一個參考.
先看一下做出來的效果
總之使用mqtt協議做起來就是快,簡單!
開發環境准備
這次demo使用的大多數組件都是國產開源的產品,國產軟件進步非常大.
開發工具:vs code,微信小程序開發工具
運行環境:python 微信小程序 ,vue
組件:
mqtt broker(emqx broker) 基礎版免費開源 https://www.emqx.io/ 非常好用,功能也非常強大,網上都能找到很完善的文檔
antv/f2 https://f2.antv.vision/en 圖表組件,echarts感覺千年不變的樣式有點lower,還是阿里產品好,雖然參數都差不多,但是還是有差別,很難一個人都能完全掌握,要做圖表我就選antv了
mqttjs https://github.com/mqttjs js mqtt 客戶端
paho-mqtt 安裝 命令 conda install -c sci-bots paho-mqtt mqtt python 客戶端
apscheduler 安裝 命令 conda install -c conda-forge apscheduler python 客戶端
源代碼
代碼就不貼了,可以自己分去下載
https://github.com/neozhu/mqtt_tutorial https://github.com/neozhu/mqtt_tutorial.git
問題&解決
小小的總結
mqtt在多種終端之間實現實時通訊確實非常方便,特別是物聯網這塊.
作為一名.net程序員,開發VUE,微信小程序確實有點力不從心,特別是對UI布局調整,一個頁面有70%-80%時間花費在了頁面布局上.
pyhon確實好用,資源感覺比c#還多,但還是不熟練,特別是模塊化開發還真不知道如何是好.
開來2020年必須要轉型做全棧開發了.