阿里云IOT平臺介紹
介紹阿里云物聯網平臺的幾個功能以及優勢,物聯網的體系大致可以分為一下幾個方面

阿里云物聯網平臺的主要產品架構

主要分為 IOT Hub (負責設備的接入)設備管理 (管理設備的生命周期 物模型)規則引擎(進一步處理設備上傳的資料) 安全認證(所有設備在接入物聯網平臺時都需要鑒權資訊和安全認證)
阿里云物聯網平臺的主要功能分為

阿里云提供開源的多種平臺設備端代碼,






同時阿里云物聯網平臺還提供服務端訂閱訊息的功能

物聯網平臺基礎概念講解









MQTT協議中有 訂閱者 發布者 和代理 三個角色,
發布者將訊息發布給代理,代理負責將來自發布者的訊息進行存盤處理,并將這些訊息發送給訂閱者,
發布者和訂閱者通過不同的topic來進行訊息的雙向傳輸,設備可以往topic中發送訊息,也可以從topic訂閱訊息,
topic類是相對于產品的概念: 在產品下定義了topic類之后,產品下所有的設備都會自動生成相應的topic,
物聯網平臺通信的模式




物模型指將物理空間中的物體數字化,并在云端構建該物體的資料模型,在物聯網平臺中定義物模型即定義產品功能,完成功能定義后系統將自動生成該產品的物模型,物模型描述產品是什么,能做什么,可以對外提供哪些服務,物模型將產品功能型別分為3類 : 屬性 服務 和 事件 ,定義了這3類功能即完成了物模型的定義,

回顧課程場景,與之相對應的有 3個屬性 兩個事件 和3個服務


平臺提供設備拓撲關系管理服務,拓撲關系和設備連入物聯網的方式有關,需要注意的是網關具有子設備管理模塊,
平臺提供設備資料管理服務,可以看到最近一次的快造資料和歷史資料,
平臺提供設備韌體升級服務

資料上傳的方式有兩種

既然有Alink協議還需要透傳的原因

設備云端透傳的流程圖,上下行資料都是自定義的二進制格式資料,資料的決議作業由云端的腳本決議引擎完成,

平臺還提供服務端訂閱功能,以下是配置服務端訂閱后的流程,

當用戶訂閱topic之后,可以對設備資料進行處理和轉發

利用規則引擎進行資料轉發操作分為以下5種,

平臺提供多語言的設備端SDK



-----------------------第三章 基于STM32節點設備接入阿里云平臺
基于STM32的節點端介紹
使用Paho MQTT協議堆疊直連阿里云IOt 平臺 :適用于功能受限的設備
使用linkkit c-sdk 和 tls通過MQTT協議直連阿里云 iot平臺:適用于資源豐富的節點設備




STM32cubemx 中間件選擇和集成 功耗估計 工程初始檔案生成
STM32CubeProgrammer
可以讀取和燒寫STM32的片上閃存、選項位元組、片外存盤器等,
STM32CubeMonitor-power
可以實作監控MCU運行引數,并進行功耗測量
STM32cubemonitor-rf
cube擴展功能包一般是針對某個具體的應用,比如連接阿里云 I-cube 阿里云
X-CUBE I-CUBE


cubemx 5.1以插件的形式,將 IKS01A2板的驅動集成了,通過在cubemx的配置可以很方便的在任意帶有IIC介面的STM32上使用該擴展板,甚至進一步在任意STM32上使用 IKS01A2板上的傳感器,STM32CUBEMX的插件功能,如何把自己的驅動或者功能軟體做成插件匯入到cubemx中


韌體版本 EMW3080 v2.1.2 通用版本韌體包 解壓縮檔案后有兩個韌體包,一個是aii.bin(包括bootload),一個是ota.bin不包括bootload,可以通過串口或者jlink的swd進行更新

---------------------------------------第二節 使用Paho MQTT 客戶端協議堆疊直連阿里云IoT平臺
適用于資源受限的設備
以mqtt連接阿里云有兩種步驟流程:
1基于mqtt直連:按照阿里云iot平臺自定義的,對連接報文里引數的要求根據在IoT平臺所創建的產品設備的三元組資訊來拼接出報文引數,然后發送mqtt connect這個連接報文,每個設備由于三元組不同發出的連接引數都是不同的,這種方式可以帶 TLS或者不帶TLS連接,
2 基于http認證授權,首先設備端會向一個固定的https服務器發送請求,報文的引數會包含 三元組中的兩個資訊,在服務器回傳的引數中會包含下一步mqtt connect報文所需要的mqtt用戶名和密碼,mqtt地址和C證書等,現在介紹的是mqtt直連方式,如果想了解如何使用STM32基于http認證授權的方式來連接阿里云iot平臺 可以搜索 I-Cube-aliyun

使用Paho MQTT 客戶端協議堆疊直連阿里云IoT平臺

初始化完成之后,就在用戶終端等待用戶輸入歷程運行需要的用戶引數,包括 wifi熱點 設備三元組資訊,這兩類資訊如果事先已經燒到了MCU的flash,歷程會給出5秒的等待時間,如果5秒內沒有新的引數輸入則使用已存在mcu里的引數配置,如果mcu片上閃存沒有保存相關的資訊的話,就會一直等待,根據輸入的wifi熱點和設備三元組資訊代碼由此計算連接阿里云平臺的mqtt引數,并進行連接,連接成功之后,訂閱兩個訊息主題,溫度報警限制設定 和解除報警,以準備來自用戶服務器下發的對應訊息,

板子上電后有一個串口列印資訊,按下黑色復位按鈕,首次連接wifi需要按下藍色按鍵,進入wifi引數配置,用戶在此輸入自己wifi的熱點名稱和密碼,輸入完畢后引數會被保存在flash中固定的位置,如果之前未曾輸入則會一直等待用戶輸入,熱點連接成功之后下一步就是使用用戶自己的阿里云IoT平臺側引數進行MQTT連接,同樣首次連接用戶需要按下板上的藍色按鈕進入引數配置,分別是用戶使用 阿里云時候所在的 regionID ProductKey device name device secret,輸入完成后這些引數也會被保存在flash中,然后代碼根據阿里云平臺側要求的MQTT引數進行計算,關于regionID字串:阿里云服務在國內國外都開有多個區域,區域是指物理的資料中心,產品設備等資源創建成功后不能夠更換區域 regionID 字串查詢頁面 可以查詢,但是目前阿里云IoT服務僅在華東二站開通,因此需要輸入的regionID都是同一個,都是 cn-shanghai

阿里云IOT平臺連接成功后訂閱兩個主題,并每5秒上報當前的 溫濕度

節點連接阿里云IOT平臺成功后,可以看到該設備上線的綠色標記,從日志服務的上行訊息分析,也可以看到平臺每5秒左右收到來自設備發布的資訊,IoT平臺收到訊息后會通過http2協議轉發到用戶服務器上,后端應用把資料寫入到資料庫中,前端應用一方面可以看到設備是否上線的狀態,以及當前的溫濕度值都是和串口列印的一致,并且通過起止時間可以查詢這一段時間內的溫度和濕度的曲線值,在用戶的前端頁面用戶可以修改并下發給設備溫度報警閾值這個引數,

節點設備在串口列印的節點資訊,

步驟:
登錄阿里云->管理控制臺->產品與服務 物聯平臺
在這個新建一個基礎版的產品和設備,然后根據獲取到的產品和設備資訊,分別對設備端和應用端的后端程式進行配置,進行關聯,然后才可以通過網頁來監控和控制設備端,
在設備管理》產品 這個里可以創建新的產品,點擊創建產品,選擇基礎版,點擊下一步,輸入產品的名稱


點擊完成就創建完成了一個新的產品,可以在產品下面添加設備,平臺會自動給出設備的三元組資訊,


在產品的Topic類串列下面看到自動生成的 Topic類,我們需要添加4個主題類,分別是高溫報警的主題類 和 上報屬性的主題類 ,這兩個主題類是發布,閾值設定和解除報警的主題類是訂閱

開通服務端訂閱
應用程式是通過物聯網平臺的服務端訂閱,來獲取設備上傳的一些訊息的,在這里,我們需要啟用服務端訂閱這個功能,當啟用這個功能之后,應用程式就可以訂閱該產品型別下配置的所有訊息,當物聯網平臺收到設備訊息之后,平臺就會立刻通過http/2的通道來推送訊息到應用端

選擇需要推送的訊息,保存,至此,云端配置基本完成,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256434.html
標籤:其他
