成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

使用IoT Studio搭建氣象監(jiān)測屏

李昌杰 / 837人閱讀

摘要:使用開發(fā)監(jiān)控大屏平臺,即物聯(lián)網(wǎng)開發(fā)平臺。在應用編輯器中,搭建實時氣象數(shù)據(jù)監(jiān)控面板。設置完成后,該文字組件將顯示氣象監(jiān)測設備上報的溫度值。

?

1、概述

本實踐案例中使用LoRa氣象監(jiān)測設備監(jiān)測氣象信息,上報溫度、濕度、大氣壓、經(jīng)度、緯度等數(shù)據(jù),并使用IoT Studio平臺搭建監(jiān)控大屏,展示氣象監(jiān)測設備最新上報的數(shù)據(jù)和歷史數(shù)據(jù)曲線圖。

架構(gòu)圖

本案例的架構(gòu)圖如下。

?

方案設計

實現(xiàn)過程:

  1. 自主搭建氣象站的LoRa網(wǎng)絡。
  2. 配置LoRa氣象監(jiān)測設備接入物聯(lián)網(wǎng)平臺。
  3. 在IoT Studio平臺搭建監(jiān)控大屏。

物料準備

購買LoRa網(wǎng)關(guān)和LoRa氣象監(jiān)測設備硬件。

購買已通過Link WAN認證的產(chǎn)品(內(nèi)置Link WAN密鑰),可訪問廣域物聯(lián)網(wǎng)阿里云IoT元器件館。

2、配置LoRa網(wǎng)關(guān)

使用LoRa設備之前,您需在物聯(lián)網(wǎng)絡管理平臺上配置LoRa網(wǎng)關(guān),搭建物聯(lián)網(wǎng)所需的網(wǎng)絡服務。

前提條件

已開通物聯(lián)網(wǎng)絡管理平臺。

操作步驟

  1. 登錄物聯(lián)網(wǎng)絡管理平臺控制臺
  2. 在左側(cè)導航欄,選擇快速入門。
  3. 選擇搭建與分享網(wǎng)絡對應的開始搭建。

  4. 單擊開始體驗。
  5. 注冊網(wǎng)關(guān),填入您的網(wǎng)關(guān)基本信息和位置信息后,單擊下一步。網(wǎng)關(guān)的GwEUI、PIN Code和頻段信息,請在您網(wǎng)關(guān)設備的標簽上查看。

    如下圖所示。

  6. 將網(wǎng)關(guān)通電、連網(wǎng)。

    稍等片刻之后,網(wǎng)關(guān)狀態(tài)顯示為在線,則表示網(wǎng)關(guān)連網(wǎng)上線成功。

  7. 添加入網(wǎng)憑證,單擊下一步。

  8. 將憑證授權(quán)給自己,單擊完成。

執(zhí)行結(jié)果

將憑證授權(quán)給自己后,在物聯(lián)網(wǎng)平臺上使用該憑證創(chuàng)建連網(wǎng)方式為LoRaWAN的產(chǎn)品。

3、配置LoRa設備接入物聯(lián)網(wǎng)平臺

配置LoRa網(wǎng)關(guān)后,您需要在物聯(lián)網(wǎng)平臺上創(chuàng)建LoRa產(chǎn)品和設備,定義物模型,編寫、提交LoRa設備的數(shù)據(jù)解析腳本。

創(chuàng)建產(chǎn)品和設備

  1. 登錄物聯(lián)網(wǎng)平臺控制臺。
  2. 在實例概覽頁,找到對應的實例,單擊實例進入實例詳情頁。

  3. 在左側(cè)導航欄,選擇設備管理?>?產(chǎn)品。
  4. 在產(chǎn)品頁,單擊創(chuàng)建產(chǎn)品,創(chuàng)建一個連網(wǎng)方式為LoRaWAN的產(chǎn)品。
    參數(shù)說明
    產(chǎn)品名稱自定義產(chǎn)品名稱。
    所屬品類選擇為自定義品類。
    節(jié)點類型選擇直連設備。
    連網(wǎng)方式選擇為LoRaWAN。
    入網(wǎng)憑證選擇您在物聯(lián)網(wǎng)絡平臺中創(chuàng)建并已授權(quán)的入網(wǎng)憑證。
    數(shù)據(jù)格式選擇為透傳/自定義。
    認證方式選擇為設備密鑰。
  5. 產(chǎn)品創(chuàng)建成功后,單擊添加設備欄下的前往添加,添加一個設備。

    設備的DevEUI和PIN Code,請在您的設備標簽上查看。

  6. 測試設備連接物聯(lián)網(wǎng)平臺。

    按照設備上的標識,為設備連接天線、GPS天線、電池或電源。

    設備上電約2分鐘后,在物聯(lián)網(wǎng)平臺控制臺對應的實例下的設備頁的設備列表中,該設備的狀態(tài)會顯示為在線。

定義物模型

物模型是將物理空間中的實體進行數(shù)字化,并在云端構(gòu)建該實體的數(shù)據(jù)模型。在物聯(lián)網(wǎng)平臺中,定義物模型即定義產(chǎn)品功能(包括屬性、事件、服務)。完成功能定義后,系統(tǒng)將自動生成該產(chǎn)品的物模型。本示例中,氣象監(jiān)測設備上報溫度、濕度、氣壓、地理位置坐標等信息。因此,先在物聯(lián)網(wǎng)平臺上,為這些信息定義數(shù)據(jù)模型,即定義對應的屬性。

  1. 在物聯(lián)網(wǎng)平臺控制臺對應實例下的左側(cè)導航欄,選擇設備管理?>?產(chǎn)品?。
  2. 在產(chǎn)品頁,找到之前創(chuàng)建的產(chǎn)品,單擊對應的查看。
  3. 在產(chǎn)品詳情頁功能定義頁簽下,選擇編輯草稿?>?添加自定義功能,添加以下自定義功能。
    屬性名標識符類型取值范圍步長單位讀寫類型
    溫度Temperaturedouble-99~1000.01讀寫
    濕度Humiditydouble1~1000.01%讀寫
    大氣壓Atmospherefloat550 ~10600.01hPa讀寫
    經(jīng)度Longitudedouble-180~1800.01°讀寫
    緯度Latitudedouble-90~900.01°讀寫
    海拔Altitudefloat0~99990.01m讀寫
    X加速度Acceleration_Xfloat-1000~10000.01mg讀寫
    Y加速度Acceleration_Yfloat-1000~10000.01mg讀寫
    Z加速度Acceleration_Zfloat-1000~10000.01mg讀寫
    運行速度Speedfloat-10000 ~100000.01Km/h讀寫
    電池電壓Battery_voltagefloat0~1000000.01V讀寫
    氣體阻力Gas_resistancefloat-10000 ~100000.01讀寫

    新增物模型的詳細操作說明,請參見單個添加物模型

  4. 單擊發(fā)布上線將物模型發(fā)布為正式版。

編寫數(shù)據(jù)解析腳本

本示例中,LoRa設備上報的數(shù)據(jù)是二進制格式,如01880537A5109D5A00846C。其中 1、2 字節(jié)為數(shù)據(jù)標識碼01 88;3、4、5字節(jié)為海拔數(shù)據(jù)altitude:339m;6、7、8字節(jié)為緯度數(shù)據(jù)latitude:34.1925;9、10、11字節(jié)為經(jīng)度數(shù)據(jù)longitude:108.8858。

阿里云物聯(lián)網(wǎng)平臺的標準數(shù)據(jù)格式為Alink JSON格式,不能直接使用二進制數(shù)據(jù)進行業(yè)務處理;并且物聯(lián)網(wǎng)平臺下發(fā)的數(shù)據(jù)也是Alink JSON格式。您需要根據(jù)您的設備數(shù)據(jù)格式和定義的物模型,編寫數(shù)據(jù)解析腳本,提交到物聯(lián)網(wǎng)平臺,以供物聯(lián)網(wǎng)平臺調(diào)用來解析上下行數(shù)據(jù)。

  1. 登錄物聯(lián)網(wǎng)平臺控制臺,在對應實例的產(chǎn)品詳情頁,選擇數(shù)據(jù)解析頁簽。
  2. 在編輯腳本輸入框中,輸入解析腳本。

    說明?腳本代碼中屬性的標識符必須與定義物模型時定義的一致。

    詳細的數(shù)據(jù)解析腳本編寫指導,請參見LoRaWAN設備數(shù)據(jù)解析。

    本示例的數(shù)據(jù)解析腳本如下:

    // var COMMAND_REPORT = 02;// var COMMAND_SET = 01;var ALINK_PROP_REPORT_METHOD = "thing.event.property.post"; //標準ALink JSON格式Topic,設備上傳屬性數(shù)據(jù)到云端。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為上報協(xié)議。// if (fHead == COMMAND_REPORT)    {        jsonMap["method"] = ALINK_PROP_REPORT_METHOD; //ALink JSON格式 - 屬性上報。        jsonMap["version"] = ALINK_VERSION; //ALink JSON格式 - 協(xié)議版本號固定字段。        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;//保留兩位小數(shù)。            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;    }}                        
  3. 測試腳本。
    1. 選擇模擬類型為設備上報數(shù)據(jù)。
    2. 在模擬輸入下的輸入框中,輸入一個模擬數(shù)據(jù):01880537A5109D5A00846C。
    3. 單擊執(zhí)行。

    解析結(jié)果顯示在運行結(jié)果欄中。

  4. 確認腳本能正確解析數(shù)據(jù)后,單擊提交,將腳本提交到物聯(lián)網(wǎng)平臺系統(tǒng)。

    說明?物聯(lián)網(wǎng)平臺不能調(diào)用草稿狀態(tài)的腳本,只有已提交的腳本才會被調(diào)用來解析數(shù)據(jù)。

    設備上報的屬性數(shù)據(jù)經(jīng)腳本成功解析后,您可以在該設備的設備詳情頁物模型數(shù)據(jù)?>?運行狀態(tài)頁簽下,查看設備上報的屬性數(shù)據(jù)。

4、使用IoT Studio開發(fā)監(jiān)控大屏

IoT Studio平臺,即物聯(lián)網(wǎng)開發(fā)平臺。您可以使用IoT Studio中的Web應用編輯器可搭建監(jiān)控大屏,用于展示設備上報的數(shù)據(jù)。

操作步驟

  1. 在物聯(lián)網(wǎng)平臺控制臺左側(cè)導航欄,選擇IoT Studio?>?項目管理,在普通項目下單擊新建項目,新建一個普通項目,具體操作參見普通項目。

    創(chuàng)建成功,自動進入該項目。

  2. 在項目左側(cè)導航欄,選擇產(chǎn)品,再單擊關(guān)聯(lián)物聯(lián)網(wǎng)平臺產(chǎn)品,將已創(chuàng)建的氣象監(jiān)測產(chǎn)品與該項目關(guān)聯(lián),具體操作參見關(guān)聯(lián)產(chǎn)品至普通項目。
  3. 在項目左側(cè)導航欄,選擇設備,再單擊關(guān)聯(lián)物聯(lián)網(wǎng)平臺設備,將要監(jiān)控數(shù)據(jù)的來源設備與該項目關(guān)聯(lián),具體操作參見關(guān)聯(lián)設備至普通項目。
  4. 在項目左側(cè)導航欄,選擇主頁,單擊Web應用?>?新建,新建一個Web應用,具體操作參見創(chuàng)建Web應用。
  5. 在Web應用編輯器中,搭建實時氣象數(shù)據(jù)監(jiān)控面板。
    1. 選擇自定義新增頁,設置頁面標題和背景顏色等面板頁面顯示效果。
    2. 在左側(cè)導航欄中,選擇

      組件,打開組件列表。
    3. 從組件列表中,拖拽一個矩形組件到畫布上,并配置組件樣式,具體操作參見矩形。
    4. 從組件列表中,拖拽一個文字組件重疊于矩形組件上,再配置文字組件的數(shù)據(jù)源為氣象監(jiān)測設備的溫度屬性,具體操作參見文字

      設置完成后,該文字組件將顯示氣象監(jiān)測設備上報的溫度值。

    5. 從組件列表中,拖拽一個文字組件重疊于矩形組件上,文字內(nèi)容設置為溫度(℃),作為溫度顯示組件的標題。
    6. 選中配置好的三個組件,單擊鼠標右鍵,選擇成組,將這三個組件組成組件組。

    7. 根據(jù)要展示的屬性數(shù)量,復制多個組。

      復制組件組時,各組件的顯示效果配置和數(shù)據(jù)源配置同時被復制。

    8. 對復制的組件組單擊鼠標右鍵,選擇解散組。

      復制的組件組所有配置均相同。需先解散組,才能重新配置組件數(shù)據(jù)源等信息。

    9. 分別將數(shù)據(jù)源設置為該產(chǎn)品的其他屬性,并設置對應的屬性名稱和單位。
    10. 如有需要,還可在頁面上增加其他組件,如圖片組件等,參見基礎(chǔ)組件使用說明。

      控制面板效果參考圖如下。

    11. 所有組件配置完成后,單擊頁面上方的

      預覽,預覽和測試應用頁面。
  6. 在Web應用編輯器中,新建空白頁面,配置屬性數(shù)據(jù)曲線展示圖。

    以配置溫度數(shù)據(jù)展示曲線圖為例。

    1. 在左側(cè)導航欄,選擇

      頁面,再單擊新建符號+,新增空白頁面。
    2. 在左側(cè)導航欄,選擇

      組件,拖拽一個實時曲線組件到畫布上,并配置實時曲線組件的數(shù)據(jù)源為氣象監(jiān)測設備的溫度屬性,具體操作參見實時曲線
    3. 配置曲線圖的顯示樣式。調(diào)整曲線圖大小、坐標,設置是否顯示時間選擇器,設置系列名稱為溫度等。

      說明?如果選中時間選擇器前的復選框,表示曲線圖上顯示時間選擇器。應用發(fā)布后,可以設置時間,查看對應時間段的溫度數(shù)據(jù)。

    4. 配置完成后,單擊頁面上方的

      預覽,預覽和測試應用頁面。
  7. 單擊頁面上方的

    發(fā)布,發(fā)布應用。

后續(xù)步驟

應用發(fā)布后,在左側(cè)導航欄中選擇

應用設置,可以開啟應用Token驗證,為應用綁定您自己的域名等。

更多Web應用可視化開發(fā)操作指導,請參見Web可視化開發(fā)文檔

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/123020.html

相關(guān)文章

  • 智能家居實訓

    摘要:致力于建立行業(yè)產(chǎn)品技術(shù)施工等標準,為企業(yè)提供行業(yè)信息和技術(shù)交流相關(guān)規(guī)范培訓產(chǎn)品服務展示監(jiān)督檢測和咨詢服務,維護會員單位消費者的合法權(quán)益,積極推進智能家居行業(yè)的良性可持續(xù)發(fā)展。這是編制并發(fā)布的中國智能家居生態(tài)發(fā)展白皮書,具有一定的權(quán)威性。 ...

    BothEyes1993 評論0 收藏0
  • 鴻蒙(HMOS)開發(fā)基礎(chǔ)篇(三)開發(fā)工具特性介紹

    DevEco Studio特性介紹 1 開發(fā)平臺介紹1.1 應用開發(fā)1.2 設備開發(fā) 2 分布式應用開發(fā)2.1 UI設計Preview2.2 調(diào)試 X 往期文章 1 開發(fā)平臺介紹 鴻蒙開發(fā)包含了分布式應用開發(fā)和分布式設備開發(fā) 1.1 應用開發(fā) 鴻蒙應用是在多設備運行的,同一個工程可以在多設備自適應,根據(jù)設備選擇交互方式、UI布局,這個問題還在不斷的發(fā)展和完善,需要開發(fā)者共同推進 鴻蒙應用...

    不知名網(wǎng)友 評論0 收藏0
  • 開發(fā)之路(設計模式二:觀察者模式)

    摘要:繼續(xù)我們的設計模式學習,有個好的觀察者可以讓你開發(fā)效率大大提高直接進入正題,我們用一個氣象站程序來模擬此模式。內(nèi)置了觀察者模式的實現(xiàn)。 繼續(xù)我們的設計模式學習,有個好的觀察者可以讓你開發(fā)效率大大提高 直接進入正題,我們用一個氣象站程序來模擬此模式。有一個氣象站程序,能對濕度,溫度,氣壓進行監(jiān)測并顯示在顯示裝置上面模擬圖如下,此系統(tǒng)中有三個部分氣象站:獲取實際氣象數(shù)據(jù)的裝置Weather...

    n7then 評論0 收藏0
  • 啟明云端分享:小米智能手環(huán)主控的秘密

    摘要:年末,年即將走進尾聲,忙碌了一年準備給家里人買一份禮物,這些天看了很多產(chǎn)品,最終選定了小米智能手環(huán)。 年末,2021年即將走進尾聲,忙碌了一年準備給家里人買一份禮物...

    wpw 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<