目錄:
實作功能
所需裝置
AliIOT物聯網平台配置
裝置連接配接(EW11/EG11)
裝置調試
裝置WEB應用開發
裝置運維大屏展示
完整文檔:[點此下載下傳
](連結位址
http://www.hi-flying.com/download-center-1/application-notes-1/download-item-industry-products-application-manual)實作功能:
Elfin-EW11/EG11通過RS485端口連接配接一個溫濕度傳感器,讀取溫度、濕度資料上傳到阿裡雲IOT平台并在WEB網頁上展示出來。具體如下:
EW11/EG11主動讀取溫濕度傳感器的溫濕度值
EW11/EG11将讀取的溫濕度數值傳輸到阿裡IoT雲端
IoT雲端資料以Web方式展示出來
使用裝置:

或
2、Elfin-EG11(配RJ45轉4Pin端子):1套
3、溫濕度傳感器(RS485接口):1個
12V1A電源:1個購買
其中:溫濕度傳感器參數如下:
采用Modbus-RTU通訊規約
序列槽參數:RS485,波特率9600,資料位8,停止位1,校驗位無
位址碼:01
溫濕度傳感器通訊協定示例以及解釋:
舉例:讀取裝置位址0x01的溫濕度值
問詢幀(16進制):
溫度計算:
溫度:0102 H(十六進制)= 258 =>溫度= 25.8℃
濕度:0275 H(十六進制)= 629 =>濕度= 62.9%RH
讀取指令:01 03 00 00 00 02 C4 0B
回複資料:01 03 04 02 75 01 02 6A 00(示例)
(注意:當溫度低于0 ℃時溫度資料以補碼的形式回複,此處例子僅測試0 ℃以上溫度)
1、 AliIOT物聯網平台注冊、登入:網址:
https://iot.aliyun.com/products/iotstudio 2、 建立裝置模型:根據對裝置的抽象,在雲端建立裝置模型。在本例中,建立一個溫濕度檢測産品。裝置端物模型抽象如下表6、編寫雲端解析腳本在産品詳情頁中點選【資料解析】,進行解析腳本的編寫,解析腳本支援JavaScript和Python2.7語言,此處以JavaScript為例進行編寫。
關于資料解析更多說明,參考:
https://help.aliyun.com/document_detail/68702.html// 以下為腳本模版,您可以基于以下模版進行腳本編寫/** * 将裝置自定義topic資料轉換為json格式資料, 裝置上報資料到物聯網平台時調用 * 入參:topic 字元串,裝置上報消息的topic * 入參:rawData byte[]數組 不能為空 * 出參:jsonObj JSON對象 不能為空 */function transformPayload(topic, rawData) { var jsonObj = {} return jsonObj;}/** * 将裝置的自定義格式資料轉換為Alink協定的資料,裝置上報資料到物聯網平台時調用 * 入參:rawData byte[]數組 不能為空 * 出參:jsonObj Alink JSON對象 不能為空 */function rawDataToProtocol(rawData) { var jsonObj = {} return jsonObj;}/** * 将Alink協定的資料轉換為裝置能識别的格式資料,物聯網平台給裝置下發資料時調用 * 入參:jsonObj Alink JSON對象 不能為空 * 出參:rawData byte[]數組 不能為空 * */function protocolToRawData(jsonObj) { var rawdata = []; return rawdata;}var ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'; //标準ALink協定topic, 裝置 上傳屬性資料到 雲端var ALINK_PROP_SET_METHOD = 'thing.service.property.set'; //标準ALink協定topic, 雲端 下發屬性控制指令 到裝置端/*示例資料:傳入參數 -> 0x010304027501026A00 010304027501026A00為溫濕度傳感器傳回的整體資料 其中0275是CurrentHumidity值,轉化為10進制為629,除以10為62.9 其中0102是CurrentTemperature值,轉化為10進制為258,除以10為25.8,輸出結果 ->{ "method": "thing.event.property.post", "id": "16974850", "params": { "CurrentHumidity": 62.9, "CurrentTemperature": 25.8 }, "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); //10進制bytes數組轉16進制字元串 var str = ""; for(var j=0; j<bytes.length; j++) { var tmp = (bytes[j] & 0xff).toString(16); if(tmp.length == 1) { tmp = "0" + tmp; } str += tmp; } var jsonMap = {}; var fHead = uint8Array[0]; // command { jsonMap['method'] = ALINK_PROP_REPORT_METHOD; //Alink協定 - 屬性上報topic jsonMap['version'] = '1.1'; //Alink協定 - 協定版本号固定字段 jsonMap['id'] = '' + dataView.getInt32(1); //Alink協定 - 标示該次請求id值 var params = {}; //截取16進制字元串并轉成10進制,并除以10 var Humidity_bp = parseInt(str.substring(6,10),16)/10; var Temperature_bp = parseInt(str.substring(10,14),16)/10; params['CurrentHumidity'] = Humidity_bp;//對應産品屬性中 CurrentHumidity params['CurrentTemperature'] = Temperature_bp;//對應産品屬性中 CurrentTemperature jsonMap['params'] = params;//Alink協定 - params标準字段 } return jsonMap;}
7、驗證腳本在【資料解析】->【腳本編輯】頁面下方,可以模拟裝置上報資料,檢視解析結果。如輸入裝置上報資料:0x010304027501026A00,點選【執行】,檢視解析結果,結果正确後,點選【送出】,送出解析腳本。
8、建立裝置完成産品類型的建立之後,建立真實的裝置,在【裝置】清單中,選擇 産品 後,點選【添加裝置】。
輸入裝置DeviceName,自定義一個裝置名稱,如此處定義為THSensor001,添加完成後,可以一鍵複制裝置證書,等待寫入裝置中。
如此處添加的裝置證書如下:
若未及時複制裝置證書,也可在建好的裝置詳情頁,DeviceSecret處,點選“檢視”,檢視裝置證書資訊。
9、裝置添加完成後,會先處于“未激活”狀态,如下所示:
至此AliIOT雲端配置已經完成,接下來完成DTU的配置。
裝置連接配接(EW11/EG11)
案例一:裝置EW11的設定和連接配接
1.硬體連接配接:
2.EW11設定連接配接路由器:
(1)EW11供電後,配置EW11為STA模式連接配接一個路由器
EW11出廠預設AP組網模式,如果要修改為STA組網,可以采用幾種方式,方式如下:
方法一: PC無線直連Elfin-EW1X熱點,PC打開IOTService工具,通過工具進去配置,執行步驟詳見如下。
進入 [裝置編輯] 後,在WiFi設定框裡 選擇模式:STA,掃描需接入的信号熱點,最後輸入熱點密碼,點選 确認,後進入 [裝置狀态] 頁面, 重新開機 DTU裝置。
注意:DTU裝置設定為STA模式,重新開機後,不再廣播無線熱點信号,是以PC或手機不能再搜尋到Elfin-EW1X的熱點。
裝置重新開機後,EW11與路由器建立連接配接,PC或手機可通過路由器連接配接到DTU裝置。如下圖所示,EW11已經連上路由器并擷取到IP位址。
方法二: 采用PC無線直連EW11_XXXX熱點,浏覽器輸入10.10.100.254(産品預設IP),再輸入使用者名密碼(預設為admin,admin,打開産品配置Web頁面。
點選 [系統設定] 進入 [無線網絡設定], 掃描選擇要連接配接的AP熱點,輸入密碼,送出後,進入[其他]-˃[恢複出廠設定/重新開機] 框下,點選“重新開機”按鈕。
方法三: Smartlink配網,該方法采用智能家居常用的配網方式,具體步驟可參考《Elfin-EW1X_操作指南》。
3、EW11設定連接配接AliIOT參數:
電腦安裝IOTServcie工具後,綁定裝置後,選擇EW11裝置,進入【裝置編輯】頁面,設定 【序列槽】參數和【連接配接】參數。
填寫完成後,點選“确認”->“确認”儲存參數,重新開機裝置。
重新進入到AliIOT物聯網平台,在【裝置管理】->【裝置】清單裡,可以檢視到裝置已經激活并顯示線上,如下所示:
4、設定EW11序列槽主動輪詢溫濕度傳感器功能
(1)編輯腳本
EW11可以通過編輯HIS腳本實作序列槽自動輪詢功能,每隔一定時間主動發出輪詢指令。此處設定腳本參考如下,可将如下腳本複制到txt文檔儲存:
更多HIS腳本編輯介紹,請下載下傳說明文檔.
下載下傳位址:
http://www.hi-flying.com/download-center-1/application-notes-1/download-item-his-script(2)導入腳本
在IOTservice工具裡,選擇EW11裝置後,點選【裝置編輯】->【進階設定】->【編輯腳本】->【導入腳本】,選擇編輯好的TXT腳本檔案,直接會導入到EW11裝置裡面,然後重新開機EW11裝置。
(3)之後,進入【裝置狀态】檢視EW11接入狀态:
5、 AliIOT物聯網平台資料接收展示進入到AliIOT物聯網平台,在【裝置管理】->【裝置】清單裡選中裝置,點選【檢視】,進入裝置詳情頁,點選【運作狀态】,可檢視資料,如下所示:
裝置運作一段時間後,點選【檢視資料】,可以看到各個時間點溫濕度變化情況:
案例二:裝置EG11的設定和連接配接
1、硬體連接配接
2、EG11設定連接配接網絡:
(1)EG11支援移動、聯通SIM卡,隻需插入SIM卡即可自動連接配接網絡
(2)EG11接入網絡後,電腦開啟IOTService工具,綁定EG11裝置,綁定裝置方法,可參考《HF DTU 裝置快速使用指導》。
3、 EG11設定連接配接AliIOT參數:電腦安裝IOTServcie工具後,綁定裝置後,選擇EG11裝置,進入【裝置編輯】頁面,設定 【序列槽】參數和【連接配接】參數。
填寫完成後,點選“确認”->“确認”儲存參數,重新開機裝置。重新進入到AliIOT物聯網平台,在【裝置管理】->【裝置】清單裡,可以檢視到裝置已經激活并顯示線上,如下所示:
4、 設定EG11序列槽主動輪詢溫濕度傳感器功能EG11不支援HS腳本功能,可以通過設定序列槽心跳包方式實作對傳感器的定時查詢,如下:
設定之後,點選“确認”重新開機裝置,再次進入【裝置狀态】檢視EG11接入狀态:
在裝置連接配接上AliIOT物聯網平台,并上傳資料後,若出現資料顯示不正确時,可以使用AliIOT物聯網平台的【日志服務】功能,選擇産品後,點選【上行消息分析】,選擇一個【MessageID】檢視裝置上傳到平台的原始資料,并根據上傳的資料查找原因,再做比對調整。
如此處檢視THSensor002上傳的一個資料值,16進制顯示為:0x01030402a100dd6a30,其中02a1和00dd分别為濕度值和溫度值,轉換為10進制後為:673和221,則濕度和溫度分别為67.3%RH和22.1℃。
阿裡雲IoT物聯網平台還提供【應用開發】功能,可以自定義Web頁面和APP頁面。(注:目前APP自定義開發功能暫時關閉,Ali完善後再重新上線)
1、進入Ali IoT Studio菜單下,選擇【項目管理】->【建立項目】->【建立空白項目】,自定義填入一個項目名稱。
2、之後,進入建立項目的首頁,選擇【Web應用】,【建立】一個Web應用。
3、 進入Web可視化開發頁面,根據需要建立自己的Web展示頁面。
4、 選擇【元件】進行頁面設計,比如選擇“實時曲線”,然後選擇曲線表後,對“樣式” 和“互動”進行設定,比如“關聯産品”和“配置資料源”。
5、 之後生成頁面,可以預覽,待設計成熟後,可以釋出。比如此Demo預覽界面如下:
阿裡雲物聯網平台還提供強大的監控運維功能,大屏顯示所有管理裝置運作狀态,實時掌握裝置最新運作情況。在【運維監控】->【運維大盤】->【裝置運維大盤】,可以檢視整體狀态。