coap和mqtt的協議除了考慮裝置的tcp/udp堆疊實現能力和對裝置的壓力之外,更加注重的考慮點是:
伺服器架構和開發成本;
應用本身資料流向,流量,頻率,持久的需求;
長連線還是短連線;
資料分享api的需求;
mqtt,基於tcp的
,其實就是ibm把伺服器間非同步通訊用的訊息佇列message queue(mq)中介軟體前置到iot接入而已。天生適合
多對多非同步
,後台應用
,以及即時通訊
(多客戶端對等)場景。不過就是約定了報文頭而已,用redis pubsub/mq也可以構建。
如果不需要儲存資料,最簡單的iot架構:
如果需要資料持久儲存,iot架構可以是:
coap,基於udp介面,參考http上的rest api,適合資料採集這種
多(裝置)對一(伺服器)
場景,系統架構類似於傳統web。但是由於coap udp不是面對連線的,所以方向控制需要高層構建協議。coap支援多播,也可以實現一對多場景,但是好像和mqtt不一樣。應該是區域網內的多播?了解的兄弟請提點一下。
但總的**架構迎來類似於傳統web:
。所以,不足之處就是資料必須流經db轉給第三方。當然,如果web內部有mq,可以通過rest api暴露給第三方。變成:
mqtt是非常流行的裝置的接入協議,包括ibm、亞馬遜、微軟的iot託管服務都有支援,而coap在這方面幾乎沒有露面的機會。感覺以下幾點是mqtt優於coap的主要原因:
對MQTT和CoAP的一些個人見解
mingdu.zhengatgmail dot com 首先,mqtt和coap沒有好不好的問題,只有適合什麼應用場景的問題。mqtt的特點是可以保持長連線,具有一定的實時性,雲端向裝置端傳送訊息,裝置端可以在最短的時間內接收到並作出響應,所以mqtt更適合需要實時控制的場合,更適合執行器。要保持長...
簡談awk和sed的區別
它們之間有很多相似點,但是同樣也各有各的特色,相似的地方是它們都可以匹配文字,其中sed和awk還可以用於文字編輯,而grep則不具備這個功用 使用awk,我們可以做以下事情 1,將文字檔案視為由字段和記錄組成的文字資料庫 2,在操作文字資料庫的過程中能夠使用變數 3,能夠使用數 算和字串操作 4,...
簡談Python中的 new 和 init
今天想跟大家談談有關python中的 new 和 init 的問題,其實這個問題對於我來說還是比較難的,想要徹底弄明白這兩個的區別的確不是一件容易的事情。下面就是我自己的一些簡單的看法。首先我們要明白一點的是,只有繼承於object的類,或者更準確的說,祖先類是object類才有 new 方法,其他...