APP下载

基于NB-IoT的无连接传输系统设计

2020-11-24穆慧珍尚弘

机械工程师 2020年11期
关键词:低功耗阿里终端

穆慧珍,尚弘

(无锡太湖学院江苏省物联网应用技术重点建设实验室,江苏 无锡214064)

0 引 言

随着物联网技术的不断发展,物联网应用不断深化,万物互联的需求越来越迫切,但目前所采用的大多是针对特定行业或非标准化的解决方案,存在可靠性低、安全性差、维护成本高等缺点[1]。而窄带物联网(Narrow Band Internet of Things,NB-IoT)是一种新兴的物联网通信技术,它基于蜂窝网络,属于低功耗广域网技术之一,具备小功耗、低成本、海量连接、深度覆盖等特性。同时,NB-IoT 续航时间长,适合对网络连接要求较高设备的高效连接[2]。因此,基于NB-IoT 技术的物联网系统设计也应运而生。

本文构建了一个基于NB-IoT 的无连接数据传输系统,采用UDP 协议将终端设备的数据信息,通过NB-IoT技术传输到阿里云平台,并利用阿里云平台来展示接收到的上行数据和发送下行数据,从而实现数据低功耗的无连接传输功能。

1 系统总体设计

根据物联网的分层技术,该无连接数据传输系统[3]由终端硬件设备、NB-IoT 网络、阿里云服务平台3 部分组成,其总体设计方案如图1 所示。

图1 总体设计方案

其中终端硬件设备由主控芯片STM32 控制整个系统的运行,并对上行数据进行预处理后交给BC28 模块,该NB-IoT 无线通信模块将STM32 发送过来的数据通过NB-IoT 网络上传到阿里云服务器,同时阿里云服务器下发的数据也通过NB-IoT 网络传送给BC28 模块,从而实现对终端硬件设备的控制。

2 系统硬件设计

终端硬件设备作为物联网应用系统的终端,负责数据的采集、处理和传输,是整个系统的核心。根据模块化[4]的设计思想,将终端硬件设备分为主控制模块、NB-IoT模块、电源模块及其他外围电路等。其系统硬件设计结构图如图2 所示。

图2 系统硬件结构图

2.1 主控制模块

综合考虑功耗、芯片成本、可靠性、发射频率、工作温度范围等指标,主控制模块采用STM32L151C8T6 作为主控芯片,该芯片使用的是ARM Cortex-M3 32 位RISC 内核,是ST 公司出品的高性能低功耗系列MCU 之一,具有极低的功耗和高可靠性,具有工业级的温度范围,并使用最优化的低功耗架构和低漏电生产工艺。其工作原理如图3 所示。

图3 STM32L151C8T6 原理图

2.2 NB-IoT 模块

NB-IoT 无线通信模块包括BC28 模组、内置SIM 卡座、串口电路、滤波天线、复位电路,由外接电源供电。BC28 是一款超紧凑、高性能、低功耗的多频段NB-IoT 无线通信模组,支持UDP/TCP/COAP,而且其尺寸很小,仅为17.7 mm×15.8 mm×2.0 mm。BC28 在设计上兼容移远通信GSM/GPRS 系列的M26 模块,方便客户快速、灵活地进行产品设计和升级。该模组设计解决了超低功耗问题,同时具有高灵敏度等优势,可工作在无需充电的设备应用场景下[4]。BC28 实物如图4 所示。

图4 BC28 实物图

2.3 电源模块电路

电源系统设计的合理性一定程度决定了终端设计是否成功,稳定的电压有利于硬件电路各模块稳定工作,减少硬件损坏、延长设备寿命,因此硬件系统的稳定一直以来是设计电源模块的重点要素[6]。为此,该系统终端模块由外部电路提供稳定的3.3 V 电压。其电源模块电路如图5 所示。

3 终端软件设计

该终端软件采用基于Keil uVision4 集成开发环境的设计,实现了将终端上行数据通过NB-IoT 网络发送到阿里云及将阿里云下行数据发送到终端设备。另外,阿里云平台采用第三方软件实现上行数据的显示和下行数据的发送。

3.1 主应用程序设计

主应用程序控制终端硬件设备的运行过程,使各模块协调工作,其程序设计流程如图6 所示。终端硬件设备上电后,首先对系统进行初始化,完成中断优先级及定时器的设置,然后对BC28模块进行初始化检查,检查是否连接成功,初始化完成之后即可激活场景,并为连接服务器做准备,然后创建UDP 连接,此时就可以循环实现上行数据的发送和下行数据的接收任务。

图5 NB-IoT 模块供电电路图

3.2 BC28模块初始化设计及场景激活

在软件设计中,主控制模块通过AT 命令对BC28 模块进行配置和控制。

图6 主应用程序流程图

首先通过发送“AT”命令连接BC28 模块,当返回“OK”的情况下,表明BC28 模块工作正常,并成功连接。主控制模块发送“AT+NBAND”和“AT+CIMI”来查询当前BC28所支持的频段信息和SIM 卡的IMSI 编号。一般来说,只要安装了SIM 卡,都能够成功获取该信息。然后,通过发送指令“AT+CGATT=1”来附着GPRS 网络,网络附着成功后,通过发送指令“AT+CSQ?”查询当前信号强度,在信号强度满足要求的情况下,发送指令“AT+CEREG”进行网络注册。当网络注册成功后,发送指令“AT+CGDCONT=1,42IP42,42HUAWEI.COM42 ”完成APN 接入设置,并通过发送指令“AT+CSCON?”来查询网络是否连接成功,连接成功后就可以创建UDP 连接了。BC28模块初始化及场景激活流程如图7所示。

图7 BC28 模块初始化及场景激活流程图

3.3 创 建UDP连接

UDP 是面向无连接的通信协议,在传输前无需建立连接,直接将源端的数据发送到终端,具有较好的实时性,对系统资源要求较少。在目前网络速度较高的情况下,在应用层采用自定义重传机制,可以确保数据传输的可靠性。所以,该协议比较适合于低功耗、少量数据传输的应用场景。根据实际需求,本系统采用UDP 传输协议进行少量数据的传输。

要实现无连接数据传输,首先需要创建UDP 连接。其创建UDP 连接流程如图8 所示。发送“AT+NSOCL=0”指令来关闭已经存在的Socket 连接,然后通过发送指令“AT+NSOCR”来创建新的Socket 连接,创建成功后,发送指令“AT+NSOST”连接服务器的IP 地址和端口号,实现与服务器之间通过UDP 协议进行无连接数据传输。

图8 创建UDP 连接流程图

4 系统测试

经过测试表明,终端硬件设备成功通过BC28 模块将上行数据发送到阿里云平台,并通过第三方软件显示,阿里云平台接收到的数据信息如图9 所示。阿里云平台通过第三方软件的数据发送功能也成功地将下行的控制信息发送到了终端硬件设备,并通过串口调试工具进行显示,串口调试工具接收到的数据如图10 所示。由此可见,该设计实现了数据的双向传输功能。

5 结 语

图9 上行数据发送图

图10 下行数据发送图

本文提出了一种基于NB-IoT 的数据传输系统的设计方案,该系统以STM32L151C8T6 为主控芯片,采用UDP 协议,利用BC28 模块实现终端硬件设备的上行数据实时上传到阿里云平台及云平台控制数据下行发送的功能。由于NB-IoT 技术基于蜂窝网络,所以该系统具有强覆盖、小功耗等优点,比较适合于频繁传输小数据量,需要最长续航时间的应用场景。

猜你喜欢

低功耗阿里终端
一种高速低功耗比较器设计
云上阿里
X美术馆首届三年展:“终端〉_How Do We Begin?”
辰辰带你游阿里
通信控制服务器(CCS)维护终端的设计与实现
一种宽带低功耗四合一接收机设计
GSM-R手持终端呼叫FAS失败案例分析
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用
阿里战略