【IoT最佳实践】基于小熊派开发板的物联网实战开发(二)-调测NB-IoT模组

举报
我是卤蛋 发表于 2020/03/03 09:46:27 2020/03/03
【摘要】 本实验使用LiteOS Studio中的串口终端工具,发送AT指令来调测NB-IoT模组,进行数据上报和命令响应;平台基于Profile文件和编解码插件解析上报的数据。

上一期:基于小熊派开发板的物联网实战开发(一)-平台侧开发

本实验使用LiteOS Studio中的串口终端工具,发送AT指令来调测NB-IoT模组,进行数据上报和命令响应;平台基于Profile文件和编解码插件解析上报的数据。

本实验中的裸机工程请从此下载:https://bbs.huaweicloud.com/forum/thread-24225-1-1.html

使用LiteOS Studio导入裸机工程

  1. 打开LiteOS Studio工具,点击“导入其他嵌入式工程(gcc)”;

  2. 选择Makefile文件,点击右侧“...”;

  3. 选择裸机工程中的Makefile文件,点击“打开”;

    1583198530619729.png        

  4. 选择工程目录,点击右侧“...”;

  5. 选择工程目录“BearPi_LiteOS”,点击“选择文件夹”;

  6. 点击“下一步”;

    1583198577471564.png        

  7. MCU选择“STM32L431RC”,点击“下一步”;

    1583198616333544.png        

  8. 点击“烧录参数”;

  9. 烧录方式选择“STLink/V2”,点击“确认”;

  10. 点击“调试参数”;

  11. 调试器选择“STLink/V2”,点击“确认”;

  12. 点击“完成”;

    1583198697924930.png        

  13. 勾选“串口终端”;

    1583198725553468.png        

  14. 将开发板用USB线与电脑连接,右击”计算机“,点击”管理“,打开”计算机管理“中的”设备管理器“,点击“端口”,找到STLink的端口号;

    1583198806301458.png        

  15. 将串口模式的切换开关拨到AT<->PC模式(表示NB-IoT模组连接在PC机上);

    1583198821882390.jpg        

  16. 在串口终端中,选择对应的端口号,波特率9600,校验位None,数据位8,停止位1,点击串口右侧开关按钮。

    1583198911580267.png        

在OceanConnect添加真实设备

  1. 添加真实设备时,设备标识必须使用IMEI号,可以通过“AT+CGSN=1”指令查询返回“+CGSN:86XXXXXXXXXXXXX”。(使用NB模组对接时,需填写模组的IMEI号。NB模组的IMEI号通常为15位的数字,一般以86开头,刻于NB模组上)。

  2. 将NB-IoT通信扩展板NB35-A插入小熊派扩展板,如图所示:

    1583199135495986.jpg        

  3. 打开串口按钮右侧的“切换到shell”按钮;

    1583199165681009.png        

  4. 在发送区输入“AT+CGSN=1”,加回车换行,点击“发送”,接收区返回的值“+CGSN:”后面的86开头数字为IMEI号;

    1583199229550096.png        

  5. 打开开发中心,点击“设备管理”,删除实验一中创建的虚拟设备,点击“添加真实设备”;

  6. 选择产品“HCIP_IoT”;

  7. 设备名称自定义,设备标识填写串口终端中得到的IMEI号,设备注册方式选择“不加密”,点击“确定”;

    1583199331383671.png        

  8. 注册设备成功,返回设备ID,点击“确定”;

  9. 此时在OceanConnect中可以查看到已经添加完成的离线真实设备。

配置NB-IoT模组入网

  1. 获取物联网平台的IP和端口号(IP和端口号,可以从平台上的“对接信息”获取);

  2. 输入“AT+NCDP=xxx.xxx.xxx.xxx,yyyy”(xxx.xxx.xxx.xxx为物联网平台IP,yyyy为物联网平台端口)进行设置,点击“发送”(返回“OK”表示设置成功);

  3. 输入“AT+CFUN=1”, 点击“发送”,打开协议栈功能(返回“ok”表示打开成功);

  4. 输入“AT+NRB”, 点击“发送”,重启NB-IoT模组(返回“OK”表示重启成功);

  5. 输入“AT+CGATT?”,点击“发送”,查看NB-IoT模组网络附着状态(返回值为“0”表示网络未附着,返回值为“1”表示网络附着成功);

  6. 如果返回值为“0”,输入“AT+CGATT=1”, 点击“发送”,进行网络附着(返回“OK”表示网络附着成功)。

发送数据

  1. 通过NB-IoT模组发送数据到华为物联网平台(这里以上一期的智慧农业服务“Agriculture”为例);

    输入“AT+NMGS=5,00193C0064”,点击“发送”( 返回“OK”表示发送成功);

  2. 打开物联网平台,打开“设备管理”,可以看到之前添加的设备已在线;

  3. 点击在线设备,点击“历史数据”,可以查看到NB-IoT模组上报的数据。

发送命令响应

  1. 输入“AT+NNMI=1”,开启下行数据回显功能;

  2. 打开“设备管理”,点击“调试产品”;

  3. 在应用模拟器中,服务选择“Agricultrue”,命令选择“Agriculture_Control_Light”,Light选择“ON”,点击“缓存发送”;

    1583199797105321.png        

  4. 点击在线设备的“历史命令”,可以查看到处于“等待”状态的命令;

  5. 打开LiteOS Studio,输入“AT+NMGS=5,00193C0064”,点击“发送”( 返回“OK”表示发送成功);

  6. 接收区回显下发命令的码流“+NNMI:0100014F4E”,获取到mid值为“0001”;

  7. 点击在线设备的“历史命令”,可以查看到处于“已送达”状态的命令;

  8. 根据上报数据时,获取到mid值为0001,输入命令响应“AT+NMGS=5,0200010000”;  

  9. 点击在线设备的“历史命令”,可以查看到处于“执行成功”状态的命令。

下一期:基于小熊派开发板的物联网实战开发(三)-移植Huawei LiteOS操作系统(智慧农业)

最后,让我们宣传一下:

3月27-28日,华为物联网平台在华为开发者大会静候您的光临。

华为开发者大会2020(Cloud)是华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动。大会旨在搭建一个全球性的交流和实践平台,开放华为30年积累的ICT技术和能力,以“鲲鹏+昇腾”硬核双引擎,为开发者提供澎湃动力,改变世界,变不可能为可能。

我们期待与你共创计算新时代

在一起,梦飞扬!

1583829665894051.jpg

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。