浅谈NB-IOT模块调试

背景

在物联网的口号下,我们公司也有幸踏足NB物联这块,当然也只是二次应用开发。
NB核心开发技术都掌握在几个大公司大佬手里,例如:华为海思、高通、intel。当然模块
厂商又例如:移远 ublox等。芯片的资料和技术不像Lora这样开源,所以我们小公司
只有使用模块的份,里面的技术实现我们是触碰不到的。那么我们就拿华为海思的芯
片(移远模块)来做一下浅尝辄止的探讨。以下叙述内容只属于个人言论,不掺杂任何
感情色彩。

一、调试联通步骤:

公司先提交项目方案和产品使用场景给到华为,经过审核后华为和你会签订合作协议,具体
内容不详。这一阶段会给出一部分资料,大多是软件平台的对接方式和硬件模块的一些开发
AT指令集。这时候公司自己拿到资料后进行开发进度和时间评估。
对接分为南北向接口,一个是接口是:终端----》华为平台
                另一个是:华为平台---》到自己私有应用平台
1、软件平台对接
    提供两种对接方式
    @1:使用华为的平台,嵌入我们自己的解析层代码,使用profile文件提前说明等等。
       解析层代码:要依据华为给出的编解码库开发文档进行编写。
       profile文件:意思是里面要按照华为给定的json格式填写,里面稍有填写不正
       确可能第一次调试都通不过。profile里面讲到的主要是----》你终端是什么?
       属于哪家公司?里面都会传输什么数据到平台?
       只有把这些东西填写完整之后,提交到华为平台进行审核,如果没有出现错误,那
       么恭喜你,你可以进行软硬件联调了。但是我们就没有那么顺利来来回回改了不下
       于5次,这还是在看了好多资料的情况下才写出来的profile,可能也是自己才疏
       学浅,笨啊。最终还是成功了。如果你走到了这一步,那么剩下来的就是硬件准备
       了。开发完成之后进行联调。
    说实话,从硬件开发--到---上线,总共的调试要分为三个阶段。走到这里联调的第一
    阶段的第一步才刚刚开始。因为涉及到运营商的网络铺设问题(毕竟这个基站升级部署
    NB网络需要时间,大家都理解,只是动作快与慢的问题)。华为很聪明的给出了一个
    softradio软件,这样的话就不需要你用到基站的网络进行调试,毕竟这个基站什么
    时候部署完善现在也没有定性,就算部署完善之后信号怎么样也不好说,所以干脆去除
    这个不确定因素。为华为的这一举动点个赞。
    上面提到了一个softradio软件,这个软件是干什么的呢?这个软件就是模拟的你使
    用的NB模块,也就是说你可以脱离物理上的NB模块来进行调试与平台的连通性。这个
    软件里面安装之后,登录地址是:localhost:8090,不过想要使用这个软件需要向
    华为那边进行key值,给到之后添加上去才能用。

这里写图片描述
这里面的操作是与你写的profile设备描述有关系的,等你把profile了解清楚之后这里该填什么到时候自然会知道。
这里写图片描述
这个里面有个com口设置,这个是干什么的呢?这个就是你的NB模块与MCU的接口,这个就是模拟的NB物理模块的串口。在这里你可以使用一个串口调试工具或者是真正的MCU去控制数据的收发。连接之后你发送NB模块能识别的AT指令,他会回复你相应的回复,当然前提是你的网络是通的还有就是你的softradio已经和平台通讯没有问题了才可以,否则softradio只能回复你error.具体原因是什么我就不一一列举了,毕竟情况千奇百态只有亲身测试过才知道。
这里写图片描述

这个就是模拟的NB物理模块与平台之间的一系列有线连接和无线连接,当然在这个软件中你只需要把平台的IP地址和端口写上就可以了,这个配置就是省去了实际的物理模型(NB模块—-》基站—–》公网——》平台侧)的连接,直接一个IP端口代表了所有。这就排除了网络运营商的基站布设问题。
这里写图片描述
这个里面就是在进行调试的时候,你与平台交互的指令跟踪查证用的。你的上报和下发的数据都会在这里呈现,到时候在这里进行查询就可以了。当然前提是你的前几个步骤必须配置正确之后才可以奥。
这里写图片描述

这个上面就是之前说的keys值就是根据你的ESN生成的,你需要提交这个ESN值到华为,他那边生成key之后在进行下面导入key值之后,软件才可以使用奥。
就此一些软件方面的工具调试已经介绍完了。奥,对了这个调试是基于Coap协议进行调试的。如果你是用的是UDP,那么不好意思,还没办法调,不知道现在可以了没有。
Coap也是一种数据传输协议,同一种数据传输量比较
16进制 ===== Coap/2 <<<<<<<< http
Coap就是在把16进制的高8位和低8位分别转化成字符进行传输的,例如要
传输16进制的:0xAB
Coap传输:字符A 字符B ====》转换成ASCII字符===》0x41 0x42都变成可见字符了
http传输:json(0xAB)数据量就大了。
UDP——–>封装———》Coap (形式差不多,不需要回复)
TCP———>封装———》http (形式差不多,要回复)

因为华为NB现阶段支持Coap和UDP,所以所有的终端和服务器的数据解析都得按照Coap这种协议进行。

@2:另一种对接形式就是使用UDP的性质,你终端只需要在华为的平台上注册过也就是IMEI号码注册过,UDP传输的时候,你可以IP写成你自己公司的IP,之前所有的对接都不需要了。像什么profile和编解码库都不需要开发,可以直接把数据吐到自己的数据解析服务上面去。但是有一个问题就是,假设你的网络情况很好的话还可以,毕竟不怎么用调试,看到数据上来了就好。假设发上去了你服务器没有收到,这时候你就头大了,你不能确定是你硬件开发写的AT指令不对还是网络不行还是其他的情况。毕竟你没有东西可以查证。毕竟之前那种的话有个softradio软件供你查证。

二、实验室调试

当以上情况都正常,数据联通正常的情况下,这次就需要去华为的实验室进行调试,这个调试一般都很简单,就是把硬件模块的APN设置成华为的实验室的布设的网络,IP地址换一下,端口换一下,这时候在进行收发数据。如果华为实验室的网络没有多大问题,你的终端没有改动的情况下,这个调通是很快的,不过原先的运营商的sim卡要换成华为专门为你提供的才可以。否则上不去网。不过华为实验室的改动比较大,更新貌似与移远发布模块版本还不一致。有的时候实验室版本上上去了,老的模块不支持,还必须给移远要新的版本进行升级。说道这个升级我就郁闷了。给了两种升级工具一种是直接傻瓜式的UI界面的操作,一种是需要在dos下修改批处理文件的操作,但我就喜欢傻瓜式操作啊,使用哪个貌似和51单片机下载程序的东西一样,只是固件需要下载三个,按照上面的标注,把三个固件添加进行下载。进行重新上电之后就开始下载,不过这次升级很不成功,有的版本使用这种升级方式死活升不上去,具体原因不详,如果没有特殊说明这两种工具有什么区别,或者是什么场景下应该使用哪种工具。那么问题就来了为什么傻瓜式的升级工具就不行呢?大家都是开发人员,什么情况大家都懂。我就不再这里多说啥了,希望是我操作失误导致的。但是只操作4次鼠标单击,我觉着我还没有笨到这地步这也会出错,另注明,没事使用的工具都是和固件在一块的工具。多次尝试不行换成了另一种工具一次就OK了。普通的(傻瓜式)下载工具如下:
这里写图片描述

三、运营商线上调试

最后华为实验室联调通过之后,在和运营商之间调试。你NB使用哪家的sim卡就和谁去调试。当然之前的APN要重新设置成运营商的要不网络你是连接不上公网的。这个调试更简单基本上就是修改APN之后数据收发正常就OK了。剩下的工作就该时间来证明了,就是你测试阶段。看看网络情况适不适合了。

四、另一种数据收发形式

最后一种华为和运营商都不会提供,除去以上两种形式之外还有一种可以进行与平台通讯,我们只是有尝试,但也没有真正去用。毕竟这种形式2个大佬没提供肯定也有不提供的缘由,我就在这不过多赘述。毕竟他们会控制不住。

五、NB-IOT使用体验

在经过几个月的测试和验证,感觉网上说的续航可达7/8年,我咋不太信呢。检测启动峰值电流与普通的2G模块没有下降多少啊。只是在发射和接收的时候的确下降了不少。但是那个电流值看下来还是比较高的,与局域网组网的那种(Lora)还是有不少的差距,因为使用的场景不一样,我也不过多的评述什么,能续航7/8年的,我就想知道你们的上报周期是多少的啊,很频繁的话,根本就不可能啊。有的甚至新闻鼓吹待机10年,我真呵呵了。除此之外就是电池这块,续航除了设备自身消耗之外还有电池的自损,能成10年的电池,也是很牛逼啊。真希望最后的发展真像宣传的那样牛逼,那时候我就服你NB-IOT。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值