国产在线精品一区二区不卡麻豆

  • <span id="615ww"></span>

  • <optgroup id="615ww"><li id="615ww"><source id="615ww"></source></li></optgroup>

      1. SEARCH
        Tastek Information
        了解更多塔石的訊息
        首頁 / 新聞資訊 / 技術交流
        News

        如何通過MQTT協議使DTU設備連接阿里云實現數據傳輸

        2021-07-22

        4G DTU設備通過MQTT協議連接阿里云實現數據傳輸

        前言

        該實例中以4G DTU作為參考設備,理論上支持MQTT的設備均可參考使用。

        阿里云調試

        首先創建阿里云賬號并登陸登錄(如果已有阿里云賬號則無需注冊直接登陸即可)

        登錄阿里云點擊控制臺”->通過搜索“物聯網平臺進入物聯網平臺

        wps82.jpg

         

         

        wps82.jpg

        進入到物聯網平臺后點擊“立即開通”進入物聯網平臺管理界面。(如果已經開通過了的則會接直接進入到物聯網平臺的管理界面)

        wps84.jpg

        wps85.jpg

        然后選擇公共實例

        wps86.jpg

        選擇“設備管理”->“產品”->“創建產品”

        wps87.jpg

        根據下圖或自身理解創建一個產品

        wps88.jpg

        創建完產品后,推薦先執行“添加設備”;在設備成功連上阿里云后再來根據自身需求“定義物模型”。

        wps89.jpg

        創建設備

        通過上一步驟直接跳轉到設備添加界面;或通過“設備管理”->“設備”->“選擇剛創建的產品”->“添加設備”跳轉到設備添加界面。

        wps90.jpg

        設置DeviceName,該參數為“一機一密”連接方式的重要參數之一,2/4G設備推薦使用設備的IMEI號作為識別碼,可以通過AT+GSN指令查詢設備的IMEI。

        wps91.jpg

        直接點擊“前往查看”;或點擊“完成”后再點擊“查看”前往設備的詳細信息界面。

        wps92.jpg

        進入設備詳情界面后,可以點擊DeviceSecret旁的“查看”來打開設備證書,其中包含了“一機一密”連接方式所需要用到的3個重要參數,后面簡稱“三元組”。

        wps93.jpg

        DTU參數配置

        此文檔以TAS_LTE_363為例,其余支持MQTT的設備可供參考。

        方式一:MQTT透傳

        我司提供阿里云物聯平臺配置_32.exe”參數生成工具,如果沒有可以聯系銷售或技術獲取。首先打開參數生成工具,將1.4章節中復制得到的“三元組”直接粘貼到工具中,或者3條分別填入對應位置均可;再分別填入TimeStamp和ClientID,完成后點擊“生成”即可。

        wps94.jpg

        經過上一步后,我們得到了DTU所需的通用MQTT連接參數,先將連接參數配置進DTU。

        wps95.jpg 

        配置完連接參數,如需測試數據透傳,還需要配置訂閱和推送的主題??梢詮?/span>設備“Topic列表”->“自定義Topic”中找,一般使用update和get這兩個主題。

        注意:如果從產品Topic類列表中得到的主題會帶有${deviceName},需要替換成具體設備的deviceName之后才能使用,例如本例中的866262044292042。

        wps96.jpg

        如下圖,得到訂閱和推送的主題后,就可以完成DTU的所有基本配置了。在工具上填完所有參數后,點擊“一鍵配置參數”將參數配置進DTU,當配置完成后點擊“重啟設備”即可。

        wps97.jpg

        方式二:阿里云直連

        TAS_LTE_363系列提供了阿里云直連功能,方便阿里云的直接配置接入。在工具中選擇“阿里云直連”模式,將“三元組”配置到相應的位置即可,主題選用了get和update主題。填寫完參數后點擊“一鍵配置參數”,提示配置完成后點擊“重啟設備”即可。

        wps98.jpg

        數據收發測試

        正常情況下,如果設備已插卡插天線,那么重啟之后設備會自行連接服務器。當連上服務器時,Link燈常亮,默認開啟連接狀態上報,串口還會收到連接狀態信息“+STATUS: 1,MQTT CONNECTED”。


        wps99.jpg

        連上服務器之后在右下角窗口發送數據,就可在平臺的“運維監控”->“日志服務”->“上行消息分析”中看到。

        wps100.jpg

        如果需要查看詳細內容可以點查看”查看詳情。

        wps101.jpg

        平臺上數據下發可以通過get主題下發,點擊設備的“Topic列表”->“自定義Topic”->“發布消息”即可打開發布消息界面,輸入相應內容(僅支持ASCII)后確認即可。

        wps102.jpg

        設備端會收到相應的數據。

        wps103.jpg


        物模型測試

        在建立連接并成功透傳數據之后,如何進一步滿足客戶需求并應用到真實的監控環境中,阿里云已經提供了物模型的功能來方便用戶實現監控功能。本例中,我們實現了一個485接口、MODBUS協議的溫濕度傳感器的遠程監控。

        注意:該示例涉及一定的編程。

        wps104.jpg

        MODBUS傳感器數據寄存器

        定義物模型

        本例中,我們創建的是自定義項目,所以是一個空的物模型,所有屬性可以根據自身需要添加。通過“產品”->“查看”->“功能定義”->“編輯草稿”打開物模型管理界面。

        wps105.jpg

        通過“添加自定義功能”打開編輯界面,根據自身開發需要,填入相應的內容,例如本例中我們需要監控的是溫度和濕度這兩個屬性,逐個添加即可。

        wps106.jpg 

        創建完屬性后,點擊“發布更新”即可完成物模型的定義,相當于給該產品下的設備添加了兩個屬性,用于平臺端監控。

        wps107.jpg

        數據點上傳

        在完成上一步“定義物模型”后,我們已經可以在相應設備的運行狀態界面看到自己所添加的2個屬性了。接下來關于物模型數據點的上傳(屬性上報),這邊主要介紹透傳/自定義以及ALink協議兩種方式。

        wps108.jpg

        方式一:ALink JSON格式

        該方式需要設備具有主動上報及數據組包能力,采用ICA 標準數據格式 (Alink JSON):設備按照物聯網平臺定義的標準數據格式生成數據,然后上報數據。數據格式類型及通訊主題如下:

        wps109.jpg

        首先需要更改DTU的主題配置,如下圖所示

        注意:上圖中{productKey}和{deviceName}需要替換成自身設備對應的參數,例如:/sys/a1PHcbsgASq/866262044292042/thing/event/property/post

        wps110.jpg

        完成DTU的配置更改并重啟后,我們即可來上傳數據進行測試,我在配置工具右下角輸入框輸入如下內容并發送,就可以在平臺上的“設備”->“運行狀態”中看到數據的實時變化。

        {

          "method": "thing.event.property.post",

          "id": "4",

          "params": {

            "Temperature": 45.1,

            "Humidity": 60.3

        },

          "version": "1.0"

        }

        注意:目前該ALink JSON格式數據需要由客戶設備自行生成后傳給DTU,若設備無法實現可以參考方式二。

        wps111.jpg

        方式二:透傳/自定義

        設備上報原始數據如二進制數據流,阿里云物聯網平臺會運行您在控制臺提交的數據解析腳本,將原始數據轉成標準數據格式后,再進行業務處理。通過這種方式通訊的話,我們需要將主題配置為物模型通訊Topic,如下圖所示。

        wps112.jpg

        這里我們只測試透傳上行,DTU配置如下圖所示,修改推送和訂閱的主題,點擊“一鍵配置參數”來保存配置。

        wps113.jpg

        由于傳感器并不會主動上報數據,所以需要DTU去輪詢采集,我們可以使用自定義輪詢這個功能來完成采集的工作,配置完保存重啟。如下圖所示:

        wps114.jpg

        配置完DTU之后,我們就需要根據自己設備透傳至云端的數據來編寫“數據解析腳本”,本例以JavaScript腳本為例。

        注意:必須了解清楚自己上傳數據的形式再來編寫腳本。

        本例中我們已經配置了DTU每10秒向溫濕度傳感器發送一條查詢指令,正常情況下,溫濕度傳感器在收到指令后會回復數據,這里我以其中一次返回舉例,傳感器返回HEX格式的數據 01 04 04 00 EB 01 E2 0A 69 共9字節。

        如果不了解MODBUS RTU協議也不要緊,只要清楚這里我要用到數據中的第4/5/6/7這4個字節即可。其中4,5字節合起來是一個整型數int16,00 EB轉換成10進制之后為235,根據本章之前提到的圖1中描述,235/10=23.5℃即為真實溫度值;同理,6,7兩個字節表示的是濕度,轉換后為482/10=48.2,則此時的實際濕度為48.2%。了解了自己所需要的數據后,我們可以看如下腳本:

        wps115.jpg

        腳本編寫完成后,可以將腳本復制到此處

        wps116.jpg

        腳本可以進行模擬測試,在下圖模擬輸入框中填入設備上報的原始數據,點擊“執行”

        wps117.jpg

        點擊“執行”后如果腳本正確即可解析得到相應的ALink JSON格式的數據,確認解析正確后點擊“提交”或“保存”即可。

        wps118.jpg

        提交腳本之后,我們就可以將DTU接傳感器測試或用串口助手模擬測試了,為了直觀表現,我們這邊采用了modbus slave模擬測試。

        wps119.jpg

        并可以在“監控運維”->“日志服務”->“上行消息分析”->“MessageID”中查看原始數據。

        wps120.jpg

        以及“物模型數據分析”中查看經過腳本解析的數據。

        wps121.jpg

        以上內容便是使用4G DTU設備通過MQTT協議連接阿里云實現數據傳輸的全部過程!