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的應用

相關文章