目錄:
實現功能
所需設備
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方式展示出來
使用設備:
1、Elfin-EW11(配RJ45轉4Pin端子):1套
或
2、Elfin-EG11(配RJ45轉4Pin端子):1套
3、溫溼度傳感器(RS485接口):1個
12V1A電源:1個購買
點此購買
其中:溫溼度傳感器參數如下:
採用Modbus-RTU通訊規約
串口參數:RS485,波特率9600,數據位8,停止位1,校驗位無
地址碼:01
溫溼度傳感器通訊協議示例以及解釋:
舉例:讀取設備地址0x01的溫溼度值
問詢幀(16進制):
應答幀(16進制):(例如讀到溫度為25.8℃,溼度為62.9%RH)
溫度計算:
溫度: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 ℃以上溫度)
AliIOT物聯網平臺配置
1、 AliIOT物聯網平臺註冊、登錄:網址:https://iot.aliyun.com/products/iotstudio
2、 建立設備模型:根據對設備的抽象,在雲端建立設備模型。在本例中,創建一個溫溼度檢測產品。設備端物模型抽象如下表
3、 打開https://iot.console.aliyun.com/product,選擇【設備管理】->【產品】,點擊【創建產品】
完成後即可看到新創建的產品,點擊【查看】即可看到產品詳情。
4、點擊【功能定義】->【自定義功能】->【編輯草稿】,進入編輯草稿頁面【自定義功能】->【編輯草稿】添加產品屬性及功能
5、 添加自定義功能:當前溫度和當前溼度
自定義功能添加完畢後,點擊【發佈更新】定義一個版本號,完成後的功能列表如下:
6、編寫雲端解析腳本在產品詳情頁中點擊【數據解析】,進行解析腳本的編寫,解析腳本支持JavaScript和Python2.7語言,此處以JavaScript為例進行編寫。
關於數據解析更多說明,參考:
https://help.aliyun.com/document_detail/68702.html
此例編寫腳本如下,可將下列腳本粘貼至【編輯腳本】中,腳本的邏輯為,將其中溼度和溫度16進制值取出,轉換為10進制的溼度和溫度,賦值給CurrentHumidity和CurrentTemperature。
// 以下為腳本模版,您可以基於以下模版進行腳本編寫/** * 將設備自定義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接入狀態:
5、 AliIOT物聯網平臺數據接收展示進入到AliIOT物聯網平臺,在【設備管理】->【設備】列表裡選中設備,點擊【查看】,進入設備詳情頁,點擊【運行狀態】,可查看數據,如下所示:
設備運行一段時間後,點擊【查看數據】,可以看到各個時間點溫溼度變化情況:
設備調試
在設備連接上AliIOT物聯網平臺,並上傳數據後,若出現數據顯示不正確時,可以使用AliIOT物聯網平臺的【日誌服務】功能,選擇產品後,點擊【上行消息分析】,選擇一個【MessageID】查看設備上傳到平臺的原始數據,並根據上傳的數據查找原因,再做匹配調整。
如此處查看THSensor002上傳的一個數據值,16進制顯示為:0x01030402a100dd6a30,其中02a1和00dd分別為溼度值和溫度值,轉換為10進制後為:673和221,則溼度和溫度分別為67.3%RH和22.1℃。
設備WEB應用開發
阿里雲IoT物聯網平臺還提供【應用開發】功能,可以自定義Web頁面和APP頁面。(注:當前APP自定義開發功能暫時關閉,Ali完善後再重新上線)
1、進入Ali IoT Studio菜單下,選擇【項目管理】->【新建項目】->【新建空白項目】,自定義填入一個項目名稱。
2、之後,進入創建項目的主頁,選擇【Web應用】,【新建】一個Web應用。
3、 進入Web可視化開發頁面,根據需要創建自己的Web展示頁面。
4、 選擇【組件】進行頁面設計,比如選擇“實時曲線”,然後選擇曲線表後,對“樣式” 和“交互”進行設置,比如“關聯產品”和“配置數據源”。
5、 之後生成頁面,可以預覽,待設計成熟後,可以發佈。比如此Demo預覽界面如下:
設備運維大屏展示
阿里雲物聯網平臺還提供強大的監控運維功能,大屏顯示所有管理設備運行狀態,實時掌握設備最新運行情況。在【運維監控】->【運維大盤】->【設備運維大盤】,可以查看整體狀態。