本人專業為物聯網工程,目前大四上。
本次進行的實驗為最基礎的溫濕度輕應用開發,下面會簡單講一下實驗步驟以供參考。
一。實驗環境安裝配置
1、熟悉 HaaS EDU 硬體構成及 HaaS 開發闆固件燒錄
(1) 登陸
https://g.alicdn.com/HaaSAI/PythonDoc/quickstart/quickstart_haasedu.html網頁下載下傳固件 。将下載下傳的壓縮包解壓到硬碟上(注意:路徑名和目錄名稱中不得包含中文字元)。下載下傳安裝成功後檔案夾頁面截圖如圖所示。
圖1 haas固件檔案夾截圖
(2) 打開解壓完成的 haas1000_write_flash_main.exe 應用程式,同時通過USB接口将
HaaS 開發闆連接配接至電腦,并打開 HaaS 開發闆的電源開關。連接配接時首先打開config,使用list導入序列槽位置,com setting界面如圖所示。
圖2 com setting界面
之後點選start all,按下haas開發闆的reset按件燒錄,燒錄截圖如下。
圖3 燒錄截圖
(4)确認電腦上是否已安裝 python 最常用的序列槽庫 pyserial,若沒有則需要進行安裝。使用win+R輸入cmd打開指令行,在電腦上輸入指令pip list檢視是否有pyserial庫,若沒有則使用pip install pyserial進行下載下傳。檢視截圖如下。
圖4 使用cmd檢視pyserial庫
2、搭建 HaaS 輕應用開發環境
(1) 安裝 Visual Studio Code 及 Haas Studio 插件(注意:Windows 系統下請以管理者身
份運作 VS Code,避免因為 python 權限問題導緻建立失敗)。安裝時在vs中打開擴充界面,搜尋haas studio下載下傳安裝,安裝成成功截圖如下。
圖5 安裝成功haas studio後vs截圖
(2)Terminus 序列槽工具安裝及裝置 Wi-Fi 連接配接配置。下載下傳安裝成功後,打開序列槽界面,選擇本機連接配接接口(本機為com5),選擇波特率為15000,選擇界面如下。
圖6 序列槽連接配接界面選擇
按下haas開發闆的reset按鍵即可出現log,使用ctrl+d退出microPython,enter可進入(ash:/data)#目錄,進入目錄截圖如圖所示。
圖7進入目錄截圖
在(ash:/data)#目錄下輸入指令python /data/python-apps/wifi/main.py SSID PASSWORD
其中SSID和PASSWORD分别是目前WiFi的名稱和密碼,當出現connectWiFi finished即表明連接配接成功,連接配接成功截圖如圖所示。
圖8 連接配接wifi成功
二。具體實驗步驟
1、在阿裡雲(
https://www.aliyun.com/)上注冊賬戶,進入物聯網雲平台的公共執行個體頁
面,點選建立産品界面,選擇自定義品類,直連裝置,連接配接方式wifi,資料格式ICA标準資料格式,建立産品頁面如下。
圖9建立産品界面
點選前往定義物模型,點選編輯草稿,點選添加自定義功能,将本次實驗需要的溫度,濕度名額添加屬性功能後點選功能釋出,編輯草稿完成界面如圖所示。
圖10 編輯草稿界面
之後到裝置欄處點選添加裝置,進行基礎設定,選擇産品及輸入devicename,點選确認之後即可完成裝置建立。
2.在 VS Code 環境下建立一個溫濕度雲端應用項目,打開haas界面下的python輕應用開發,選擇解決方案為eduk1_temp_humi,硬體類型為haas Edu K1,即可完成項目建立.修改main的代碼中三元組資訊,将雲端裝置的三元組資訊填入,同時修改代碼中的wifi_connect==true;儲存檔案之後點選編譯燒錄,燒錄過程中確定Terminus序列槽工具斷開,防止占用序列槽,修改代碼如下。
三元組資訊
productKey = "ge3gjx8PCG2"
productSecret = "3O7Woo0lE42Y60c4"
deviceName = "temp_humi_device_001"
deviceSecret = "f496bc3274c9f3fedb2bfa68a799b19c"
燒錄成功界面如圖所示。
圖11 燒錄成功
3、重新開機 HaaS EDU,溫濕度雲端應用系統則自動将 HaaS EDU 裝置中溫濕度傳感器采集
的溫濕度資料上傳到阿裡物聯網雲平台中,并以約定的方式進行展示。
圖12 上傳雲端成功,物聯網平台裝置狀态轉為線上
圖13 溫濕度上傳雲端實時結果
圖14 haas裝置顯示結果
1.3問題與解決方法
1.問題:燒錄檔案時一直顯示status=5,haas裝置沒辦法正常上傳雲端。
分析:代碼檔案main.py中需要進行修改wifi_connected==5,該問題導緻一緻循環在判斷。
解決方案:将代碼檔案中對應部分修改為如下内容。
while True:
if wifi_connected == True:
break
else:
wifi_connected = nm.getStatus()
time.sleep(0.5)
2.問題:在進行燒錄時顯示com5已被占用,沒法完成燒錄。
分析:同時打開了terminus序列槽工具,由于序列槽工具占用導緻燒錄時重新開機無效。
解決方案:燒錄時關閉terminus序列槽工具。
3.問題:編譯檔案時會提示問題Import "driver" could not be resolved
分析:Pylance未找到自定義子產品的位址,對實驗無影響
解決方案:使用shift+ctrl+p輸入setting找到json檔案,通過在settings.json檔案中添加extraPaths來解決
總結與收獲
本次實驗算是一次最基礎的實驗,算是進一步了解了物聯網雲服務平台,熟悉了Haas EDU的硬體構成及功能。使用過程中中途又進行了許多别的嘗試試錯,發現了一些比較有趣的功能,比如千裡傳音。希望在之後的使用中能夠使用的更加熟練,能夠熟練的操作上下雲。