Categories
程式開發

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入


摘要:嘗試用小熊派開發板(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());

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 1

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 2

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 3

② 修改src/main/java/com/huawei/service/CreateDeviceCommand.java,變更及添加如下代碼。

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 4

③ 修改src/main/java/com/huawei/controller/PushReceiver.java,變更及添加如下代碼。

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 5

2、完成如上修改,重新編譯構建出包;再基於新構建的包重新部署路燈應用到ECS服務器。

設備側:

1、資源準備:

模擬器:HubSimulator.jar真實設備:小熊派開發板(E53_SC1、NB35)

2、真實設備需要端側開發,代碼編譯、燒錄。推薦IDE:VS Code+IoT Link插件

3、基於示例工程創建:oc_streetlight_template

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 6

4、修改Demosoc_streetlight_templateoc_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、“路燈控制”選擇“終端聯控模式”,開關選擇“開”,單擊“設置”。

查看開發板路燈狀態,燈應該點亮。

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 7

4、“路燈控制”選擇“自動調光模式”,設置亮度閾值為100。

若此時設備上報的光感強度大於100,應用會自動下發關燈命令,指示路燈關閉。用手遮住路燈擴展板上的光強傳感器,使光強小於100,若路燈是關閉狀態,則應用會下發開燈命令,指示路燈開啟。

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 8

5、“路燈控制”選擇“分段定時模式”,設置關燈時間段為06:00-18:30。

如果系統當前時間位於關燈時間段內,且路燈狀態為開,應用會自動下發關燈命令,指示路燈關閉。如果系統當前時間位於關燈時間段外,且路燈狀態為關,應用會自動下發開燈命令,指示路燈開啟。

小熊派開發板實踐:智慧路燈沙箱實驗之真實設備接入 9

綜上,通過路燈開發板作為真實設備的接入體驗即完成。

點擊關注,第一時間了解華為雲新鮮技術~