2019-11-25

实验六

步骤一;移植光敏传感器代码,通过传感器采集光照亮度

右击“IoT-Demo”选择“Manage project Items…”;

在“project Items”标签下的“Groups”中添加“Hardware”,并在该group下添加光敏传感器代码;

添加“IoT-Demo-LiteOS\targets\ Hardware\BH1750”目录下的“BH1750.c”文件,点击“OK”;



添加光敏感传感器代码的头文件路径


添加引用光敏传感器头文件的代码BH1750数据的全局变量并添加光敏传感器数据上报是携带的messageld的代码


“main.h” /*USER CODE BEGIN Private defines/与 /USER CODE END Private defines */之间添加全局变量“msg_for_BH1750”与“BH1750_send”定义的代码



在main.c的/USER CODE BEGIN 2/与/USER CODE BEGIN 2/之间生成的代码,添加创建光敏传感器任务的代码,并注释task1与task的代码


点击Download,下载程序至开发板


打开QCOM串口调试助手

步骤2移植NB入网代码,通过NB模组将数据上报至平台

登录Ocean Connect平台,参照实验三的方式注册设备(设备名称自定义,设备验证码为NB模组的IMEI号);打开Keil,在Keil中右击Lot-Demo选择Manage Project Items...在Project Items标签下的Application/User中添加Iot-Demo-LiteOS/targets/Src目录下的at_hal.c文件


在“project Items”便签下的“Groups”中添加“at_device”,并在该group下添加基于LiteOS的NB模组代码;添加“IoT-Demo-LiteOS\components\net\at_device\nb_bc95”目录下的“bc95.c”文件


在Project Items标签下Groups中添加at_framework,并在该group下添加LitsOS AT框架实现的代码,添加Iot-Demo-LiteOS\components\net\at_frame目录下的全部.c文件


Project Items标签下Groups中添加nb-iot-api,并在该group下添加基于LitsOS的NB-IOT API的代码,添加Iot-Demo-LiteOS\components\connectivity\nb_iot目录下的ios_nb_api.c文件


在Option for Target‘Iot-Demo’界面下选择C/C++,在Define中添加全局宏定义标识符:WITH_AT_FRAMEWORK,USE_NB_NEUL95


在Incude Paths栏添加相应文件的头文件路径

头文件路径分别为:

Iot-Demo-LiteOS\components\connectivity\lwm2m\core\er-coap-13

Iot-Demo-LiteOS\components\net\at_device\nb_bc95


在main.c的/USER CODE BEGIN Include/与/USER CODE BEGIN Include/之间添加调用AT框架与BC95头文件的代码,并声明BC95入网的全局变量


在“main.h”的 /*USER CODE BEGIN Private defines/与 /USER CODE END Private defines */之间添加调用“msg_sys_type bc95_net_data”定义的代码;


在“main.c”的 /*USER CODE BEGIN 0/与 /USER CODE END 0 */之间添加BC95模组入网连接平台发送数据任务代码;定义该任务名为“data_send_task”,优先级为1;通过该任务,MCU向BC95发送平台ip及port信息和光敏传感器数据并通过串口打印发送结果;


基于步骤1在“main.c”的 /*USER CODE BEGIN 2 /与 /USER CODE END 2 */之间生成的代码,添加创建BC95模组入网连接平台发送数据任务的代码;


点击Rebuild,编译工程


点击“Download”,下载程序至开发板


打开QCOM串口调试助手,根据对应的串口号,配置对应信息,通过跳线帽将开发板的UART1的RX和TX与CH340的TX和RX连接,将开发板上的UART2的RX和TX与NB-IOT的TX和RX连接,点击MCU_RST,开发板运行程序。此时在QCOM上可以看到打印任务的信息


登录平台,可以查看到注册的设备处于在线状态,通过“历史数据”可以查看开发板上报的数据;


平台层

完成实验一中所有Profile的设计,同时完成编解码插件开发,同时设定地址域。为了区别多个消息,每个消息必须有地址域。地址域为标识此消息的唯一的字段。这样做的原因是为了识别各种消息,同时保证每个消息具有正确性,提高了效率。此次实验我们接受到的是一串二进制码流,通过平台的编解码插件开发的实现,以及Profile的设计,以及每个消息有唯一的地址域,导致最后我们收到的是通过二进制转化而来的我们所需要的信息。

设备层

我们需要通过keil5 软件完成相应的设置,让设备能够与平台相互能够实现通信。

首先完成所有的初始化,如图所示;


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 实验六 实验任务配置 步骤1 移植光敏传感器代码,通过传感器采集光照亮度 在keil环境中右击“IoT-Demo...
    bainingmeng阅读 526评论 1 0
  • 步骤1 移植光敏传感器代码,通过传感器采集光照强度在keil环境中右击“IOT-Demo”选择“Manage pr...
    小lucky_68c1阅读 192评论 1 0
  • 实验六:基于LiteOS实现端到端物联试验 步骤1 移殖光敏传感器,通过传感器采集光照亮度 在Keil环境中右...
    老爹_eb23阅读 681评论 1 0
  • 步骤1 移殖光敏传感器,通过传感器采集光照亮度在Keil环境中右击IOT-Demo,选择Manage Projec...
    张昊_c69d阅读 269评论 1 0
  • 实验六:基于LiteOS实现端到端物联试验 步骤1 移殖光敏传感器,通过传感器采集光照亮度 在Keil环境中右...
    这真是个好名字阅读 750评论 1 0