实验二
根据实验二步骤一的介绍,将 SIM 卡插入 NB-IoT 通信模组卡槽中;并将 NB-IoT 模组与开发板主板上的通信扩展板对接引脚对接;同时将 AT 指令输入源的切换开关切换至 AT-PC;最后将开发板通过 USB 线接到 PC 机上;
1、打开 LiteOS Studio,导入实验二的工程文件。
2、在导入工程界面,选择工程类型为“GCC,工程路径以自己电脑为准。(这里演示我的路径),MCU选型为后缀BEAR_PI。
3、进入工程
进入串口调试,端口号一实际情况,波特率为(9600),校验位,None,数据位 8,停止位 1,流控 None,点击配置栏最右边图标“切换到非 shell”,并打开串口;
4、AT配置
-
在发送区界面输入“AT+NRB”,点击“发送”,重启 NB 模组(注:发送 AT 指令后需发送新行模组才能正确接收指令,即输入完 AT 指令后需回车另一起行再点击送);
-
在发送区界面输入“AT+CGSN=1”,点击“发送”,获取 NB 模组的 IMEI 号,该 IMEI 信息同时也可在 NB 模组标刻的信息上查到;
-
根据平台提供的对接信息,在 LiteOS Studio 串口终端发送区界面输入
“AT+NCDP=49.4.85.232,5683”,设置 NB 模组对接的平台 ip 及端口信息(模组返回OK,即设置成功);
“AT+NRB”,重新重启 NB 模组,确保对接平台 ip 设置生效;在发送区界面输入“AT+CFUN?”,查询协议栈功能是否开启(返回值为 CFUN:1 表示开启;返回值为 CFUN:0 表示关闭。如返回 0 则需要输入”AT+CFUN=1”开启);
-
在发送区界面输入“AT+CGATT?”,查询 NB-IoT 模组网络附着状态(如果返回值为
CGATT:0,表示网络未附着;返回值为 CGATT:1,表示网络附着。如返回 0 则需要输入
“AT+CGATT=1”进行网络附着);
- 在发送区界面输入“AT+NMGS=3,000123”,发送模拟数据给 IoT 平台(返回 OK 即为发送成功)。图略
!!!注意事项:
- 一定要把开发板调到AT_PC处,串口波特率要选对
- 发送指令是要加回车号
- IMEI标识一定不能输错
步骤二
- 基于 LiteOS 控制 NB 模组入网注册与数据上报
1
在 IOT Studio 的工程界面工程树下,打开路径 BearPi_LiteOS -> targets ->STM32L431_BearPi -> GCC 下的“config.mk”文件;在“config.mk”文件中修改网络类型,将“NETWORK_TYPE”参数修改为“NB_NEUL95_NO_ATINY”;
2
打开路径 BearPi_LiteOS -> demos ->nbiot_without_atiny 下的“nb_demo.c”文件修改相应内容。
3
打开路径 BearPi_LiteOS -> targets ->STM32L431_BearPi -> Src 下的“main.c”文件;
代码如下:
extern UINT32 create_work_tasks(VOID);
uwRet = create_work_tasks();
if (uwRet != LOS_OK)
{
return LOS_NOK;
}
4
保存,编译,烧录
![图片.png](https://upload-images.jianshu.io/upload_images/24816924-6d04731a8ee93246.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5
在控制台界面选择“串口终端”,选择相应端口,设置波特率为 115200,校验位 None,数据位 8,停止位 1,流控 None,并打开串口;同时将开发板上 AT 指令输入源的切换开关切换至 AT-MCU,按下开发板上的 RESET 按键,在开发板 MCU 上运行 LiteOS;此时可以看到输出的打印信息;
6
在 OceanConnect 平台“产品”下的“设备管理”界面,选择该 NB 设备,点击“历史数据”,可查看到 NB 模组上报的数据信息。