本實(shí)驗(yàn)中,我們需要用到 MCU 和光照拓展板。我們會(huì)將程序燒寫(xiě)進(jìn) MCU 中,并由 MCU 去讀取光照傳感 器的數(shù)值,然后上傳到 OceanConnect 平臺(tái)。同時(shí),MCU 也會(huì)響應(yīng) OceanConnect 下發(fā)的控制指令,去實(shí)際控制小燈的開(kāi)和關(guān)。
此時(shí),接線圖如下:

本節(jié)實(shí)驗(yàn)的代碼位于 EVB_M1_資料\06 源代碼及實(shí)驗(yàn)\EVB_M1_V3.1\02 綜合實(shí)驗(yàn)\實(shí)驗(yàn)四 EVB_M1_智慧路 燈\EVB_M1_Liteos_AT_Light(keil).rar,需要解壓縮

進(jìn)入代碼 targets\STM32L431_EVB_M1\MDK-ARM 目錄,打開(kāi) IoT-Demo.uvprojx 工程文件。

打開(kāi)項(xiàng)目后, 在 Keil 項(xiàng)目列表中找到 Application/User 下的 main.c,約 52 行,修改參數(shù)如下:

同一處的其他幾個(gè)宏可以不管,程序中未使用。然后修改約 119 行:

修改完畢以后,點(diǎn)擊rebuild進(jìn)行編譯。
編譯無(wú)誤則準(zhǔn)備燒寫(xiě)
ST-LINK 連接好以后,先要進(jìn)行一下燒寫(xiě)相關(guān)的設(shè)置。選擇 STM32L4xx_128KB Flash,這樣剛剛編譯好的 程序就會(huì)按照 128KB 的 Flash 結(jié)構(gòu)進(jìn)行燒寫(xiě)

進(jìn)行燒寫(xiě)。然后重啟板子。
打開(kāi) QCOM,波特率修改為 115200,此時(shí)它將輸出 MCU 的打印

此時(shí),一方面可以從板載 LED 屏看到實(shí)時(shí)采集的關(guān)照強(qiáng)度,另一方面,可以在開(kāi)發(fā)中心設(shè)備管理中,看到 該設(shè)備的歷史數(shù)據(jù):

該實(shí)驗(yàn)中,程序每隔一秒就會(huì)向 OceanConnect 發(fā)送一次數(shù)據(jù),所以 NB 模組其實(shí)并不會(huì)處于 PSM 模 式。

光照拓展板的小燈就會(huì)立即點(diǎn)亮,從而 完成路燈的遠(yuǎn)程控制。