上一篇主要讲的是华为OceanConnect平台profile文件与编解码插件的开发与调试而这一篇将要讲如何使用window电脑调试NB-IoT移远BC35G模组。

移远BC35G模组的初次使用

移远BC35G模组,你可以看成是电脑的网卡。因为有了他,设备才能对外通信。NB-IoT的通信模组有很多种类,这里主要使用移远BC35G模组进行演示。

在演示一起,我们先看一下NB-IoT的工作原理。

每一个NB-IoT模组在使用AT指令入网了以后,都会得到一个运营商核心网分配的动态IP地址,而NB-IoT模组也会使用AT指令设置IOT平台的IP地址,当入网以后,NB-IoT模组就会向设置的IOT平台的IP地址发送登录请求,并且携带自己的动态IP地址,待IOT平台鉴权以后,便回复NB-IoT模组登录成功,这时双向通信就连接好了。

说到这里,必须要讲一个很重要的知识点。

都说NB-IoT是低耗能,一节电池用十年。那他是怎么保证低耗能的呢,这就要说到NB-IoT的两种模式了,PSM 状态/eDRX 功能。这里不说大的概念,就用例子来说明。

PSM 状态

老道士闭关修炼,他的弟子们有好多问题要请教老道士。但是无法确定老道士是否已经完成闭关了,不能打扰他。所以这些弟子就在这里等啊等,直到老道士跟弟子们说,“我完事了”,这些弟子才络绎不绝的跟老道士问问题。

NB-IoT进入PSM 状态时,平台给设备发送的指令只能属于等待阶段,直到NB-IoT模组向平台上报数据时,平台将缓存的所有指令下发。这种模式适合于实时性不高的设备,比如智能电表。

eDRX功能

自从上次闭关修炼出来以后,弟子们问了老道士3天3夜的问题。老道士想,不能这样的,这闭关一次积累的问题也太多了。于是老道士想出一个办法。他每隔一个周期闭关出来一次,给弟子们解答问题,然后再回去继续闭关。

NB-IoT想要开启eDRX功能,需要设置周期,多长时间以后唤醒一次,再隔多长时间以后继续进入PSM模式。这个模式较PSM模式实时性高的许多,但是命令上传还是要看设置的周期。

还有DRX模式,与eDRX类似。这些低功耗模式具体要看运营商支不支持。并不是NB-IoT模组内部控制的。

我们这个演示就将PSM 状态和eDRX功能全部关闭,以保证高实时性。

基础理论普及完成以后,我们开始激动人心的动手实践环节了!

首先你要拿到的准备好的移远BC35G模块,还有用于连接电脑USB的USB-TTL,还有一张NB-IOT的物联网专用卡。(有些地区没有覆盖NB网络,请使用前与当地运营商询问一下。我是在苏州用的电信的NB卡,测试没有问题的。联通也有NB卡,据说移动拿普通手机卡就可以接入NB网络,但是没有试过)

然后还有向移远BC35G模块的商家索要驱动,安装在电脑上。还需要准备串口助手SSCOM,请自行下载,我用的是5.13.1的版本。

接下来我们将物联网卡插到模块中

然后确定天线是连接好的。

然后将杜邦线连接到有RXT,TXD,GND,VIN针脚的一侧。

而杜邦线的另一半要连接USB-TTL的针脚上,请注意对应连接!!!

高电平对应高电平,低电平对应低电平,输出对应输入,输入对应输出。

如果你的驱动安好了,就可以直接将USB插到电脑上了。

插上以后,模块亮红灯,标识电源已联通。打开串口助手。

在端口号这里出现COM3 XXX的表示,USB已经连接成功。如果没有,请检查安装的驱动,以及USB-TTL。

因为每个人,每个电脑不一样,操作系统不一样,操作习惯等等都不同。很容易某些人就出现了问题。在这里我不能给你们出现的问题一一列举,我只能告诉我一个开发多年的经验。首先遇到问题要先冷醒,先按步骤逐一排查一遍。确定没有因马虎或者以前的习惯犯的错误。(这个概率非常高,作者回忆10有8,9都是因为这个而出的问题)。如果确定不是这个原因,那就要分析一下也许是哪个环节出现的问题。首先,我们要排除某些环节,这些环节不可能会导致这个错误,就拿刚才的这个举例子。可能有些同学就在想是不是通信模组出现了问题,比如NB卡不行,或者杜邦线连错了。其实“通信模组出现了问题”这是刚开始就要先排除的环节,因为你想一下,电脑现在是跟USB-TTL进行连接,在这个环节中USB-TTL与通信模块还没有建立数据交互,因此这个环节可以先排除。那么就剩下USB-TTL,驱动,串口助手的问题了。USB-TTL也先排除掉,因为如果我们假设USB-TTL有问题,那整个排错流程就都OUT了,所以我们要先假设它是正常的。那么就剩驱动,串口助手。驱动,这个好排查,第一插到USB到电脑时,是否和平时插U盘的声音一样,那个声音就是串口连接正常的声音。如果跟平时插U盘的声音不一样,那就是驱动的问题。如果听不出来,也可以到设备管理器中看有没有串口处有感叹号的,这都是连接不正常的标识。如果没有声音,或者设备管理器**和没插没有反应,那一定是USB-TTL有问题了。如果都没问题,那就看看串口助手版本,权限等等有没有问题。

如果确定了问题的根源,我们就好百度,或者在群里求助了。

如果没还没找到问题,就检查排除过的环节。

如果没还没找到问题,不妨干点别的,散散心。过一会回来,重新整理一下流程,思路会更清晰。

如果出现了com xx这个端口,那么选择这个端口,波特率选择9600,然后打开串口。

如果是这个样子的,就OK了

接下发发送AT

测试与通信模块交互是否正常。

如果返回OK,说明正常。

如果没有返回,或者显示正在打开串口,那说明杜邦线连接的不正常,检查杜邦线的连接情况。

接下来,我要讲一下AT指令。

AT指令用于通信交互的指令,说白了就是你跟通信模块说AT指令它听得懂。说编程语言它也无可奈何。

比如我们刚才执行的AT就是执行指令无参数类型,后面实践起来就会明白。

来我们实践一下

首先我们先查询一下这个模组的IMEI号

AT+CGSN=1

执行这个执行指令有参数的类别

这样就说明执行成功了。

接下来我们去华为OC平台

在在线调测中添加一个真实物理设备,名称随意,标识就是刚才返回的那个模组的IMEI号,选择不加密。

然后就会进到一个类似我们之前使用虚拟设备调试时的界面,这个界面先放着,之后会用到。

好了,现在我们开始入网操作了。

首先看一下模组厂商给的操作文档。

这个就是厂商推荐的入网流程,我们就按这个流程一步一步走。

AT+NCONFIG=AUTOCONNECT,FALSE

返回OK

我们要设置华为OC平台的地址进去,这个地址请在华为OC平台中的对接信息里找。

选择那个Coap的服务器地址(Coaps是Coap的加密协议,我们这个演示没有加密。)

AT+NCDP=IP,端口号

例:AT+NCDP=49.4.12.13,5683

返回OK

AT+NRB

这时看到一堆乱码

返回OK就是重启成功

AT+NCDP?

如果返回刚才设定的一样的地址,说明设置成功

AT+NBAND=?

我的是返回+NBAND:(1,3,5,8,20,28)

其中中国电信是5,移动/联通 8。

AT+NBAND=5

返回OK

AT+CFUN=1

这个可能反应有些慢要等2-3秒

返回OK

关闭PSM

AT+CPSMS=0

关闭eDRX

AT+CEDRXS=0,5

都返回OK

AT+CGATT=1

返回OK

AT+CGATT?

返回CGATT:0表示没有网络附着

返回CGATT:1表示已经网络附着

这个比较慢,要等一会。作者也是不停的查询,不一会就为1了。

+QLWEVTIND:3表示与华为OC平台已经连接上了。

然后我们进入华为OC平台刚才添加真实物理设备的那个页面

可以看到消息跟踪里有消息滚出。

这说明我们的模组已经成功和华为OC平台连接上了!

如果5分钟以后,仍然入网失败的话:

入网失败的解决方案

AT+NRB

重启模组

AT+CFUN=0

关闭射频

AT+NCSEARFCN

清除这次选择的频点(就是换个地方重新入网)

AT+CFUN=1

开启射频

AT+CGATT=1

开启网络附着

AT+CGATT?

查询网络附着

如果循环尝试了多次仍然无法入网,那就考虑一下当前地区是不是没有NB网络覆盖。

连接OC平台成功以后,我们就可以尝试发送信息过去了。

在这之前,我们还需要设置2个参数

AT+CMEE=1

这个设置是当终端出现问题时自动上报(自动上报可以理解为控制台打印出来)

AT+NNMI=1

这个设置是当华为OC平台发送消息过来时,可以自动上报。

现在我们使用设备发送消息给华为OC平台

发送消息的格式为

AT+NMGS=数据长度,内容

例AT+NMGS=02,0001

还记得我们上节课使用虚拟设备调试吗,当时有个十六进制码流的位置,输入我们想数据上报的信息。

没错,这个信息就是我们用AT+NMGS发送的信息

首先0001,长度为2个字节

那就是2,0001

运行AT+NMGS=02,0001就是设备向平台上报灯的当前状态信息。0001怎么来的,请看上一节课的讲解,这里不再赘述。

现在发送

在华为OC平台可以看到

平台已经接收到了数据。

如果有同学出现了513,那就20秒以后重试一下,如果重试3次都出现问题,请按上面的“入网失败的解决方案”重试以后再尝试发送。

现在,平台下发开灯指令下去

可以看到

已经有数据上来了

如果没有数据上来请看一下命令状态是不是已送达

新消息标识是否设置为自动上报

AT+NNMI=1

接下来我们给这个命令回复响应

执行AT+NMGS=5,02004C0001

注意长度和mid,这里看不明白的请移步上一节课。

华为OC平台上返回

OK,移远BC35G模块就调测完成了。

最后还有一点很重要!

就是模组在断电时要释放RRC(RRC是运营商核心网与模组的连接)

AT+QLWULDATAEX=3,AA34BB,0x0001

并且关闭射频,保存今天入网的频点

AT+CFUN=0

建议执行完关闭射频以后20秒再给模组断电。

下一章节将讲解树莓派与移远BC35G模组的初始环境设置,及使用树莓派连接移远BC35G模组后与华为OC平台进行数据交互。

欢迎加入我们的QQ群一起讨论IOT的问题。

树莓派微信小程序服务器搭建,之四-呕血制作-Lettuce IOT框架-移远BC35G+树莓派+华为OC+SpringBoot后台+微信小程序...相关推荐

  1. 之一-呕血制作-Lettuce IOT框架-移远BC35G+树莓派+华为OC+SpringBoot后台+微信小程序

    序 物联网已然是大势所趋,现在的物联网环境与21世纪初时的互联网井喷极其相似.看看当初互联网刚刚兴起到现在,有多少家互联网公司脱颖而出.毫无疑问,他们都是搭了互联网这个趋势的快车.我们做IT程序员多少 ...

  2. centos ftp服务器搭建_CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...

    宝塔面板(官网http://bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位 ...

  3. 服务器一般安装那种centos_CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...

    宝塔面板(官网http://bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位 ...

  4. 小程序服务器搭建前后端交互,手把手带你搭一个简单的微信小程序(包括前后端)...

    开发小程序除了大家能看到的客户端,前端小程序是如何与后端服务器进行数据交互的呢? 本文将通俗易懂的讲一下.这里以nodejs为例来进行讲解 1.首先要在服务器上安装nodejs服务器: ​ wget ...

  5. 微信公众号服务器搭建

           微信服务器搭建公众号服务器搭建主要分成两步:第一步是在自己的服务器上搭建一个用于校验开发者的服务器项目,第二步则是在微信公众号配置服务器资源即可. 一.搭建服务器器项目 1.使用spri ...

  6. 微信卡商服务器搭建,关于微信养号中的卡商、号商和通用规则

    自9月份以来,微信是越来越变态了,人所皆知的封号问题非常的多.不管是新号批量封,还是动辄老号也被封,基本原因都是"登陆环境异常",所以微信号市场也是水涨船高,价格翻了好几倍.至于腾 ...

  7. 小程序服务器搭建前后端交互,微信小程序:request前后端交互 路由跳转 存储数据到本地和获取 小程序登入 授权...

    一 request前后端交互 基本样式 wx.request({ url:'test.php', //仅为示例,并非真实的接口地址 data: { x:'', y:''}, header: {'con ...

  8. 宝塔linux面板搭建小程序wss,CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...

    宝塔面板(官网bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位系统为例详细介 ...

  9. 移动开发——音乐小程序服务器搭建

    因为音频视频文件格式会比较大,开发小程序需要将这些文件放在服务器端,所以需要用node.js搭建本地服务器 1.进入命令,与项目文件mymusic处建立新的文件夹mymusic-sever  在路径栏 ...

最新文章

  1. WOJ 1204 继续找相同
  2. 只适合小模型小训练集的交叉验证
  3. linux读取每条内存使用,Linux c读取系统内存使用信息
  4. 尚硅谷-SpringBoot高级-检索-Elasticsearch快速入门
  5. LiveVideoStackCon 2022 上海站延期通告(内附最新日程海报)
  6. 元素上下左右居中的几种方法
  7. Python OSError: [Errno 22] Invalid argument:的出现和解决
  8. 马云给20万女医护送礼物:花呗额度翻倍和3年分期免息
  9. firewalld的配置和使用
  10. 算法学习之路|程序运行时间
  11. 新版本安装包需求汇总
  12. c语言从入门到精通的几个阶段
  13. xp计算机找不到音量调节,WinXP找不到音量控制程序怎么办?
  14. 双目立体匹配之代价聚合
  15. otg usb 定位_怎样打开安卓手机外接USB功能(即OTG功能)
  16. 输出边长为n的正六边形(c语言)
  17. 电子元器件B2B电商平台建设方案:优化企业商流,拓宽B2B交易渠道
  18. Slwave运行仿真时被终止,没有出现提示错误。
  19. 四年级计算机教学目的,四年级计算机教学计划
  20. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

热门文章

  1. IOS系统降级小工具
  2. 买牛奶 (c++基础)
  3. ROS1云课- 1 0 2 4
  4. 海域重力场与垂直基准产品构建及质量评估系统
  5. MyBatis入门介绍,凤凰涅槃:从 iBatis 到 MyBatis
  6. FFmpeg流拼接滤镜concat原理与使用注意事项
  7. 使用华为光猫ONT使能工具后,本地主机如何通过Telnet登录光猫进行配置
  8. pe制作linux硬盘的镜像文件_如何快速生成PE ISO文件
  9. B2C电商网站提交订单支付流程
  10. 14款形态各异的超时尚HTML5时钟动画