
1、概述
本實踐案例中使用LoRa氣象監測設備監測氣象資訊,上報溫度、濕度、大氣壓、經度、緯度等資料,并使用IoT Studio平臺搭建監控大屏,展示氣象監測設備最新上報的資料和歷史資料曲線圖,
架構圖
本案例的架構圖如下,

方案設計
實作程序:
- 自主搭建氣象站的LoRa網路,
- 配置LoRa氣象監測設備接入物聯網平臺,
- 在IoT Studio平臺搭建監控大屏,
物料準備
購買LoRa網關和LoRa氣象監測設備硬體,
購買已通過Link WAN認證的產品(內置Link WAN密鑰),可訪問廣域物聯網或阿里云IoT元器件館,
2、配置LoRa網關
使用LoRa設備之前,您需在物聯網路管理平臺上配置LoRa網關,搭建物聯網所需的網路服務,
前提條件
已開通物聯網路管理平臺,
操作步驟
- 登錄物聯網路管理平臺控制臺
- 在左側導航欄,選擇快速入門,
- 選擇搭建與分享網路對應的開始搭建,

- 單擊開始體驗,
- 注冊網關,填入您的網關基本資訊和位置資訊后,單擊下一步,網關的GwEUI、PIN Code和頻段資訊,請在您網關設備的標簽上查看,
如下圖所示,

- 將網關通電、連網,
稍等片刻之后,網關狀態顯示為在線,則表示網關連網上線成功,

- 添加入網憑證,單擊下一步,

- 將憑證授權給自己,單擊完成,

執行結果
將憑證授權給自己后,在物聯網平臺上使用該憑證創建連網方式為LoRaWAN的產品,
3、配置LoRa設備接入物聯網平臺
配置LoRa網關后,您需要在物聯網平臺上創建LoRa產品和設備,定義物模型,撰寫、提交LoRa設備的資料決議腳本,
創建產品和設備
- 登錄物聯網平臺控制臺,
- 在實體概覽頁,找到對應的實體,單擊實體進入實體詳情頁,

- 在左側導航欄,選擇設備管理 > 產品,
- 在產品頁,單擊創建產品,創建一個連網方式為LoRaWAN的產品,
引數 說明 產品名稱 自定義產品名稱, 所屬品類 選擇為自定義品類, 節點型別 選擇直連設備, 連網方式 選擇為LoRaWAN, 入網憑證 選擇您在物聯網路平臺中創建并已授權的入網憑證, 資料格式 選擇為透傳/自定義, 認證方式 選擇為設備密鑰, - 產品創建成功后,單擊添加設備欄下的前往添加,添加一個設備,
設備的DevEUI和PIN Code,請在您的設備標簽上查看,
- 測驗設備連接物聯網平臺,
按照設備上的標識,為設備連接天線、GPS天線、電池或電源,

設備上電約2分鐘后,在物聯網平臺控制臺對應的實體下的設備頁的設備串列中,該設備的狀態會顯示為在線,
定義物模型
物模型是將物理空間中的物體進行數字化,并在云端構建該物體的資料模型,在物聯網平臺中,定義物模型即定義產品功能(包括屬性、事件、服務),完成功能定義后,系統將自動生成該產品的物模型,本示例中,氣象監測設備上報溫度、濕度、氣壓、地理位置坐標等資訊,因此,先在物聯網平臺上,為這些資訊定義資料模型,即定義對應的屬性,
- 在物聯網平臺控制臺對應實體下的左側導航欄,選擇設備管理 > 產品 ,
- 在產品頁,找到之前創建的產品,單擊對應的查看,
- 在產品詳情頁功能定義頁簽下,選擇編輯草稿 > 添加自定義功能,添加以下自定義功能,
屬性名 識別符號 型別 取值范圍 步長 單位 讀寫型別 溫度 Temperature double -99~100 0.01 ℃ 讀寫 濕度 Humidity double 1~100 0.01 % 讀寫 大氣壓 Atmosphere float 550 ~1060 0.01 hPa 讀寫 經度 Longitude double -180~180 0.01 ° 讀寫 緯度 Latitude double -90~90 0.01 ° 讀寫 海拔 Altitude float 0~9999 0.01 m 讀寫 X加速度 Acceleration_X float -1000~1000 0.01 mg 讀寫 Y加速度 Acceleration_Y float -1000~1000 0.01 mg 讀寫 Z加速度 Acceleration_Z float -1000~1000 0.01 mg 讀寫 運行速度 Speed float -10000 ~10000 0.01 Km/h 讀寫 電池電壓 Battery_voltage float 0~100000 0.01 V 讀寫 氣體阻力 Gas_resistance float -10000 ~10000 0.01 無 讀寫 新增物模型的詳細操作說明,請參見單個添加物模型,
- 單擊發布上線將物模型發布為正式版,
撰寫資料決議腳本
本示例中,LoRa設備上報的資料是二進制格式,如01880537A5109D5A00846C,其中 1、2 位元組為資料標識碼01 88;3、4、5位元組為海拔資料altitude:339m;6、7、8位元組為緯度資料latitude:34.1925;9、10、11位元組為經度資料longitude:108.8858,
阿里云物聯網平臺的標準資料格式為Alink JSON格式,不能直接使用二進制資料進行業務處理;并且物聯網平臺下發的資料也是Alink JSON格式,您需要根據您的設備資料格式和定義的物模型,撰寫資料決議腳本,提交到物聯網平臺,以供物聯網平臺呼叫來決議上下行資料,
- 登錄物聯網平臺控制臺,在對應實體的產品詳情頁,選擇資料決議頁簽,
- 在編輯腳本輸入框中,輸入決議腳本,
說明 腳本代碼中屬性的識別符號必須與定義物模型時定義的一致,
詳細的資料決議腳本撰寫指導,請參見LoRaWAN設備資料決議,
本示例的資料決議腳本如下:
// var COMMAND_REPORT = 02; // var COMMAND_SET = 01; var ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'; //標準ALink JSON格式Topic,設備上傳屬性資料到云端, var ALINK_PROP_SET_METHOD = 'thing.service.property.set'; var ALINK_VERSION = "1.1"; function rawDataToProtocol(bytes) { var uint8Array = new Uint8Array(bytes.length); for (var i = 0; i < bytes.length; i++) { uint8Array[i] = bytes[i] & 0xff; } var dataView = new DataView(uint8Array.buffer, 0); var jsonMap = {}; // var fHead = uint8Array[0]; // 第0個BYTE為上報協議,// if (fHead == COMMAND_REPORT) { jsonMap['method'] = ALINK_PROP_REPORT_METHOD; //ALink JSON格式 - 屬性上報, jsonMap['version'] = ALINK_VERSION; //ALink JSON格式 - 協議版本號固定欄位, jsonMap['id'] = '' + 12345; //ALink JSON格式 - 標示該次請求id值, var params = {}; switch (dataView.getInt16(0)) { case 0x0267: params['Temperature'] = Math.floor(dataView.getInt16(2) * 0.1 * 10) / 10;//保留兩位小數, params['Humidity'] = Math.floor(100 * dataView.getUint8(6) * 0.01 / 2 * 10) / 10; params['Atmosphere'] = Math.floor(dataView.getInt16(9) * 0.1 * 10) / 10; break; case 0x0188: var buffer = new Uint8Array(4); buffer[0] = 0; buffer[1] = uint8Array[2]; buffer[2] = uint8Array[3]; buffer[3] = uint8Array[4]; var latitude = new DataView(buffer.buffer, 0); params['Latitude'] = Math.floor(latitude.getInt32(0) * 0.0001 * 10000) / 10000; buffer[0] = 0; buffer[1] = uint8Array[5]; buffer[2] = uint8Array[6]; buffer[3] = uint8Array[7]; var longitude = new DataView(buffer.buffer, 0); params['Longitude'] = Math.floor(longitude.getInt32(0) * 0.0001 * 10000) / 10000; buffer[0] = 0; buffer[1] = uint8Array[8]; buffer[2] = uint8Array[9]; buffer[3] = uint8Array[10]; var altitude = new DataView(buffer.buffer, 0); params['Altitude'] = Math.floor(altitude.getInt32(0) * 0.01 * 100) / 100; break; case 0x0371: params['Acceleration_X'] = dataView.getInt16(2); params['Acceleration_Y'] = dataView.getInt16(4); params['Acceleration_Z'] = dataView.getInt16(6); break; case 0x0702: params['Battery_voltage'] = dataView.getInt16(2)/10; params['Speed'] = Math.floor(dataView.getInt16(6) * 0.01 * 100) / 100; break; case 0x0902: params['Gas_resistance'] = dataView.getInt16(2); break; } jsonMap['params'] = params; //ALink JSON 格式 - params 標準欄位 } return jsonMap; } function protocolToRawData(bytes) { var method = json['method']; var id = json['id']; var version = json['version']; var payloadArray = []; return payloadArray; } } - 測驗腳本,
- 選擇模擬型別為設備上報資料,
- 在模擬輸入下的輸入框中,輸入一個模擬資料:
01880537A5109D5A00846C, - 單擊執行,
決議結果顯示在運行結果欄中,

- 確認腳本能正確決議資料后,單擊提交,將腳本提交到物聯網平臺系統,
說明 物聯網平臺不能呼叫草稿狀態的腳本,只有已提交的腳本才會被呼叫來決議資料,
設備上報的屬性資料經腳本成功決議后,您可以在該設備的設備詳情頁物模型資料 > 運行狀態頁簽下,查看設備上報的屬性資料,
4、使用IoT Studio開發監控大屏
IoT Studio平臺,即物聯網開發平臺,您可以使用IoT Studio中的Web應用編輯器可搭建監控大屏,用于展示設備上報的資料,
操作步驟
- 在物聯網平臺控制臺左側導航欄,選擇IoT Studio > 專案管理,在普通專案下單擊新建專案,新建一個普通專案,具體操作參見普通專案,
創建成功,自動進入該專案,
- 在專案左側導航欄,選擇產品,再單擊關聯物聯網平臺產品,將已創建的氣象監測產品與該專案關聯,具體操作參見關聯產品至普通專案,
- 在專案左側導航欄,選擇設備,再單擊關聯物聯網平臺設備,將要監控資料的來源設備與該專案關聯,具體操作參見關聯設備至普通專案,
- 在專案左側導航欄,選擇主頁,單擊Web應用 > 新建,新建一個Web應用,具體操作參見創建Web應用,
- 在Web應用編輯器中,搭建實時氣象資料監控面板,
- 選擇自定義新增頁,設定頁面標題和背景顏色等面板頁面顯示效果,
- 在左側導航欄中,選擇
組件,打開組件串列,
- 從組件串列中,拖拽一個矩形組件到畫布上,并配置組件樣式,具體操作參見矩形,
- 從組件串列中,拖拽一個文字組件重疊于矩形組件上,再配置文字組件的資料源為氣象監測設備的溫度屬性,具體操作參見文字,
設定完成后,該文字組件將顯示氣象監測設備上報的溫度值,
- 從組件串列中,拖拽一個文字組件重疊于矩形組件上,文字內容設定為溫度(℃),作為溫度顯示組件的標題,
- 選中配置好的三個組件,單擊滑鼠右鍵,選擇成組,將這三個組件組成組件組,

- 根據要展示的屬性數量,復制多個組,
復制組件組時,各組件的顯示效果配置和資料源配置同時被復制,

- 對復制的組件組單擊滑鼠右鍵,選擇解散組,
復制的組件組所有配置均相同,需先解散組,才能重新配置組件資料源等資訊,
- 分別將資料源設定為該產品的其他屬性,并設定對應的屬性名稱和單位,
- 如有需要,還可在頁面上增加其他組件,如圖片組件等,參見基礎組件使用說明,
控制面板效果參考圖如下,

- 所有組件配置完成后,單擊頁面上方的
預覽,預覽和測驗應用頁面,
- 在Web應用編輯器中,新建空白頁面,配置屬性資料曲線展示圖,
以配置溫度資料展示曲線圖為例,
- 在左側導航欄,選擇
頁面,再單擊新建符號+,新增空白頁面,
- 在左側導航欄,選擇
組件,拖拽一個實時曲線組件到畫布上,并配置實時曲線組件的資料源為氣象監測設備的溫度屬性,具體操作參見實時曲線,
- 配置曲線圖的顯示樣式,調整曲線圖大小、坐標,設定是否顯示時間選擇器,設定系列名稱為溫度等,
說明 如果選中時間選擇器前的復選框,表示曲線圖上顯示時間選擇器,應用發布后,可以設定時間,查看對應時間段的溫度資料,
- 配置完成后,單擊頁面上方的
預覽,預覽和測驗應用頁面,
- 在左側導航欄,選擇
- 單擊頁面上方的
發布,發布應用,
后續步驟
應用發布后,在左側導航欄中選擇

應用設定,可以開啟應用Token驗證,為應用系結您自己的域名等,
更多Web應用可視化開發操作指導,請參見Web可視化開發檔案,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/354764.html
標籤:其他
