MQTT工作原理:
1、MQTT協議實現方式實現
MQTT協議需要:客戶端和服務器端MQTT協議中有三種身份:發佈者(Publish)、代理(Broker)(服務器)、訂閱者(Subscribe)。其中,消息的發佈者和訂閱者都是客戶端,消息代理是服務器,消息發佈者可以同時是訂閱者。MQTT傳輸的消息分爲:主題(Topic)和負載(payload)兩部分Topic,可以理解爲消息的類型,訂閱者訂閱(Subscribe)後,就會收到該主題的消息內容(payload)payload,可以理解爲消息的內容,是指訂閱者具體要使用的內容
2、網絡傳輸與應用消息
MQTT會構建底層網絡傳輸:它將建立客戶端到服務器的連接,提供兩者之間的一個有序的、無損的、基於字節流的雙向傳輸。當應用數據通過MQTT網絡發送時,MQTT會把與之相關的服務質量(QoS)和主題名(Topic)相關連。
3、MQTT客戶端一個使用MQTT協議的應用程序或者設備,它總是建立到服務器的網絡連接。
客戶端可以:發佈其他客戶端可能會訂閱的信息訂閱其它客戶端發佈的消息退訂或刪除應用程序的消息斷開與服務器連接
4、MQTT服務器MQTT服務器以稱爲“消息代理”(Broker),可以是一個應用程序或一臺設備。它是位於消息發佈者和訂閱者之間,它可以:接受來自客戶的網絡連接接受客戶發佈的應用信息處理
在智慧小屋中:
1、
以上是一個交互過程。
2、智慧小屋中應用到室內溫溼度傳感 器、室外溫溼度傳感器、PM2.5 傳感器(使用 CO2 傳感器替代)、可燃氣體傳 感器、土壤溼度傳感器、光敏傳感器,發佈相應主題的傳感器數據,推送數據給訂閱了智能小屋主題數據的客戶端。傳感信號是輸入信號,由 Arduino 模塊進行採 集,數據採集後,由無線模塊EMW3080進行傳輸,在小屋實例中,我們採用了 WiFi 通過 AP 進行傳輸的方式,以MQTT協議形式,通過公網傳送到阿里雲平臺端。