小熊派開發板實踐:智慧路燈沙箱實驗之真實裝置接入
摘要:嘗試用小熊派開發板(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。
- 如果系統當前時間位於關燈時間段內,且路燈狀態為開,應用會自動下發關燈命令,指示路燈關閉。
- 如果系統當前時間位於關燈時間段外,且路燈狀態為關,應用會自動下發開燈命令,指示路燈開啟。
綜上,通過路燈開發板作為真實裝置的接入體驗即完成。
點選關注,第一時間瞭解華為雲新鮮技