物聯網曾被認為是繼計算機、互聯網之后,信息技術行業的第三次浪潮。隨著基礎通訊設施的不斷完善,尤其是 5G 的出現,進一步降低了萬物互聯的門檻和成本。
物聯網本身也是 AI 和區塊鏈應用很好的落地場景之一,各大云服務商也在紛紛上架物聯網平臺和服務。
在 AI 和區塊鏈的熱潮過去之后,物聯網很有可能成為下一個風口,在風口到來之前,提前進行一些知識儲備,是很有必要的。
縱觀人工智能的發展路線我們可以看到,人工智能近年來之所以能夠突飛猛進。
第一個原因是硬件的發展,使得深度學習神經網絡的學習時間迅速縮短;
第二就是數據,在我們這個大數據的時代,獲取大量數據的成本已經很低了。
再來說物聯網,像傳感器、智能家電、可穿戴設備等,每天也都在產生著巨量的數據,這也是反饋給深度學習良好的訓練數據。
同時,學習的結果又可以再應用到物聯網的終端,形成一個良性的循環。舉個例子:
從交通探頭我們可以采集到大量的交通實時圖片,經過處理之后,喂給神經網絡,比如 SSD。
SSD 學會在圖片中標注出人和汽車的位置,然后再把模型部署到探頭端,探頭就可以利用深度學習的接口,來實時地分析人流和車流情況了。
所以我認為物聯網是 AI 落地的一個非常好的應用場景,隨著 AI 的迅速發展,物聯網這個同樣在很多年前就提出的理論和技術,也會迎來新的春天。
如果想入門物聯網,學習和了解 MQTT 協議是非常必要的,它解決了物聯網中的一個最基礎的問題,設備和設備之間,設備和云端服務之間,是怎么通訊的。
MQTT 之于物聯網,就好像 HTTP 之于 Web 那么重要。目前基本所有開放云平臺比如阿里云、騰訊云、青云等都支持 MQTT 的接入。
MQTT 是什么?
MQTT,全稱為 Message Queue Telemetry Transport。在 1999 年,由 IBM 的 Andy Stanford-Clark 和 Arcom 的 Arlen Nipper 為了一個通過衛星網絡連接輸油管道的項目開發的。
之后 IBM 一直將 MQTT 作為一個內部協議在其產品中使用,直到 2010 年,IBM 公開發布了 MQTT 3.1 版本。在 2014 年,MQTT 協議正式成為了 OASIS(結構化信息標準促進組織)的標準協議。
隨著多年的發展,MQTT 協議的重點也不再只是嵌入式系統,而是更廣泛的物聯網(Internet of Things)世界了。
MQTT 的優點
為了滿足低電量消耗和低網絡帶寬的需求,MQTT 協議在設計之初就包含了以下一些特點:
1. 實現簡單
2. 提供數據傳輸的 QoS
3. 輕量、占用帶寬低
4. 可傳輸任意類型的數據
5. 可保持的會話(session)
MQTT 協議可以為大量的低功率、工作網絡環境不可靠的物聯網設備提供通訊保障。
而它的應用范圍也不僅如此,在移動互聯網領域也大有作為:很多 Android App 的推送功能,都是基于 MQTT 實現的,也有一些 IM 的實現,是基于 MQTT 的。
MQTT 為什么如此輕量且靈活?
MQTT 發布和訂閱模型
簡單來說是因為 MQTT 協議有以下特性:
基于 TCP 協議的應用層協議;
采用 C/S 架構;
使用訂閱/發布模式,將消息的發送方和接受方解耦;
提供 3 種消息的 QoS(Quality of Service): 至多一次,最少一次,只有一次;
收發消息都是異步的,發送方不需要等待接收方應答。
雖然 MQTT 協議名稱有 Message Queue 兩個詞,但是它并不是一個像 RabbitMQ 那樣的一個消息隊列,這是初學者最容易搞混的一個問題。MQTT 跟傳統的消息隊列相比,有以下一些區別:
1. 在傳統消息隊列中,在發送消息之前,必須先創建相應的隊列;在 MQTT 中,不需要預先創建要發布的主題(可訂閱的 Topic);
2. 在傳統消息隊列中,未被消費的消息總是會被保存在某個隊列中,直到有一個消費者將其消費;在 MQTT 中,如果發布一個沒有被任何客戶端訂閱的消息,這個消息將被直接扔掉;
3. 在傳統消息隊列中,一個消息只能被一個客戶端獲取,在 MQTT 中,一個消息可以被多個訂閱者獲取,MQTT 協議也不支持指定消息被單一的客戶端獲取。
一個物聯網老兵的經驗之談
我從 2015 年開始帶領團隊在物聯網領域創業,從物聯網軟硬件平臺的架構到實現,從上線運營到盈利,中間走過一些彎路,也踩過一些坑。
同時,我在社區、論壇、QQ 群里面也經常看見一些剛剛接觸 MQTT 的同學在問各種問題。
我曾經在網絡上面也搜索過 MQTT 相關的內容,發現系統介紹 MQTT 協議的內容很少,要么是翻譯協議的 Specification,要么是單獨實現某一個功能的教程。只教其然,未教其所以然。
所以我總結了自己的實踐經驗,以及我看到的大家常遇到的問題,寫了這一門課程,系統地介紹 MQTT 協議,希望對學習 MQTT 的同學有所幫助。
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752141 -
物聯網
+關注
關注
2904文章
44306瀏覽量
371459 -
MQTT
+關注
關注
5文章
649瀏覽量
22439
原文標題:MQTT,物聯網圈的 HTTP,萬物互聯第一步
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論