开发者学堂课程【嵌入式之 RFID 开发与应用2020版:NB-IoT 通信流程】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/665/detail/11186
NB-IoT 通信流程
内容介绍
一、NB-IOT 网络组成
二、NB-IOT 通信厂商
三、NB-IOT 终端(BC35-G)
四、CoAP 协议
五、设备采集数据过程
一、NB-IOT 网络组成
NB-IOT 的终端设备是由厂商提供的芯片或者是模组,做得一些 APP 开发,终端的开发要跟运营商去购买专门的流量卡或数据卡,这个卡就可以跟 NB-IOT 基站相连,完成相连之后就可以通过基站完成数据的传输,NB-IOT 的数据传输可以有自己的网络,通过它自己的核心网络来实现数据的传输,最终会到达 NB-IOT 的云平台,这个云平台可以用第三方的云平台,也可以自己研发一个云平台,更多的是使用自己的云平台,根据云平台采收的数据或者下发的命令,来提供一些基础的应用,这就是网络的组成,从终端到基站再到核心网再到云平台最后到应用这一块,又开始循环回到用户的手里。
二、NB-IOT 通信厂商
模组厂商主要有上海移远、中移物联、高新兴,用得比较多的就是上海移远这个厂商,BC95-B5/8/20/28、BC26 等等都有用过,中移物联是 M5310 的居多,高新兴的就是 ME3612。芯片厂商一般都是华为的,当然还有高通。支持的频段在使用模组或者芯片的时候也是需要看频谱的,有些频段是支持的,不同的频段就代表三大运营商,移动、电信、联通,现在可以选择一个全网通的。协议的话也要选择正确,比如本来是支持 TCP/CoAPMQTT 的,但是买了一个 UDP/COAP 的协议,这样的话买回来是没有用的,互联网最常用的通信协议是 UDP、COAP、TCP、MQTT、LwM2M 的协议。
三、NB-IOT 终端(BC35-G)
采用华为 Hi2115 芯片,它是低功耗高灵敏的,使用的是多频段的,B1/B3/B5/B8/B20/B28,都可以使用,是一个全网通的,属于内嵌网络服务协议栈,支持的协议也非常多种,比如 UDP/TCP/CoAP/LwM2M/MQTT 等等,支持的AT 指令有 3GPP 基本指令,以及 Quectel 增强型 AT 命令,上面说它支持全网通的,可以同时支持三大运营商:电信频段 850M(B5)、移动频段 900M(B8)、联通频段 800M(B20)都可以支持。
BC35-G 功能模块图:
这是整个通信的一个框图,一般情况下 NB-IOT 都需要外连接到一个 MCU,因为很少有人基于 NB-IOT 直接去开发一个负载,那只能到外部去连接一个 MCU,减少一些功能的开发,这个 MCU 和模块之间的连接非常简单,就是增加一个串口,这个串口非常的古老,但是非常的稳定,串口与 MCU 进行一个沟通,这里涉及到传输协议,比如 UDP 等等,用到什么协议就会涉及到什么协议,底层根据串口的指令来进行处理,有些是 3GPP 标准指令处理的,有些是私有指令处理的,还有是直接读取/存储的,然后进行联网操作。最终连接 NB-IOT 的网络,实现数据的通信,连接到通信网络,这就是通信的框图。
四、CoAP 协议
CoAP 协议一般是连接到第三方平台,比如电信、华为或者是中移物联这些,基本流程就是通过 NB 设备和 NB 模块组成的终端设备通过 NB-IOT 基站和核心网络到达云平台,这个云平台的数据可以下行和上行,一般是通过自己的服务器进行一个传输,一般云平台和服务器是一体的,最终通过客户端去完成自己的一个应用。UDP 协议的流程跟上面的差不多,知识应用服务器换成了 UDP 服务器。
五、设备采集数据过程
首先是 MCU 获取数据,数据由设备通过串口,以 AT 指令的形式,发送数据到NB-IOT 模组;NB-IOT 模组接收到 AT 指令后,将 payloa 部分自动封装为 CoAP 协议的消息,并发送给事先配置的物联网平台并保存;接着应用服务器从平台调用相关接口获取数据。数据不用关心通信协议,自己会完成数据包封装,关心增载部分即可。下图就是数据采集的一个基本流程: