lwIP TCP/IP 協議棧筆記之二十一: 百度天工物和阿里雲物聯 IOT接入平臺

目錄

1. 百度天工物接入

1.1 物接入簡介

1.2 使用 IOT HUB

1.2.1 創建項目

1.2.2 創建策略

1.2.3 創建身份與創建用戶

 1.2.4 MQTT 軟件測試連接

1.2.5 MQTT 軟件測試連接 

1.2.6 IOT HUB的規則引擎和數據可視化

2. 阿里雲物聯

2.1 使用阿里雲物聯

 2.2 MQTT FX連接測試

 2.4 阿里雲物聯的規則引擎


1. 百度天工物接入

1.1 物接入簡介

物接入(IoT Hub)是面向物聯網領域開發者的全託管雲服務,通過主流的物聯網協議(如MQTT)進行通信,可以在智能設備與雲端之間建立安全的雙向連接,快速實現物聯網項目。支持億級併發連接和消息數,支持海量設備與雲端安全可靠的雙向連接,無縫對接天工平臺和百度雲的各項產品和服務。物接入分爲設備型和數據型兩種項目類型,我們在這裏使用數據型項目類型,傳輸一些溫溼度數據,同時可以無縫對接時序數據庫TSDB、物可視等,將數據實時顯示出來,同時我們採用MQTT 協議與雲端進行通訊。

1.2 使用 IOT HUB

最好的使用指導莫過於官方幫助文檔,因此,在此簡要說明。

詳見官方文檔:https://cloud.baidu.com/doc/IOT/index.html

在使用物接入服務前,必須要創建一個百度雲賬號用於管理我們的設備,所有的設備信息都是在雲端後臺進行管理的,地址:https://console.bce.baidu.com/iot2/hub/

在使用IoT Hub 之前應先創建計費套餐並設定每個月收發消息的流量額度,每個用戶只能創建一個計費套餐,所有項目將共享該套餐的額度,目前IoT Hub 的計費是很便宜的,每個月的前1000000 條消息是免費的,更多的消息數量請自行參考IoT Hub 的收費說明。

登錄後主界面

1.2.1 創建項目

IoT Hub 是用於物聯網設備的後臺管理的,將設備接入IoT Hub 的第二步就是創建一個項目,每個項目會對應一個接入點(endpoint),一個項目就表示一個完整的物接入服務,首先登錄物接入控制檯頁面:https://console.bce.baidu.com/iot2/hub/project/list,點擊“創建項目”,填寫需要創建 IoT Hub 服務的項目名稱、選擇項目類型爲數據型,並提交即可,創建的項目,默認具有多種通信方式,我們暫時只關注TCP 連接方式即可,採用MQTT 協議與雲端交互的,端口號是1883 。

補充說明一點:通過項目可以將不同項目的設備進行隔離和管理,一個項目下允許有多個用戶(設備),用戶與身份進行綁定,而每個身份需要綁定一個策略,而策略下可以創建多個不同的主題,因此一個設備可以訂閱多個不同的主題,並且同一個項目下的主題是共享的,所有的設備均可進行訂閱。

1.2.2 創建策略

點擊“endpoint01”,進入項目裏面,首先創建一個策略(簡單來說就是主題),輸入對應的名稱與主題,選擇發佈與訂閱權限,當創建完成後,項目下的設備就可以訂閱這個主題。

1.2.3 創建身份與創建用戶

身份是設備連接IoT Hub 的重要途徑,這裏麪包含了祕鑰,標識着設備能否通過IoT Hub 的驗證,這也是安全保障的主要操作,首先點擊“身份列表”,再點擊“創建身份”,然後根據自己的信息進行填寫,在這裏要注意的是需要勾選密碼驗證,再選擇之前我們創建的策略進行綁定(如果沒有則必須創建),當身份創建完成時候生成的祕鑰是用於開發板連接IoT Hub 的必要條件,記住不能丟失,如果丟失了就找不回來了,在創建的時候就把它保存好。

 

 在創建用戶的時候,只需要把用戶名設置好,然後再綁定身份即可,這樣子一個設備就對應到雲端了,並且可以向策略中設置的主題發佈消息和訂閱主題.

當所有的東西都創建完成,我們點擊身份操作中的“測試連接”,在網頁上測試一下我們能不能正常進行MQTT 通信、發佈與定閱主題,在頁面中輸入剛剛保存的祕鑰,點擊“connect”進行連接測試,如果前面的步驟全部做完,並且祕鑰是正確的 ,就可以發現我們的連接是正常的,然後我們訂閱一下之前創建策略時候的主題名字,再向這個主題發送一個消息,消息的內容由自己定義.

 1.2.4 MQTT 軟件測試連接

MQTT.fx 是一款基於Eclipse Paho,使用Java 語言編寫的MQTT 客戶端工具,支持通過Topic 訂閱和發佈消息。打開軟件,點擊設置,來配置客戶端的基本信息,填寫用戶名與密碼,進行連接.

官方下載鏈接:http://mqttfx.jensd.de/index.php/download

配置完成之後,可以嘗試連接,點擊Connetc,當連接成功後,下面的Publish 與Subscribe 等選項是可以選擇的,那麼我們點擊訂閱選項Subscribe,輸入訂閱的主題,然後點擊subscribe,可以發現已經成功訂閱 。

但是此時還未有消息,因此我們需要去Publish 選項中向這個主題發佈消息,當發佈成功後,訂閱的主題就會回顯出服務器發送給客戶端的消息。

1.2.5 MQTT 軟件測試連接 

不做太多說明,可以參考MQTT移植及JSON,數據通過JSON發到IOT HUB。

1.2.6 IOT HUB的規則引擎和數據可視化

什麼是規則引擎?簡單來說就是一箇中間層,它在軟件上的實現能省去很多if/else 等判斷的嵌套。但是我們現在說的IoT Hub 規則引擎是爲了讓業務邏輯更加清晰,從海量的物聯網數據篩選出適合的數據,並將其進行儲存、轉發、彙報等操作,讓業務規則也變得更加簡單,因爲在物聯網中,數據量是非常巨大的,業務規則更是多種多樣,IoT Hub 規則引擎就是需要將海量的數據與千奇百怪的業務規則變得簡單,以適應業務規則的多樣性,我們只需要在後臺設置一些規則,就能讓數據產生不同的作用。而物聯網產品會產生大量的數據上報到雲端,這些數據往往對應着不同的應用分析場景,如監控廠區的溫度溼度監控點,每分鐘都會有溫度和溼度數據傳往雲端,對於這些數據,我們往往希望它們發揮不同的作用,並且實時性要非常好,以便在出現問題的時候第一時間能得到告警作用,例如以下應用場景:

1. 實時告警異常的數據,如溫度溼度過高或者過低;

2. 分析數據,統計兩個小時內的溫度最大最小和均值等;

3. 將全部的數據做冷備份以便查詢;

4. 對去除異常數據之後的正常數據做數據分析和預測等等。

而規則引擎就是通過靈活的設定規則,將設備傳上雲端的數據,送往不同的數據目的地(如監控告警設備、時序數據庫TSDB、Kafka、對象存儲BOS 等)以達到不同的業務目標。

詳細使用見官方文檔。

數據可視化,顧名思義,瞭解一下,詳細見官方文檔。

2. 阿里雲物聯

既然懂得專門連接百度天工物接入,那麼連接阿里雲物聯其實也是一樣的,因爲都是基於MQTT 協議進行通信的,首先打開阿里雲物聯:https://iot.console.aliyun.com/product,創建賬號並登陸,而且阿里雲物聯是需要通過實名認證才能使用的。相對於百度天工物接入,阿里雲物聯的安全性更好,因爲即使是客戶端連接服務器都需要各種驗證,還使用哈希加密算法進行加密。

2.1 使用阿里雲物聯

首先在“產品”信息中創建一個產品,每個產品下允許有多個設備,產品就是設備的集合,通常是一組具有相同功能定義的設備集合。例如:產品指同一個型號的產品,設備就是該型號下的某個設備。操作步驟“創建產品”->“高級產品”->填寫產品信息,聯網方式選擇“以太網”,這樣子一個產品就創建完成。

然後在“設備”選項中添加一個設備,比如我們添加一個“dev_temp_hum”設備,是開發板的溫溼度數據採集設備,在創建完成後,會有設備證書,這個一定要保存好,丟失了就找不回來了 .

最後我們定義一個主題(Topic 類列表),讓設備能對這個主題進行訂閱或者發佈操作,回到“產品”選項,選擇“Topic 類列表”,定義“Topic 類列表”,再填寫“Topic 類列表”的信息即可,注意選擇設備的操作權限“發佈和訂閱”,這點很重要,如果沒有權限,設備是無法對這個主題進行操作的,至此,一個產品與設備就創建完成了,當然,爲了更好調試,我們可以嘗試創建多個設備,以備在後續進行調試。 

 2.2 MQTT FX連接測試

在創建完成後,可以通過MQTT 軟件來測試一下能否正常連接,在這一步之前必須已在物聯網平臺控制檯中創建產品和設備,並獲取設備證書信息(ProductKey、DeviceName和DeviceSerect)。

參數看起來很簡單,但是它的組成卻不簡單,簡單介紹,詳細見官方文檔。

小工具鏈接:https://download.csdn.net/download/xiewinter/11838002

把信息全部填寫完畢,可以測試連接,點擊Connect,然後在訂閱選項Subscribe 中,輸入訂閱的主題“/a1MZHjK2SCF/fire_temp_hum/user/temp_hum”,這個主題可以在“設備”選項中的“Topic 列表”得到,然後點擊subscribe,可以發現已經成功訂閱,然後對這個主題進行發佈操作,我們就能看到訂閱已經收到發佈的消息,表明MQTT 通信成功 .

 2.4 阿里雲物聯的規則引擎

與百度的規則引擎作用是一樣的,可以將收到的消息進行不同的業務處理,比如我們也利用規則引擎監控開發板的穩定數據。首先,打開規則引擎設置頁面:https://iot.console.aliyun.com/rule/list,點擊創建一個規則,填寫基本的規則信息,並且選擇數據的格式是JSON 格式.

詳情見官方文檔。在此不做贅述。

鏈接阿里雲例程:https://download.csdn.net/download/xiewinter/11838011

注:隨着IOT 發展,各種物聯平臺很多,但大同小異。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章