您的位置 首页 5G

STM32的GPRS农田多点图画传输体系规划

摘要:设计了基于32位STM32F103VET6微控制器的农田多点图像传输系统,重点介绍了其软件和硬件的设计过程。在Visual C++6.0平台,运用Windows socket编写PC端多线程的服

摘要:规划了依据32位STM32F103VET6微操控器的农田多点图画传输体系,要点介绍了其软件和硬件的规划进程。在Visual C++6.0渠道,运用Windows socket编写PC端多线程的服务器程序,对农田多个方位的监测终端设备进行图画传输、接纳和存储。该体系完结了图画从监测端到PC服务器的传输和保存等功用。农田测验成果标明,该体系运转安稳,图画传输速度较快。

导言

农田图画的监测和传输关于农田办理具有指导意义,其间的农田作物图画含有的信息量大、形象直观,对农田合理和高效办理起着重要效果,因而研讨该项技能十分必要。传统的农田作物图画传输往往运用总线结构或以太网网络等有线办法进行图画传输,光纤常用于远距离的图画传输,这些有线的图画传输办法都不灵敏,而且在许多条件恶劣的当地,因为农田需求监控的区域广、监控的农田作物繁复,需求花费很多人力、物力。跟着图画处理和移动网络传输技能的快速开展,无线的图画传输办法得到技能人员的喜爱。GPRS网络具有时刻在线、网络架构老练、以流量计费等长处,可依据用户需求进行农田作物图画数据量间歇地传输。SIM900A模块是面向我国的GPRS模块,具有双频信号。依据GPRS技能特色,结合农田图画多监测点的需求,研讨和规划了依据SIM900A模块STM32F103VET6微操控器的农田多点图画传输体系,结合网络套接字通讯软件技能,完结了对农田多点图画的长途监测和图片的本地存储。

1 体系整体规划

多点图画传输体系以STM32微操控器为主控芯片,结合网络套接字通讯软件技能,完结图画处理紧缩和长途传输两大功用。本规划用STM32F103VET6(以下简称STM32)芯片操控CMOS图画传感器OV2640获取图画,OV2640能够通过硬件电路完结JPEG紧缩算法,在不影响作物观测效果的前提下减小了图画数据量,为图画的无线传输供给了便利。

图画传感器收集模仿信号转化成相应的数字量,通过8位并行口发送给STM32,STM32将数据发送给SIM900A,数据经SIM900A打包成TCP/IP数据包,然后通过无线网络运营商的网关服务器,接入Internet,将收集到的图画数据发送给服务器。本规划运用具有公网固定IP地址的微机作TCP服务器。体系整体结构规划如图1所示。

a.jpg

2 监控体系硬件规划

通过STM32操控OV2640收集农田图画,并通过GPRS模块把数据传输给服务器,体系硬件电路首要包含以下几部分:图画传感器模块、微操控器模块、GPRS通讯模块,电源办理模块。图画收集由OV2640传感器完结,担任收集农田作物的图画,并将模仿数据转化成数字量,微操控器通过8位并行数据口接纳图画数据。GPRS通讯模块担任把微操控器发送来的图画数据通过天线传入Internet,电源办理模块为体系供给安稳的电源。

2.1 微操控器模块

STM32F103VET6是高功用、低功耗的32位微操控器,8 MHz的外部晶振经倍频后时钟频率可到达72MHz,丰厚的外设资源、大容量的FLASH和SRAM存储器能够满意体系规划要求,其较强的运算才能能够确保大批量图画数据快速传输和处理。SPI、UART等丰厚的串行接口使得操控器与外部芯片数据交换愈加自在灵敏。STM32接口的PC0~PC7作为OV2640并行数据交换口,PA9和PA10组成的UART1作为操控OV2640的信号口运用,PA2和PA3组成的UART2与SIM900A进行串口通讯。

2.2 OV2640图画传感器作业原理

为了收集到明晰的农田作物图画,Omnivision公司的OV2640型图画传感器最高图片输出分辨率为1600×1200。此传感器内部集成了JPEG紧缩电路,能够通过编程完结原始的200万像素图片的JPEG紧缩,使得图画数据量很多削减,便于GPRS网络传输,功耗也随之下降。

STM32通过PC0~PC7端口与OV2640的8位数据线D0~D7通讯,行同步信号HREF、像素同步信号PCLK,以及场同步信号VSYNC和SCCB总线的SDA和SCL信号,用于对传感器设备进行图画收集的进程操控。图画传感器接口电路规划如图2所示,图2中AVDD2.8V和DOVDD2.8V由3.3V电源通过LM1117—2.85芯片得到;AVDD2.8V与DOVDD2.8V通过0 Ω电阻相连,此办法削减了彼此搅扰,XCLK由24 MHz的有源晶振输出供给信号;DVDD1.5V由LM1117—1.5输出得到74LVC1G00是与非门电路。

b.jpg

HREF是高电平有用,场同步信号VSYNC是低电平有用。当引脚VSYNC为高电平时,标明一帧数据现已准备好;当由高电平变成低电平时,标明开端传输一帧图画数据。为了得到有用的像素数据,需求两个中止信号,捕获场同步VSYNC的信号送入中止引脚PB8,捕获HREF和PCLK的与非信号输出到PB13中止引脚,使得内行信号无效时不输出像素同步信号,用其输出信号作为像素数据同步。OV2640的作业方式是由内部寄存器确认的,其与外部的接口为SCCB总线,STM32通过PA9和PA10引脚模仿SCCB总线时序读写OV2640寄存器,设置其作业方式,本规划设置了输出图画的分辨率、亮度、格局等。STM32作业在主方式,对作业在从方式的OV2640内部的寄存器进行装备,装备完结后经一段图画收集时刻后,OV2640即开端依照装备的方式作业。本规划图画输出格局为JPG,分辨率为640×480。

2.3 图画处理软件规划

图画处理程序担任OV2640初始化装备,以便完结图画的收集功用。通过检测场同步信号VSYNC判别一帧图画的开端方位,程序中规划128个内存单元,能够使体系运转流通。中止程序检测像素同步信号PCLK来收集图画数据,当PCLK为下降沿时,读取D0~D7口数据,并存入内存,等候发送信号的到来,这就完结了图画的收集与发送。

图画收集操控程序是依据OV2640指令集编写的。init()函数用于设置图片巨细、通讯波特率和图片紧缩率等图片参数,初始化的时分必须封闭串口1,start()函数用于宣布摄影指令,get()函数完结获取图片信息的功用。

2.4 GPRS通讯模块

SIM900A是2频的GSM/GPRS模块,作业频段为900 MHz或1800 MHz,选用SMT封装,SIM900A型针对我国区域。SIM900A功用安稳、体积小、支撑规范和扩展的AT指令。SIM900A还支撑GPRS class8/class10和CS-1、CS-2、CS-3和CS-4的GPRS编码格局,能够低功耗完结语音、SMS、数据的传输。SIM900A和STM32之间的通讯首要是通过端口RXD与STM32上的UART2~TXD,TXD与UART2~RXD之间的数据交换来完结。其间,SIM900A上的UART2~TXD是发送串行数据口,UART2~RXD是接纳数据口。

STM32通过AT指令和SIM900A模块进行通讯,这些指令是以一般字符串的方式传输的。每个AT指令履行后,模块都会反应状况信息,标明指令履行的成果,便利程序员了解程序的履行状况,要用到AT扩展指令中的TCP/IP型。

2.5 GPRS通讯模块与SIM卡的衔接

SIM卡具有5个引脚,别离为SIM卡时钟信号、电源引脚、数据引脚、状况引脚和复位引脚。SIM卡的电源电压为1.8 V,SIM900A模块对其供电。

2.6 电源办理

STM32的典型供电电压是3.3 V,本规划选用9 V电源供电,要供给9~3.3 V电压转化,以LM2576-ADJ芯片为中心的电源电路可为STM32供给3.3 V的电压。LM2576-ADJ最大可供给2 A的电流。

SIM900A模块典型供电电压值为4 V,天线发送信号时的瞬时最大电流可到达2 A左右,电流增大会使SIM900A电压突降,影响体系安稳性和发射功率。选用低压差的M%&&&&&%29302电源芯片和电源引脚并接大容量%&&&&&%能够处理此问题,回差电压低于0.3 V,可供给高达2.8 A左右的电流,能够满意SIM900A峰值电流2 A的要求,9 V电源契合其输入电压规模。

3 监测端图画发送软件规划

在Keil uVision4.12集成环境下,开发了监测端图画发送程序,首要进行各模块的初始化作业,使能STM32相关中止,接着STM32操控OV2640摄影和图片的紧缩,紧缩完结后,接着将流式数据通过8位并口存入SRAM为10 428字节的数组中。设置串口2的波特率,并将流式数据通过串口2发送至SIM900A,STM32一起操控SIM900A通过GPRS网络衔接TCP服务器,衔接进程中首要初始化网络,即激活移动场景,接着查询附着是否成功,不然手动附着,并向Internet上具有设定IP地址的服务器通过AT+CIPSTART指令恳求树立衔接,将AT+CIPSTART指令回来的IP地址和端口号寄存到一个buff中,然后将这个buff里的内容写入到串口2中。假如之后能够读取到回来值“CONNECT OK”,就标明TCP衔接现已成功树立,失利则收到“CONNECT FAIL”;TCP衔接树立成功后,设置协议为TCP,SIM900A恳求发送。

接着运用AT+CIPSEND指令发送信息,监测端将图片分解成若干个数据包,依照GPRS编码格局组成数据包,将数据包发送到服务器,需求先发送数据包头,为了确保图片传送的完整性,每次在发送下一个数据包之前,需等候上个包发送成功的回复,若发送成功回来指令“OK”,不然回来“FAIL”,体系从头发送,以确保数据包被成功交给。

最终等图片信息包发送结束后,发送AT+CIP-CLOSE指令封闭衔接。此AT指令没有回来值,直接将该指令写到串口2中,假如检测到“CLOSE OK”信息,就标明TCP衔接现已被封闭。

服务器端的监听口接纳TCP数据包,因为选用多线程规划,多个点的图画监测设备能够一起发送图画数据到服务器。按程序流程给出进行TCP传输时用到的AT扩展指令和相关缓存区界说。

c.jpg

4 多线程的服务器端软件规划

依据Visual C++6.0渠道开发了服务器端对话框方式的程序界面,服务器端程序规划首要运用C/S架构的套接字,服务器端程序首要包含3大部分:数据流接纳、数据文件处理并显现和图片的硬盘存储。主线程和用户子线程别离承当不同的使命:主线程担任用户子线程的创立、界面事情的响应和图片文件存储等作业。监测子线程首要完结发送开端收集指令和与监测端进行通讯的功用,接纳完图画信息后在界面窗口中显现。各线程运转时彼此独立,因而每个监测端与服务器的数据传输互不影响。为了避免呈现GPRS网络衔接中止的状况,程序中选用了断点续传的弥补办法,确保了数据传输进程的精确和可靠性。

在单个监测子线程规划中,首要创立监听的socket(),用于接纳来自网络端口的数据流,而且分配足够大的缓冲区用于寄存接纳到的数据包。在图片接纳进程中,服务器接纳的是分包数据流,依据数据包的包头进行数据包的摆放,并运用校验位进行数据包校验。当数据包接纳完结后校验完好性,然后将数据包保存到一个文件中,最终调用OpenCV中的库函数完结对生成的文件进行解码显现。在硬盘上依照体系要求的文件名树立3个文件夹,即可主动存入3个不同地址的农田图片。监测端程序如图3所示,服务器端单个监测子线程的作业流程如图4所示。

d.jpg

5 体系测验与剖析

本规划通过SCCB总线设置OV2640的图画巨细为JPEG紧缩格局,即分辨率为640×480,通过JPEG紧缩后数据量从185 KB下降至17 KB左右。样机制造完结后通过屡次测验,传输速率可达10 Kbps,传输中存在断点状况,续传功用发挥了效果。图画文件发送到服务器端时刻测验成果如表1所列。

e.jpg

结语

本文规划的依据STM32的GPRS农田多点图画传输体系,具有体积小、监控规模大等长处,克服了现场布线本钱高、环境恶劣等难题,为农田图画监测和传输提出了一种处理方案。因为GPRS通讯流量资费、速度和网络质量的约束,体系传输的图画分辨率不是很高。跟着4G网络技能的开展,该体系的架构很简单升级到4G网络进行长途的语音、高清图画传输。

  • STM32单片机中文官网
  • STM32单片机官方开发工具
  • STM32单片机参阅规划

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/293336.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部