李嘉鹏 王心愉 蒋雨龙 李丹丹* 王仕臣
(东北林业大学 机电工程学院,黑龙江 哈尔滨150040)
随着社会的进步,计算机信息技术的发展,智能科技代替人工人力的技术越来越成熟,自动化、信息化的发展使得工作的完成更高效、更经济。当前GPRS 技术已经非常成熟,基于GPRS 的无线通讯技术使得我们在进行数据传输有了技术保证。
智能检测小车,是基于计算机科学发展诞生的一种检测工具。基于以上内容,一款基于GPRS 技术的无线传输系统设计能够满足技术的监控和数据的反馈,使用GPRS 无线通讯模块使得将在小车移动过程中可以根据各个传感器中的数据及时进行反馈,单片机实现实时收集、存储、处理、监控、反馈相关数据,进行可靠传输。通过当前人们熟悉的GPRS 传输模块与单片机相结合,进行数据检测与处理,实现森林防火与预警。
基于GPRS 的数据传输系统采集的数据包括温度数据、肥力数据、火灾预警等数据收集。硬件系统总体框图如图1。
图1 硬件系统总体框图
本设计运用STM32 结合GPRS 无线通讯模块完成对温度、肥力信息、火灾预报等数据的监控与传输,通过数据的接收,单片机对数据进行处理,然后通过GPRS 模块将数据传送。在进行数据收集是应该注意即使进行数据更新,从而保持传送数据的实时性,本设计中采用SIM800A 模块,该模块有综合的功能能够保证高效的数据传输。
本系统计主要使用STM32-F103-VET6 进行实现。GPRS 技术运用分组交换技术,即将一个报文分成若干小的分组,然后进行存储下来后查找转发表,转发到下一个结点,其相比于传统采用电路交换的GSM 来说,速度更快,延时更小,准确性更高。使用GPRS 模块为SIM-800A,SIM800A 模块可支持4 频GSM/G PRS,工作频段为GSM 850MHZ、EGSM 900MHZ、DCS 1800MHZ 和PCS 1900MHZ。
本系统由三个部分组成:数据采集模块、数据收发单元、作为数据处理的上位机。其中数据采集运用各类传感器采集温度、湿度、土壤信息等,数据处理部分运用STM32 单片机,通过单片机上的GPRS 模块使得每一个采集模块得到的数据发送给上位机,上位机位于监控室的PC 端,从而进行数据的存储、处理、分析。
(1)本设计所使用湿度传感器为RS485 数字传感器,它会把温度转化为对应范围的二进制代码,比如传感器的测温范围是0 到100°,那对应输出的二进制代码是0x00 到0xFF,因为已经是数字信号,单片机可以直接识别[3]。
(2)本设计所用超声波传感器为US-100 超声波测距模块,该模块性能稳定,测度距离精准,模块高精度,盲区小,遮挡物面积一般应大于0.5 平方米,切不可太薄。测距模块的原理图如图2 所示。
图2 US-100 超声波测距模块
本模块中触发信号由Trig 端口从单片机想超声波模块发出,告诉超声波测距模块一个测距信号,超声波测距模块接收到信号后,超声波模块会发出8 个40kHZ 的方波,检测是否有信号返回,如果有信号返回,Echo 会给单片机输入回响信号,为高电平信号,且输出的时间与检测距离成比例,因此用公式,可以将信号返回时间换算成两者间的距离,通常将测量周期设置为60ms 以上,防止发射信号对回响信号产生影响。
因为两种模块均采用RS485 进行串口通讯,RS485 是半双工的工作方式,但是可以做到多个发送多个接收,即挂在总线上的设备都可以进行发送跟接收通过对单片机进行控制,进而控制单片机对ROM进行编辑当作程序存储器,存储数据。
在采集装置中,STM32 通过向GPRS 模块串口发送AT 指令,控制所采集到的信息的无线传输。GPRS 模块数据传输程序设计包括模块初始化、建立连接、数据发送、关闭连接的过程。
在本设计中,与GPRS 模块相连的为STM32 的USART4 串口,微控制器经串口控制现场通信模块和GPRS 模块的工作。具体图示如图3 所示。
图3 GPRS 与Internet 连接示意图
其中当模块启动的时候主控器通过AT 指令与SIM800A 模块完成通信连接。STM32 主控器通过返回确认值确定SIM32 的工作状态,完成网络注册程序。
当GPRS 出现数据传输异常的情况发生时,比如TCP 发送数据错误或者TCP 连接中断,则用“AT+CIPCLOSE”指令关闭链接,然后用“AT+CIPSTART”新建链接,此过程可重复进行两次;如果仍有错误发生,则使用“AT+CIPSHUT”关闭PDP 上下文然后重新建立链接。如果上述两种方法仍无法解决传输异常的问题,保存采集数据于芯片中,然后对模块进行重启,下次重新建立连接,续传断点数据。
GPRS 数据接收的系统通过设计上位机数据接收软件,用于实现上位机与下位机间的数据传递与交换。其中数据接收软件采用Python/C 语言开发,软件开发环境为Pycharm。Pycharm是Python 语言软件开发工具包并适用于多种环境,数据接收软件的功能用来进行采集数据收集装置的数据帧,同时配置采集装置的信息,进而完成采集周期,脉冲设置等参数的设定。采集装置与接收软件的数据交互及信息配置数据包有:采集装置的请求数据包、数据接收软件的周期配置数据包、采集装置采集的实时数据包、数据接收软件的确认接收数据包等。数据接收软件最终将交互数据存于log 文件中,用于数据展示、分析、查询等,GPRS 的数据传输系统流程图如图4 所示。
为了实现与信息采集装置的数据交互,数据接收软件需要具备的功能有:初始化并配置文件读写、连接采集装置监听客户端、数据接收线程以及数据回复线程、数据存储、数据动态显示还有日志记录等。
图4 GPRS 的数据传输流程图
数据接收软件将解析后的有用数据存入数据库中来以供日后数据调取和数据分析之用,并展示出所得的数据,然后进行。数据接收软件对检测到的信息进行分类存储,包括空气温湿度,土壤ph 值,土壤氮磷钾肥力的数据等。
数据发送和接收需注意两点:
(1)在数据发送/接收时要应用USART_Get Flag Status()函数检查USART4 的状态,只有等到数据发送或接收完毕之后才能进行下一帧数据的发送或接收。
(2)在数据发送开始前,需清除USART4 的标志位,否则会第1 位数据会丢失。
图5 程序设计流程
程序的主要流程图如图5 所示。STM32F103 单片机作为整个系统的核心控制部分,主要采集、处理和传输传感器传输过来的数据,STM32F103 单片机带有数模转换通道,由数模转换通道再由单片机上的GPRS 传输模块,将数据传输给上位机,上位机再进行存储与处理,单片机可以自动判断当前的具体情况,进行判断,判断数据是否达到设定数值,然后进行报警,通过单片机的数据处理进而得到相应的状态分析,进而使得总系统做出相应的反应。
GPRS 模块与单片机之间采用串口通信、分组交换,当传感器采集到的数据,通过单片机的分析与处理后,由单片机已经编写好的程序进行数据的处理,得出是否需要进行警报,并把数据传给上位机。
本系统中采用的主要传感器为超声波测距传感器,采用HC-SR04 模块工作电压3~5.5V。在5V 工作电压下,探测距离为2~450cm。在3.3V 工作电压,探测范围为2~400cm。使用方法为接通VCC 和GND,出发引脚接提供超过10 微秒的电频,发射端将发射脉冲,遇到障碍物反射后接受,经过芯片处理,在回收引脚会场生一段时间高电平。经过单片机可以计算出超声波发射到接受过程需要的时间,根据声速可以算出距离。用来进行距离的测量和路径的规划,超声波传感器为数字信号的输出,将超声波测距模块的输出信号,直接输出给单片机,单片机通过GPRS 模块把从超声波传感器所获得的信号,进行放大、处理、判断、传输,进而使得单片机做出相应的动作,从而完成对于从障碍物的避障。
本论文使用STM32F103X 系列作为控制板,实现上位机与下位机之间的通讯,通过GPRS 模块进而实现对于两者之间的数据传输,GPRS 为现在常用的远距了,离通讯模块,当两个模块成功配对的时候,即可进行两者间的无线通讯,通过使用GPRS 传输故模块即可解放劳动力,减少人力资源,解放生产力,智能化的现代林场的管理,改善了林区检测范围大,人力投入多的现状,本文也有需要改进的地方,例如通过使用更高端的通讯方式,例如使用5G+技术,使得林区作业可以进行更为精确的操作,林区网上育种是一个更好的发展方向。