2017-01-22 52 views

回答

0

至於使用的node.js被concenrned,有一個重量輕MQTT服務器莫斯卡(http://mosca.io)和客戶端MQTT JS(https://github.com/mqttjs/MQTT.js

MQTT如下發布 - 訂閱消息傳送模式。你只需要在一端有經紀人(兩端)。

選項1:
有你的web應用,並在其上MQTT客戶端(樹莓PI運行)中的主題publish消息一起運行的代理服務器將認購

選項2:
如果樹莓派是唯一的靜態設備,只需運行一個代理(MQTT服務器)就可以了,並且publish消息來自webservice

替代選項:
如果您的消息不需要極高的吞吐量,只需使用websockets即可。儘管它們並不像MQTT(輕量級協議)那麼快,但Websocket提供了良好的雙向通信,特別是如果您的任何組件連接到或依賴於http接口。

事實上MQTT的安全機制還不夠健全M2M通信中的WebSockets,而跟隨HTTP的安全機制(TLS ecnryption)

更新: 我用一句話誤導沒有很好地建立。我的意思是沒有簡單的協議外MQTT安全性(類似mqtts)
我知道這不是正確的說法。選項爲:

  1. 通過預分享證書使用基礎TCP安全性(SSL)。這是在許多設備和證書更新,或
  2. 使用這會危及到元數據,如主題的應用層安全的情況下疼痛,服務質量等

而且如果發佈不頻繁和有效載荷的WebSockets是唯一有用的並不是很大。

+0

您好,您能否提供一個關於「MQTT的安全機制在M2M中不完善」的參考文獻 – shachar

+0

我會指導您參閱此主題。檢查有效載荷加密的優點和缺點。主要問題是密鑰交換必須手動完成,因此客戶端密鑰庫安全性成爲一個重要問題。另外由於MQTT協議完全是主題,因此qos驅動,元數據不能被加密,這對於通過互聯網進行通信是不安全的。我正在爲我們的客戶實施IOT解決方案,我們正在使用zeromq和曲線加密,而不是MQTT http://www.hivemq.com/blog/mqtt-security-fundamentals-payload-encryption – user3151330

相關問題