板载程序测试
在上个实验中,我们仅仅使用了板载的串口和 NB 模组,验证了 NB 模组的双向通信能力,上传的数据是我 们构造的,下发的命令我们也仅仅是收到了而已,并没有进行处理。要想进行自动数据上传,同时响应下发 指令,就需要我们编程,由 MCU 来处理。这个内容由下面的实验来完成。
本实验中,我们需要用到 MCU 和光照拓展板。我们会将程序烧写进 MCU 中,并由 MCU 去读取光照传感 器的数值,然后上传到 OceanConnect 平台。同时,MCU 也会响应 OceanConnect 下发的控制指令,去实际控制小灯的开和关。
连接好开发板的接线图后:
本节实验的代码位于 EVB_M1_资料\06 源代码及实验\EVB_M1_V3.1\02 综合实验\实验四 EVB_M1_智慧路 灯\EVB_M1_Liteos_AT_Light(keil).rar
进入代码 targets\STM32L431_EVB_M1\MDK-ARM 目录,打开 IoT-Demo.uvprojx 工程文件。
打开项目后, 在 Keil 项目列表中找到 Application/User 下的 main.c,约 52 行,修改参数如下:
同一处的其他几个宏可以不管,程序中未使用。然后修改约 119 行:
修改完毕以后,点击 进行编译。编译无误则准备烧写。烧写完成后,重启板子。
打开 QCOM,波特率修改为 115200,此时它将输出 MCU 的打印(因为连线改变,所以串口就不会再输出 上节实验的 NB 模组信息了)。
此时,一方面可以从板载 LED 屏看到实时采集的关照强度,另一方面,可以在开发中心设备管理中,看到 该设备的历史数据:
该实验中,程序每隔一秒就会向 OceanConnect 发送一次数据,所以 NB 模组其实并不会处于 PSM 模 式。因此,在开发中心点击“调试产品”,向设备发送 ON 指令
则光照拓展板的小灯就会立即点亮,从而 完成路灯的远程控制。