实验六:
基于LiteOS实现端到端物联试验
步骤1 移殖光敏传感器,通过传感器采集光照亮度
在Keil环境中右击IOT-Demo,选择Manage Project Items...
在Project Items标签下的Groups中添加Hardware,并在该group下添加光敏传感器代码
N3B(4(X0`XNZOF[I1L]S)KC.png
添加光敏传感器代码的头文件路径
QQ图片20191125220727.png
在“main.h” /*USER CODE BEGIN includes /与 /USER CODE END includes /之间添加引用定义标准扩展整数类型的头文件代码
QQ图片20191125221228.png
在“main.h” /USER CODE BEGIN Private defines /与 /USER CODE END Private defines /之间添加全局变量“msg_for_BH1750”与“BH1750_send”定义的代码
QQ图片20191125221556.png
在main.c的USER CODE BEGIN Incldes/与USER CODE BEGIN Incldes/之间添加引用光敏传感器头文件的代码BH1750数据的全局变量,并添加光敏传感器数据上报是携带的messageld的代码
QQ图片20191125222115.png
在“main.c” /USER CODE BEGIN 0 /与 /USER CODE END 0 /之间添加引用光敏传感器任务代码;定义光敏传感器任务名为“LightSensor_task”,优先级为 0;通过该任务,对光敏传感器进行初始化,并打印任务信息与光敏传感器数据
QQ图片20191125223741.png
在“main.c”的/USER CODE BEGIN 2 /与 /USER CODE END 2 */之间生成的代码,添加创建光敏传感器任务的代码,并注释创建task1 与task 2的代码
QQ图片20191125224059.png
点击Rebuild,编译工程
QQ图片20191125224447.png
点击“Download”,下载程序至开发板
QQ图片20191125224700.png
打开QCOM串口调试助手,根据对应的串口,选择对应的串口号,配置相应信息,按下“MCU_RST”,开发板运行程序
image.png
步骤2
移植NB入网代码,通过NB模组将数据上报至平台
登陆OceanConnect平台,参照实验三的方式注册设备
打开Keil,在Keil中右击Lot-Demo选择Manage Project Items...
在Project Items标签下的Application/User中添加Iot-Demo-LiteOS/targets/Src目录下的at_hal.c文件
image.png
在Projects Items标签下的Groups中添加at_device,并在该group下添加基于LitesOS的NB模组代码,添加Iot-Demo-LiteOS\components\net\at_device\bc95目录下的bc95.c文件
image.png
QQ图片20191125230304.png
添加完成后,在Keil的Project导航栏会出现相应文件
QQ图片20191125230438.png
在main.c的/USER CODE BEGIN Include/与/USER CODE BEGIN Include/之间添加调用AT框架与BC95头文件的代码,并声明BC95入网的全局变量
QQ图片20191125230616.jpg
点击Rebuild,编译工程
点击Download,下载程序至开发板
打开QCOM串口调试助手,根据对应的串口号,配置对应信息,通过跳线帽将开发板的UART1的RX和TX与CH340的TX和RX连接,将开发板上的UART2的RX和TX与NB-IOT的TX和RX连接,点击MCU_RST,开发板运行程序。此时在QCOM上可以看到打印任务的信息
image.png
登陆平台,在我的设备中进行命令下发
点击我的设备中的历史命令,可以看到命令已下发并执行,此时光敏传感器上的LED灯点亮
同样,选择value为OFF,即下发关灯命令,点击缓存发送;在历史命令中,可以看到命令已下发并执行,此时光敏传感器上的LED灯熄灭