小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入
摘要:嘗試用小熊派開發板(E53_SC1、NB35)真實設備代替模擬器完成構建智慧路燈應用實驗體驗。
智慧路燈是城市智能化道路上重要一環,智慧路燈的實施具有節約公共照明能耗、減少因照明引起的交通事故等多種社會意義。路燈也是大家在日常生活中可以強烈感知到的公共設施,更易理解其智能化的場景。
基於物理網解決方案,我們可以實現路燈的遠程監控與控制,實現遠程控制、按需照明等功能,降低路燈運行成本。
體驗《沙箱實驗:基於IoT平台構建智慧路燈應用》實驗後,有些小夥伴總覺得模擬器體驗沒有真實設備好,故小主嘗試用小熊派開發板(E53_SC1、NB35)真實設備代替模擬器完成實驗體驗。其中,大部分操作步驟相同,本文僅列出需要修改及注意的地方。
平台側:
1、創建產品:
- 模擬器:協議類型為MQTT
- 真實設備:協議類型為LwM2M/CoAP,且需要開發部署編解碼插件。
2、配置智慧路燈應用(註冊設備):
- 模擬器:設備標識可自定義,如123456789f。
- 真實設備:設備標識填寫為NB35通信模組IMEI,可使用串口工具+AT指令(AT+CGSN=1)查詢獲取設備IMEI。
應用側:
1、編譯構建智慧路燈應用:
創建代碼倉庫後,需要修改部分代碼適配真實設備。
① 修改src/main/java/com/huawei/service/RegisterDirectConnectedDevice.java,添加如下代碼。
paramReg.put("device_name", deviceInfo.getVerifyCode());
② 修改src/main/java/com/huawei/service/CreateDeviceCommand.java,變更及添加如下代碼。
③ 修改src/main/java/com/huawei/controller/PushReceiver.java,變更及添加如下代碼。
2、完成如上修改,重新編譯構建出包;再基於新構建的包重新部署路燈應用到ECS服務器。
設備側:
1、資源準備:
- 模擬器:HubSimulator.jar
- 真實設備:小熊派開發板(E53_SC1、NB35)
2、真實設備需要端側開發,代碼編譯、燒錄。推薦IDE:VS Code+IoT Link插件
3、基於示例工程創建:oc_streetlight_template
4、修改Demos\oc_streetlight_template\oc_streetlight_template.c,填寫對接的IoT平台的實際IP、端口。
#define cn_endpoint_id "BearPi_0001" #define cn_app_server "119.3.250.80" #define cn_app_port "5683"
5、完成如上修改,編譯燒錄即可。
結果驗證:
1、請將開發板撥碼開關撥到AT+MCU側,並通過USB連接PC上電,進行數據上報。
2、等待1-2分鐘查看應用界面,頁面應該顯示「環境亮度」為設備上報數值,「燈狀態」為toggle狀態。
3、「路燈控制」選擇「終端聯控模式」,開關選擇「開」,單擊「設置」。
- 查看開發板路燈狀態,燈應該點亮。
4、「路燈控制」選擇「自動調光模式」,設置亮度閾值為100。
- 若此時設備上報的光感強度大於100,應用會自動下發關燈命令,指示路燈關閉。
- 用手遮住路燈擴展板上的光強傳感器,使光強小於100,若路燈是關閉狀態,則應用會下發開燈命令,指示路燈開啟。
5、「路燈控制」選擇「分段定時模式」,設置關燈時間段為06:00-18:30。
- 如果系統當前時間位於關燈時間段內,且路燈狀態為開,應用會自動下發關燈命令,指示路燈關閉。
- 如果系統當前時間位於關燈時間段外,且路燈狀態為關,應用會自動下發開燈命令,指示路燈開啟。
綜上,通過路燈開發板作為真實設備的接入體驗即完成。