IOT相關協議
self發表於2018-10-14
MQTT協議的入門
- 入門教程;
- 釋出/訂閱(Pub/Sub)模式,方便訊息在感測器之間傳遞;
- 這意味著釋出者和訂閱者之間並不需要直接建立聯絡;
訊息型別
- MQTT擁有14種不同的訊息型別:
- CONNECT:客戶端連線到MQTT代理
- CONNACK:連線確認
- PUBLISH:新發布訊息
- PUBACK:新發布訊息確認,是QoS 1給PUBLISH訊息的回覆
- PUBREC:QoS 2訊息流的第一部分,表示訊息釋出已記錄
- PUBREL:QoS 2訊息流的第二部分,表示訊息釋出已釋放
- PUBCOMP:QoS 2訊息流的第三部分,表示訊息釋出完成
- SUBSCRIBE:客戶端訂閱某個主題
- SUBACK:對於SUBSCRIBE訊息的確認
- UNSUBSCRIBE:客戶端終止訂閱的訊息
- UNSUBACK:對於UNSUBSCRIBE訊息的確認
- PINGREQ:心跳
- PINGRESP:確認心跳
- DISCONNECT:客戶端終止連線前優雅地通知MQTT代理
市面上有很多的MQTT代理
- mosquitto是一個開源的輕量級的C實現,完全相容了MQTT 3.1和MQTT 3.1.1;
- MQTT(MQ Telemetry Transport),訊息佇列遙測傳輸協議,輕量級的釋出/訂閱協議,適用於一些條件比較苛刻的環境,進行低頻寬、不可靠或間歇性的通訊;
- mosquitto-MQTT協議的開源實現;
- 非同步釋出, 非同步訂閱;
MQTT和CoAP哪個最可能成為未來物聯網通訊標準協議
- 知乎上的一些討論;
- 最簡單的IOT架構:Device+MQTT+APP,如果不儲存資料的話。需要資料持久可以是:Device+MQTT+Web/APP+DB(NoSQL/NewSQL/BigData/Lambda)+APP;
- BAT將MQTT作為IM/IOT共享的接入服務了;
- MQTT還有一點:長連線;
- CoAP在功耗方面有優勢,不過隨著物聯網裝置特別是網管的計算能力加強,這點應該不是主要矛盾;
- ESP8266(自帶wifi的微控制器);
MQTT的應用