APP下载

一种基于GPRS与485总线的无线采集器的设计

2017-06-23于镭崔宪伟

物联网技术 2017年6期
关键词:采集器总线大棚

于镭+崔宪伟

摘 要:针对传统大棚环境检测仪器存在的不足,文中结合大棚实时监测的客观要求,提出了一种基于GPRS网络和485总线的无线采集器设计方案。该采集器以微处理器STM32和SIM800A为核心,完成了采集器的硬件设计。无线采集器下行通过485总线与传感器进行通信,上行通过GPRS与OneNet平台通信。实验测试结果表明,该采集器工作稳定,容易搭建,成本低,可以实现大棚环境的远程实时在线监测,满足用户需求。

关键词:STM32;GPRS;485总线;OneNet

中图分类号:TP311 文献标识码:A 文章编号:2095-1302(2017)06-00-03

0 引 言

长期以来,用户对大棚数据的采集主要通过人工方式进行,不仅浪费了大量人力,还存在采集不及时,误读等不足,无法满足用户对大棚环境的及时监测要求。如今,实时准确的对大棚环境进行检测,对大棚环境的优化控制与提高作物的产能具有重要意义。

本文所设计的采集器是采集系统的核心部件,利用485总线与传感器通信,实时读取传感器数据,并通过GPRS将数据传送至OneNet云平台。使得用户能够通过手机App或登录网页及时准确地了解大棚的环境情况,既节约了人力,又提高了采集的准确性与实时性,大大减少了搭建和检测成本。

1 总体方案

采集器由RS 485采集模块、电源模块、液晶屏模块及GPRS无线通讯模块组成,系统框图如图1所示。首先采集器采用Modbus协议通过RS 485总线与传感器进行通讯,采集数据,再由STM32进行数据处理;数据经处理后由液晶屏显示并经GPRS模块SIM800A将数据传送至云平台。终端用户通过网络访问、查询需要的数据。

2 采集器的硬件设计

采集器采用ST公司Cortex-M3内核的32位增强型微控STM32F103RCT6作为控制核心,此芯片专为高性能、低成本、低功耗的嵌入式应用设计。Cortex-M3内核支持Thumb指令集,具有很高的指令效率。STM32单片机具有很多高性能外设。内置64 KBSRAM、512 KB Flash,不仅具有丰富的通信接口I2C,USART、CAN、USB以及以太网等,还具有12位的DAC模块及DMA控制器。尤其适合高速、大容量的分布式采集系统。以本文的STM32F103RC为例,其具有3个12位的ADC、12位DMA控制器,4个定时器,5个USART、1个USB、1个CAN、2个I2C、2个I2S和3个SPI。STM32F103RC的工作频率为72 MHz。STM32微控制器的性能高,且价格比32位的ARM处理器和DSP低,完全满足无线采集器的设计要求。

2.1 RS 485通讯模块设计

RS 485通信方式具有結构简单,技术成熟,价格低廉,传输距离远等优点,广泛应用于工业现场。RS 485总线采用平衡发送和差动接收方式进行通信,同时使用主带多从的通信方式,最多可接256个设备,适合一主机多从机的使用场合,因其具有传输距离远,传输速率高等优点而被广泛使用。此次使用的传感器集成了RS 485通信协议。采集器采用Modbus协议与RS 485通信方式进行传感器数据的采集。该采集器的RS 485接口电路主要由低功耗单双工RS 485收发器MAX485组成,符合RS 485串行协议的电气规范,数据传输速率可达10 Mb/s。此芯片可使STM32通过USART串口方便接入RS 485串口总线。设计电路图如图2所示。其中,485RXD3和485TXD3分别对应STM32单片机USART1的发送和接收,485DE控制RS 485数据通讯的传输方向。

2.2 通讯模块

采集器的通讯模块采用SIM800A GPRS模块,该模块是一款两频GSM/GPRS模块, SMT封装,性能稳定,外观小巧,性价比高。SIM800A的工作频率为GSM/GPRS 900/1 800 MHz,可低功耗实现语音、SMS和数据信息的传输。SIM800A的尺寸为24 mm×24 mm×3 mm,适用于各种紧凑型产品的设计需求。模块有AT指令集接口,支持文本和PDU模式的短信与嵌入式TCP/UDP协议。SIM800A串口传输速率的范围为1 200~115 200 b/s。模块主要由GSM基带、存储器、GSM射频、天线接口等组成。

SIM800A电路图如图3所示。

3 软件设计

无线采集主要有STM32对下行485设备数据的采集和对采集的数据进行处理并上传云平台。

软件总流程如图4所示。

STM32通过SIM800A将处理后的数据通过GPRS 网络传输到云平台,上位机PC和手机可以随时随地远程监控大棚。通信前需要将SIM800A进行软硬件初始化,之后STM32轮询下发采集传感器的数据,当遇到采集超时或者帧错误时做相应的处理,按照云平台的设计将采集、处理后的数据上传,循环执行上述步骤。

3.1 Modbus通信协议和程序设计

RS 485总线只定义了网络的物理层,本文采用工业中广泛使用的Modbus协议进行STM32与各传感器通信。Modbus协议按照主—从方式进行网络通信,即只有一个主设备,其他设备根据主设备的指令做出相应的回应。Modbus协议建立了主设备查询的格式,即设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。本文采用单独与每个从设备通信的方式。Modbus有两种数据传输方式(ASCII与RTU),本文中,STM32和传感器采用RTU传输方式。

信息地址包括2个字符(ASCII)或8位(RTU),有效的从机设备地址范围为0~247(十进制),各从机设备的寻址范围为1~247。主机把从机地址放入信息帧的地址区,并向从机寻址。从机响应时,把自己的地址放入响应信息的地址区,让主机识别已作出响应的从机地址。设置传感器的地址和串口ModbusRTU的通信格式就可以接收STM32的询问指令,并返回响应。本文中,STM32采用对各传感器轮询的方式进行数据指令采集,各传感器判断地址是否与自己的地址相同,若相同则返回响应,若不相同则不做处理。当STM32遇到采集超时或者帧错误时应做相应的处理,接收应答,比较校验码,若正确则执行信息解析,否则重发查询信息。ModbusRTU帧格式见表1所列。

3.2 GPRS通信程序设计

GPRS网络是实现现场终端与云平台进行数据交换的桥梁。采集器开机后,STM32对SIM800A进行GPRS初始化,其发送指令如下:

Sim800a_send_cmd("AT","OK",300);

sim800a_send_cmd("AT+CGCLASS=\"B\"","OK、",300);

sim800a_send_cmd("AT+CGDCONT=1,\"IP\",\"CMNET\"","OK",3000);

sim800a_send_cmd("AT+CGATT=1","OK",300);

sim800a_send_cmd("AT+CIPCSGP=1,\"CMNET\"","OK",300);

sim800a_send_cmd("AT+CLPORT=\"TCP\",\"2000\"","OK",300);

sim800a_send_cmd("AT+CIPMODE=1","OK",300);

sim800a_send_cmd(""AT+CIPSTART=\"TCP\",\"183.230.40.39\",\"876\"","CONNECT”,500");//与平台建立TCP连接

采集器与OneNet云平台建立连接后,通过EDP协议方式将采集的数据上发OneNet云平台。上传温度和湿度需发送如下主要指令:

EdpPacket *send_pkg; send_pkg = PacketConnect1((const int8_t *)"设备ID" (const int8_t *)"设备鉴定");

GPRS初始化结束后,就实现了采集器与OneNet平台建立ModbusTCP连接。

GPRS与OneNet平台之间的通信方式为Modbus协议。OneNet支持的Modbus协议基于TCP连接,即Modbus over TCP,OneNet作为主机,将数据封装在TCP数据中进行数据收发,利用DTU的简单透传能力,可实现总线设备与平台的Modbus协议通信,广泛应用到使用Modbus协议的多种行业中。具有如下功能特点:

(1)长连接协议。

(2)OneNet平台作为Modbus主机,周期性下发主机命令。

(3)通过单条数据流的属性确定单条下发命令的内容及下发周期。

(4)自动将终端上报的数据转化为数据流中的数据点。

(5)可预先设置处理公式,对数据进行初步处理。

采集器与OneNet平台保持长连接,一方面将OneNet下发的网络数据转化为总线形式数据,发送至总线,另一方面可将总线设备回复的总线数据转化为网络数据发送至平台,完成平台对整个总线设备的数据采集及控制。采集器与OneNet平台设备进行连接,以产品ID和建立设备时输入的号码、密码为参数,按以下顺序序列化报文,发送至平台,建立设备连接。设备连接格式见表2所列。

4 系统测试

该采集器进行远程监测实验,OneNet平台的界面如图5所示。图5分别展示了一周时间内温度、光照、二氧化碳浓度、温度的检测数据。从远程设备访问OneNet平台,发现检测数据与现场数字485传感器的检测结果相同,且监测稳定,实时性好,数据较传统现场检测设备的准确性高,满足了用户的远程实时监测需求。

5 结 语

本文提出了一种无线采集器设计方法,充分利用STM32丰富的通信接口和高速处理能力,实现485串口转GPRS无线,并且通过免费的OneNet平台能够很好地查询采集到的数据,降低了开发和使用成本,可以适应跨区域、远距离的设备监测,有较高的应用价值。

参考文献

[1]李敏,王凭,白凯.GPRS在嵌入式数据采集系统的应用[J].微计算机信息,2008,24(5):30-32.

[2]梁万勇,江泳,崔光照.基于GPRS的无线污水监测系统[J].微计算机信息,2008, 24(25):173-174.

[3]孙刚,吴文彪,郑文刚,等.采用MODBUS的灌溉用水远程自动抄表系统[J].农业工程学报,2008,24(S2): 76-80.

[4]彭道剛, 张浩, 李辉,等.基于Modbus协议的ARM嵌入式监测平台设计与实现[J]. 电力自动化设备,2009,29(1):115-119.

[5]田晋羽,吴迪,刘建秋.基于RS485的现场总线监控系统的设计[J].中国科技博览,2009(10):105.

[6]管继刚.物联网技术在智能农业中的应用[J].通信管理与技术,2010(3):34-37,52.

[7]王铁流,冯正乾,周尚.基于SIM900的无线远程海洋监测终端机的设计[J].电子测量技术,2012(12):108-111.

[8]潘良,刘宏立.GPRS技术在智能公交管理系统中的应用与研究[J].计算机工程与科学,2009(11):153-155.

[9]徐利谋,黄长远.基于GPRS和ZigBee的城市路灯监控系统的研究与实现[J].物联网技术,2016,6(6):34-35.

[10]刘安厚.基于GPRS的电梯远程监控系统[D].重庆:重庆大学,2009.

猜你喜欢

采集器总线大棚
大棚妹子
大棚换茬季 肥料怎么选
谨防大棚房死灰复燃
原地翻建大棚 注意啥
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于ZigBee的大型公共建筑能耗采集器设计
基于LabVIEW的多数据采集器自动监控软件设计与开发
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计