一、nb-iot简介
万物互联的时代正以极其迅速的脚步走进我们的生活,据估计2020年大约有500亿台设备连接到互联网。而实现万物互联的基础之一在于安全、可靠的数据传输。随着5g技术方案逐渐落地,世界各地巨头支持的nb-iot(窄带蜂窝物联网)首当其冲无疑是物联网无比渴望的一个强有力的蜂窝基础网络,市场前景广阔,应用场景丰富。nb-iot或将成为热的创客发展方向。
nb-iot(narrowband internet of thing)采用超窄带、重复传输、精简网络协议等设计,以牺牲一定速率、时延、移动性性能,获取面向lwpa物联网的承载能力。nb-iot作为一种新的窄带蜂窝通信lpwan(低功耗广域网)解决方案,将给物联网行业带来巨大的变革与创新。该解决方案具有诸多优势:
覆盖广且深:比gprs覆盖增强20db+;
低功耗:基于aa电池,使用寿命可超过10年;
低成本;
强连接:50k+用户容量/200khz小区。
nb-iot技术的六大主要应用场景恰恰是现有移动通信很难支持的场景,包括位置跟踪、环境监测、智能泊车、远程抄表、农业和畜牧业这些场景。市场研究公司machina预测,nb-iot未来将覆盖25%的物联网连接。
二、调研过程
调研所需的nb-iot模块采购于上海移远通信技术股份有限公司 ,由于我们sim卡电信合作方较积极,而且公司附近已布置电信nb-iot基站,故采购了一款适用于电信的模块。
浏览资料发现,nb-iot当前各运营商支持的频段主要由以下3中:电信支持 800mhz(实际上该频段处于 bc95-b5 的 850mhz 频段范围内),移动支持 900mhz,联通支持 900mhz 和 1800mhz。要使其与电信的频段相匹配,故用code loader user guide工具更新新固件bc95ha-02-std_850。
更新完固件之后,需插上sim卡,然后写imei号,过程如下:先执行 at+cfun=0 命令,然后再执行 at+ntsetid=1,……设置 imei 号。设置后执行 at+cgsn=1 查询是否设置成功。imei 号只能设置一次。(imei 号获取:模块标签上写的 imei )。
bc95 模块从 b656 版本开始增加了扰码(scrambling)控制功能,此功能可通过 at 命令进行控制。模块出厂默认开启此功能,此时基站(base transceiver station)也需要开启扰码功能,否则模块搜不到信号,无法连接基站。若关闭扰码功能,此时基站也需要关闭扰码功能,模块才可连接基站。由于不知基站是否开启扰码功能,故在接下来步骤之前,进行了这两种尝试,确定其状态。
接下来的步骤是附着网络,具体过程如下:
the following shows a simple example to manually attach the network.
neul //module is powered on, wait for 3 seconds.
ok
at+cgsn=1 //query the imei number. if only error is returned, you
need to write the imei.
+cgsn: 863703030308352
ok
at+cfun=1 //configure the level of functionality in the mt.
ok
at+cimi //query the imsi and wait for 4 seconds after executing
at+cfun=1.
460012345678966
ok
at+nband? //query the band information, set bc95-cm/b8 to band 8,
bc95-sl/b5 to band 5, and bc95-vf/b20 to band 20.
execute at+nband=n to set the frequency band. it will take
effect after restart.
+nband:5
ok
at+cgdcont=1,“ip”,“h” //configuration pdp.
ok
at+cgatt=1 //activate the network.
ok
at+csq //query current signal quality.
+csq:24,99
ok
at+cgatt? //query whether network is activated, +cgatt:1 means
activated successfully. and wait for some time.
+cgatt:1
ok
at+cereg? //query current eps network registration status: registered.
+cereg:0,1
ok
at+cscon? //query the signaling connection status, 1 means connect, 0
means idle.
+cscon:0,0//使用手册上的状态是+cscon:0,1
ok
附着网络之后,便可以发送消息了。消息的发送可以有2种方式:1、coap messages 2、udp messeages。由于之前有过<a href="http://bbs/citiao-xinpian-%3ca%20href=" http:="" bbs="" citiao-xinpian-sim800.html"="" target="_blank" class="relatedlink" style="overflow-wrap: break-word; word-break: break-all; color: rgb(128, 128, 128); text-decoration-line: none; border-bottom: 1px dotted blue;">sim800a.html" target="_blank" class="relatedlink">sim800a的调试经验,并且手上可以搭建现成的udp服务器,故采用了方式二的方式,具体过程如下:
at+nsocr= dgram,17,4400,1 //create socket
0
ok
at+nsost=0,123.57.41.13,4400,3,112233//send messages
0,3
ok
+nsonmi:0,4 //receive messages
at+nsorf=0,4 //read messages
0,123.57.41.13,4400,4,60a041c7,0
ok
at+nsocl=0 //close socket
ok
nb-iot工作状态有如下特点:
1.三种连接状态下,均可发送上行数据(coap/udp);idle 下发送数据,模块会进入 connect 状态sm 下发送是数据会唤醒模块,进入 connect,或者当 tau 超时,模块唤醒,进入 connect。
2.idle下,可接收下行数据,模块进入 connect 状态,psm 下不接收下行数据。
3.tau的时长是指从进入 idle 开始一直到 psm 模式结束。
通过对nb-iot模块的多次测试,可以得出以下结论:
1、低功耗:由上图可以看出nb-iot模块可以工作在3种状态,以便节约功耗。在psm模式下大耗流为 5ua,在idle模式下大约为6ma。根据tr45.820的仿真数据,5wh的电池每天发送200bytes的数据,预计可使用12.8年。故可用于开发置于高山荒野偏远地区的设备。
2、强链接:在同一基站的情况下,nb-iot可以比现有无线技术提供50-100倍的接入数。这就意味着我们可以在一个不太大的空间,放置更多设备而互相又不会有干扰。
3、广覆盖:将提供改进的室内覆盖,在同样的频段下,nb-iot比现有的网络增益20db,相当于提升了100倍覆盖区域的能力。对于地下车库、井盖这些需要安装数据采集装置的地方,nb-iot更加适用于使用3g/4g无线模块或 433mhz的无线装置的场合。
4、低成本:无论是模块成本,还是供电、通讯运营成本都比其他无线装置便宜。随着nb-iot的发展,单个连接模块的预期价格不超过5美元,甚至会低至2美元。近期,电信发布了nb-iot的包年套餐,只需要20元。