2020-12-21

12月21日 iot课程作业

重庆电子工程职业学院 物应1901班 宋文娟 1903020003

4 基于 NB-IoT 实现端云互通实验

4.1 实验介绍
本实验通过 PC 串口调试终端输入 AT 指令控制 NB 模组入网注册与数据上报,掌握 AT 指令与 NB 入网流程,同时基于 LiteOS 操作系统实现通过 AT 指令控制 NB 模组入网及数据上报。

4.2 实验任务配置
步骤 1 通过 PC 串口调试终端控制 NB 模组入网注册与数据上报
根据实验二步骤一的介绍,将 SIM 卡插入 NB-IoT 通信模组卡槽中;并将 NB-IoT 模组与开发板主板上的通信扩展板对接引脚对接;同时将 AT 指令输入源的切换开关切换至 AT-PC;最后将开发板通过 USB 线接到 PC 机上;

打开 LiteOS Studio,导入实验二的工程文件,在 LiteOS Studio 主界面下的控制台界面,选择“串口终端”,在串口终端界面下选择相应端口(相应端口可通过 PC 机的“计算机”->“管理”->“设备管理器”->“端口”中可以查看),设置波特率为 9600,校验位None,数据位 8,停止位 1,流控 None,点击配置栏最右边图标“切换到非shell”,并打开串口;在发送区界面输入“AT+NRB”,点击“发送”,重启 NB 模组(注:发送 AT 指令后,需发送新行模组才能正确接收指令,即输入完 AT 指令后需回车另一起行再点击发送);在接收区可查看模组返回的信息;在发送区界面输入“AT+CGSN=1”,点击“发送”,获取 NB 模组的 IMEI 号,该 IMEI 信息同时也可在 NB 模组标刻的信息上查到;
2.png

根据 NB 模组的 IMEI 号,在平台上注册设备。在 OceanConnect 平台“产品”下的“设备管理”界面,点击“新增真实设备”;选择实验三中开发的 Profile 文件;自定义设备名称,并根据获取的 IMEI 号输入设备标识,选择设备注册方式“不加密”,点击

“确定”;注册设备成功,平台返回相应信息,点击“确定”;
3.png

根据平台提供的对接信息,在 LiteOS Studio 串口终端发送区界面输入
“AT+NCDP=49.4.85.232,5683”,设置 NB 模组对接的平台 ip 及端口信息(模组返回

OK,即设置成功)
4.png

在发送区界面输入“AT+NRB”,重新重启 NB 模组,确保对接平台 ip 设置生效;
5.png

在发送区界面输入“AT+CFUN?”,查询协议栈功能是否开启(返回值为 CFUN:1 表示开启;

返回值为 CFUN:0 表示关闭。如返回 0 则需要输入”AT+CFUN=1”开启);
6.png

在发送区界面输入“AT+CGATT?”,查询 NB-IoT 模组网络附着状态(如果返回值为
CGATT:0,表示网络未附着;返回值为 CGATT:1,表示网络附着。如返回 0 则需要输入

“AT+CGATT=1”进行网络附着);
7.png

在发送区界面输入“AT+NMGS=3,000123”,发送模拟数据给 IoT 平台(返回 OK 即为发送成功);
8.png

在 OceanConnect 平台“产品”下的“设备管理”界面,可以查看到之前注册的设备处于在线状态;
9.png

选择该设备,点击“历史数据”,可查看到设备的历史数据信息。
10.png

步骤 2 基于 LiteOS 控制 NB 模组入网注册与数据上报
在 LiteOS Studio 的工程界面工程树下,打开路径 BearPi_LiteOS -> targets ->
STM32L431_BearPi -> GCC 下的“config.mk”文件;在“config.mk”文件中修改网络类型,将“NETWORK_TYPE”参数修改为“NB_NEUL95_NO_ATINY”;


1.jpg

在 LiteOS Studio 的工程界面工程树下,打开路径 BearPi_LiteOS -> demos ->

nbiot_without_atiny 下的“nb_demo.c”文件;在“nb_demo.c”文件中根据平台提供的对接信息,修改代码中 IP 与 PORT 信息;
2.jpg

在 LiteOS Studio 的工程界面工程树下,打开路径 BearPi_LiteOS -> targets ->

STM32L431_BearPi -> Src 下的“main.c”文件;在“main.c”文件 main 主函数中添加执行“create_work_tasks”函数的代码;
3.jpg

保存修改,点击编译;

4.png

将开发板通过 USB 线连接电脑,点击下载;将代码烧录到开发板芯片中;
5.png

在控制台界面选择“串口终端”,选择相应端口,设置波特率为 115200,校验位 None,数
据位 8,停止位 1,流控 None,并打开串口;同时将开发板上 AT 指令输入源的切换开关切 换至 AT-MCU,按下开发板上的 RESET 按键,在开发板 MCU 上运行 LiteOS;此时可以看到

输出的打印信息;
6.png

在 OceanConnect 平台“产品”下的“设备管理”界面,选择该 NB 设备,点击“历史数

据”,可查看到 NB 模组上报的数据信息。
7.png

你可能感兴趣的:(2020-12-21)