APP下载

4G 模块在广域物联网中的应用

2022-08-13刘维周王嘉敏

无线互联科技 2022年10期
关键词:报文串口客户端

刘维周,王嘉敏

(三江学院 电子信息工程学院,江苏 南京 210012)

0 引言

近年来,4G 通信技术相比前几代的通信技术,通信质量得到了极大提高,接收端接收到的图片和视频画面清晰,给人带来更愉悦的通信体验[1]。 例如基于STM32F4 和4G 网络的车辆装备远程监控系统,其数据传输模块使用了4G 通信技术,实现系统自动采集信息并实时传输信息的功能[2]。 而为了进一步丰富物联网网关的功能多样性,不少研究机构还引入了其他应用技术,如Luca Costantino 等人利用LTE 技术的低时延和高速率特性,大大增强了基于LTE 物联网网关的接入能力[3],如今已发展为基于4G 的智能网关。 4G 智能网关主要应用在广域物联网中,广域物联网也是近些年来的发展趋势,主要特点是大覆盖、低功耗、大连接、低成本[4]。

本系统采用STM32F407 单片机通过4G 模块发送MQTT 协议报文至云服务器,将4G 通信技术创新性地与MQTT 协议结合使用在嵌入式系统中,MQTT 协议也是近年来物联网中使用比较广泛的轻量级通信协议,该系统能够进一步拓宽4G 通信技术在智能化时代的应用。

1 系统整体设计

本系统包括上位机(即PC 端)、4G 模块、STM32F407 单片机3 个部分,单片机通过UART2 和4G模块相连,UART2 波特率设置为115 200 bps,4G 模块通过无线网络连接到上位机。 由于4G 模块自身内部集成有TCP/IP 协议,因此使用TCP/IP 协议与服务器进行数据传输。

4G 模块通信任务包括两部分,第一部分是4G 模块与移动基站网络之间建立连接并保持信号的识别,之后进行数据传输;第二部分是4G 模块通过MQTT 协议发布现场数据及订阅服务器端数据等。 MQTT 协议基于主题的发布或订阅,凭借可靠性高、及时性好、开销小等优势在物联网中得到广泛应用。 它专门用于M2M 通信设计,客户端通过订阅其他客户端发布的相应主题来接收消息,服务器介于订阅方和发布方之间,将接收到的客户端(发布方)发布的消息按主题内容点对点地推送到订阅相应主题的客户端(订阅方)上。

云服务器部署在Thingsboard 物联网平台上,单片机模拟MQTTBOX 发送至云服务器的消息将显示在Thingsboard 物联网平台中,以此能够直观地判断该系统的功能是否实现。

2 系统硬件设计

系统采用的硬件部分主要有STM32F407 单片机和4G 模块,4G 模块与单片机用RS232 公对母交叉串口线相连,单片机与上位机之间使用的是ST-LINK 驱动,硬件连接框图如图1 所示。

图1 系统硬件连接

2.1 STM32F407 单片机

本系统所用的STM32F407 单片机主芯片为STM32F407ZGT6,相比于之前推出的STM32 系列的产品,对于需要浮点运算或DSP 处理的应用,则可以考虑使用这款产品,它的内核更为先进,片内SRAM 也更大,而在外设方面,也是比以往的系列有所增强,例如在IO 复用功能、模数转换速度、总线访问速度、运行频率方面都有了进一步的提高,并且功耗低至238 μA/MHz。 STM32F407 嵌入式系统支持JTAG 和SWD 口调试,但是JTAG 调试占用的IO 口较多,为了节约IO 口数量,更偏向于使用SWD 模式调试。

STM32F407 单片机含有RS232 和RS485 串口,需要使用不同的电平转换芯片来满足不同的实验要求,本系统中4G 模块的RS232 接口与单片机的RS232 母接口连接,RS232 接口的特点为:(1)传输速率较低;(2)信号电平值较高;(3)传输距离有限;(4)抗噪声干扰性弱。 除此之外,系统还用到了单片机中的USB_232 接口,利用串口调试助手工具和数据传输线可以对单片机发送的数据进行监测。 此外,STM32F407 单片机还有一个特别方便使用的一键下载功能:开发板会在接收到串口的DTR 和RTS 信号后,自动配置BOOT和RST 信号。 该设置给用户下载代码带来了极大方便。

2.2 4G 模块

4G 技术相比以往的通信技术,之所以有如此快速的发展,离不开其中的关键技术,如:减少载波间的干扰、提高数据传输速率的OFDM(正交频分复用)技术,抑制信号干扰的SA(智能天线)技术,成倍地提高频谱利用率、降低误码率的MIMO(多入多出)技术等。

4G 模块采用的是稳恒科技公司的WH-LTE-7S4 V2 产品,是一款体积小巧、功能丰富的M2M 4G 产品,含有4G(移动、联通、电信)、3G(移动、联通)以及2G网络制式。 功能多种多样,主要功能是“透传”,即数据的透明传输,具有易用性,方便使用者的集成开发,能够在大多数场景中使用,只要进行简单设置,就能实现数据的透传。 传输速率高、时延低,心跳包能够在一定时间间隔内被发送出去,支持HTTPD,UDC 等通信协议。

WH-LTE-7S4 V2 模块共有3 种工作模式:网络透传模式、UDC 工作模式和HTTPD Client 模式。 本系统只用到网络透传模式,用户只需简单设置参数,不必关心从串口设备到服务器之间的数据包转换方式,4G 模块可以作为私有网络或传感器到云服务器的路由,实现到有人云服务器的透传,也可以实现到阿里云服务器的数据透传。

3 系统软件设计

系统软件程序设计主要包括3 个部分:主程序、MQTT 协议数据包的处理和接收发送、4G 模块数据的处理和接收发送。 使用Keil uVision5 集成开发环境对单片机进行开发,Keil 软件是目前世界上应用最广泛的单片机开发工具之一,是兼容单片机C 语言软件的开发系统,含有丰富的库函数和功能强大的集成开发调试工具,能够生成紧凑并且容易理解的汇编代码,生成的目标代码效率高。

系统上电后,主程序先对相关模块进行初始化,然后校验MQTT 协议中的重要参数,若参数无误,则打开网络连接,连接上云服务器,格式化连接报文,并对以下各部分报文进行校验:连接及确认连接报文、订阅及确认订阅报文、发布及确认发布报文。 单片机通过RS232 公对母交叉串口线从串口2 将数据经由4G 模块传输至云服务器,在这个过程中,4G 模块有等待服务器应答的时间,一旦超过时间,需要重新连接服务器,若无误,4G 模块会正常与云服务器进行数据交互;若出现异常报文,单片机的串口2 会停止数据传输并进行相应的处理,与之相连的4G 模块的串口也会停止数据收发。

4 系统测试及结果

系统测试分为模块测试及整体测试。 模块测试为整体测试铺垫基础,有利于了解各模块的工作原理及实现通信的方式,并确保这两部分的通信链路是能够连通的,分为4G 模块通信测试和MQTTBOX 通信测试。 模块测试成功后,便在Keil uVision5 集成开发环境上编程,将上位机、4G 模块、STM32F407 单片机结合起来完成系统的整体测试。

4.1 4G 模块通信测试

4G 模块通信测试主要目的是了解MQTT 连接及订阅报文的形式,模拟MQTTBOX 通信过程中发送连接及订阅报文,并能够收到相应格式的回复报文,以此判断4G 模块模拟MQTTBOX 通信是否成功。 打开4G模块测试软件,将IP 地址及端口号配置成阿里云服务器的IP 地址和端口号,并将4G 模块与STM32F407 单片机波特率配置为115 200,数据位为8 位,停止位为1位,无奇偶校验位。

4.2 MQTTBOX 通信测试

MQTTBOX 是一个具有友好的可视化界面的MQTT 客户端工具,有以下特点:支持TCP, Web Sockets,并且支持安全的Web Sockets 连接MQTT 服务器;能够发布和订阅多个主题,其中主题能够进行单级和多级订阅。

打开MQTTBOX,点击设置按钮,进入界面设置MQTT CLIENT 的参数,如客户端名字、连接所使用的协议、用户名、主机地址及端口号、密码、服务质量等级等,并且可以根据需要设置连接超时时间。 设置完成后,返回界面,添加Publisher 和Subscriber,发布和订阅消息,可以看到订阅方能够成功地收到发布方的消息。

4.3 整体测试

模块测试成功后,将上位机、4G 模块、STM32F407单片机连接上电,调试系统软件。 图2 是系统的程序设计框图,通过观察LED 灯的变化和MQTTBOX 的订阅消息来判断相应的报文是否发送成功。

图2 系统程序设计流程

代码调试完成后,在MQTTBOX 上订阅主题为“/sensor/data”的内容,可以在订阅框中看到STM32F407单片机模拟MQTTBOX 在一定时间间隔内发布的温度消息,温度值会以0.5 的差值不断往上增加,直到最大值为38。 与此同时,在Thingsboard 上可以接收到STM32F407 单片机模拟MQTTBOX 发布的消息,相应设备的温度值与MQTTBOX 订阅消息框中接收的值同步变化。

5 结语

4G 技术已经日趋成熟,应用场景也逐渐多元化,本系统瞄准4G 技术在广域物联网的应用,4G 模块充当智能网关角色,管理人员可以在云服务器中查看并管理4G 智能网关所管理的各个节点信息。 同时,系统中使用的MQTT 轻量级消息传输协议为低带宽网络远程传感器和通信设备提供了良好的选择,不但能够提供实时可靠的数据传输,同时支持多个订阅方订阅同一主题,特别适合应用在被视为继互联网之后的又一次信息技术革命浪潮的物联网场景中,具有很高的应用价值。

猜你喜欢

报文串口客户端
基于J1939 协议多包报文的时序研究及应用
浅谈AB PLC串口跟RFID传感器的通讯应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
ATS与列车通信报文分析
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信