我们用MCU 和光照拓展板,将程序写进 MCU 中,并由 MCU 去读取光照传感器的数值,然后上传到 OceanConnect 平台。同时,MCU 也会响应 OceanConnect 下发的控制指令,去实际控制小灯的开和关。
此时,接线图如下:
进入代码 targets\STM32L431_EVB_M1\MDK-ARM 目录,打开 IoT-Demo.uvprojx 工程文件:
打开项目后, 在 Keil 项目列表中找到 Application/User 下的 main.c,约 52 行,修改参数如下:
同一处的其他几个宏可以不管,程序中未使用。然后修改约 119 行:
修改完毕以后,点击:
进行编译
编译无误则准备烧写:
ST-LINK 连接好以后,先要进行一下烧写相关的设置。选择 STM32L4xx_128KB Flash,这样刚刚编译好的 程序就会按照 128KB 的 Flash 结构进行烧写:
点击:
进行烧写。然后重启板子。
打开 QCOM,波特率修改为 115200,此时它将输出 MCU 的打印:
此时,一方面可以从板载 LED 屏看到实时采集的关照强度,另一方面,可以在开发中心设备管理中,看到 该设备的历史数据:
该实验中,程序每隔一秒就会向 OceanConnect 发送一次数据,所以 NB 模组其实并不会处于 PSM 模 式。因此,在开发中心点击“调试产品”,向设备发送 ON 指令,则光照拓展板的小灯就会立即点亮,从而 完成路灯的远程控制: