APP下载

一种基于ARM 架构便携式农作物监测设备的设计

2021-04-07杨笃伟

农村科学实验 2021年1期
关键词:内核串口农作物

杨笃伟 邵 彧

(郑州西亚斯学院,河南 郑州 451100)

1.前言

在农业生产过程中,以图像识别技术为基础的农作物监测方法得到了广泛应用,利用分布式终端、飞行器和便携式设备,对农作物叶片、根系以及形状色度等进行拍照,然后将图片等信息传送给具有专家数据库的服务器,利用神经网络、自适应阈值等技术手段进行处理,可以对各种农作物的生长情况和病虫害进行准确监测。作为第一手信息收集的终端设备,由于受地理环境、成本和研发周期等诸多因素的影响,如何能做到高效灵活就显得尤为重要,近年来硬件上以ARM 架构为核心扩展各种外设接口,软件系统加载Linux 操作系统内核,成为嵌入式系统设计的主流,以这种模式研发便携式农作物监测设备必将具有良好广阔的应用前景。

2.总体设计思想

在设计农作物病虫害和生长情况便携式监测设备中首先综合考虑了以下因素:一是成像,图像识别技术可以说是目前应用最为广泛、最为有效的农作物监测技术,高清晰度无失真的图像获取极为关键;二是设备的可达性,随着地理环境的不同和农作物生长情况的不同,成像时应能方便图像的获取,所以可采用简易的具有伸缩能力的360°机械臂、无人机等装置;三是地理位置获取,便携装置往往会在一个较大地理区域获得一段时区的农作物信息,图像信息叠加位置信息会为后期数据处理带来便利;四是采集信息的传输,如果要对信息进行综合处理以达到最大化的监控效果,后台服务器是必不可少的,这就需要便携式设备能将采集的信息方便快速地传输到服务器;另外,关于土地墒情、环境温湿度和研发费用周期等因素也可以作为设计要素一并考虑。

基于以上考虑本设计采用基于ARM Cortex-A9 的Freescale 公 司ARM926EJ-S 内 核 的 MCIMX28x,主 频454MHz,软件系统加载经过裁剪的Linux2.6.35 内核,基于视频驱动接口V4L2 实现中星微ZC30 摄像头的本地视频采集功能,采用瑞士u-blox 公司的GPS 模块芯片实现串口位置信息采集,采用SIMCOM 公司推出的新一代GPRS SIM900A 模块实现便携式设备和服务器之间的信息无线传输,另外,还统一设置了触摸屏、LED 灯状态显示和存储器单元等模块,系统总体框图如图所示。

图一 图像识别系统框图

3.硬件单元模块设计

本便携式设备设计以周立功EasyARM-i.MX280A 开发板和AP-283 扩展板为基础平台,根据任务需求裁剪其开源的原理图模块,在此基础上制作PCB 板,完成硬件设备组装和调试。

3.1 主控核心单元

本设备采用 Freescale 基于 ARM9 内核的i.MX28 为核心处理器,处理器主频最高达 454MHz,其他资源包括DDR2 和NAND Flash 支持,并提供多路 UART、USB、10/100M 以太网接口和CMOS 摄像头接口,集成显示屏模块和看门狗复位监控电路,能很好满足多种类型的数据实时采集。

3.2 图像采集模块

本设备图像采集采用中星微公司的ZC30 摄像头,需要拍摄的农作物画面通过图像传感器转换为模拟电信号,然后通过内部的A/D 电路转换成数字信号,并由专用的DSP 芯片进行数字信号的进一步加工和处理,通过USB接口传送到主控单元进行存储和实时显示,图像采集速度和质量都能很好满足任务要求。

3.3 GPS 信息模块

GPS 位置定位与时间信息的获取采用瑞士u-blox 公司的NEO-6M 芯片模块,体积小、性能优,自带陶瓷天线及高增益LNA 芯片,搜星能力强,该芯片使用串口与主控单元连接,数据帧采用GPS 标准的NMEA 0183 格式,波特率设置为9600bps。

3.4 GPRS 通讯模块

本便携式设备与后期处理服务器的信息传输可以采取多种方式,考虑到高速分组数据的网络传输,选择采用GPRS 通讯模式,电路选用的GPRS 模块为SIMCom 公司的SIM800,其有多个工作频段,特别适用于物联网无线数据通讯。当模块上电启动并RDY 后,使用默认速率115200 与主控单元通信,接口使用一般串口连接方式。

4.软件系统设计

本便携式设备的硬件单元模块由于是从基础开发板裁剪而来,所以相对简单,大量工作是关于软件功能模块的设计开发,其中包括集成开发环境的构建、Linux 操作系统内核的裁剪与加载、外设功能模块的驱动开发以及用户程序的开发与调试等。

4.1 构建集成开发环境

作为一种典型的软硬件定制的嵌入式设备,各种资源相对有限,所以本监测设备的软件系统在通用计算机上进行开发,首先就需要构建一体化的集成与开发环境,在通用计算机上通过虚拟机方式安装Ubuntu 操作系统作为软件开发平台,安装ARM-Linux-GCC 交叉编译器和GDB调试器,建立通用计算机与目标设备之间的串口连接,通过TFTP 传输加载Linux 操作系统内核,通过SSH 和NFS实现驱动程序和用户程序的网络传输与调试。

4.2 Linux 内核编译与驱动模块设计

操作系统内核是设备资源管理和任务调度的基础,根据嵌入式设备硬件资源的不同,操作系统内核必须经过裁剪、编译和加载,本设备以Linux2.6.35 内核为基础,通过图形交互方式配置界面构建Makefile 文件,交叉编译好的内核通过网络TFTP 简单文件传输协议加载到目标设备。

由于摄像头、GSP 和GPRS 模块都采用了通用的USB和异步通讯串口,所以外设接口驱动相对简单,将相应接口的驱动集成到一体化内核即可,相关数据信息由对应的用户程序进行处理。

4.3 软件功能模块的用户程序设计

4.3.1 图像采集模块

摄像头模块基于V4L2 视频驱动接口实现本地视频采集功能。V4L2 是Linux 操作系统下开发视频采集设备驱动应用程序的一套规范,该规范以层级框架的形式定义了程序开发清晰的模型和通用的接口,V4L2 规范中不仅定义了通用的API 接口,还对图像的格式、图像的输入/输出方法和不同视频信息处理的一系列通道接口进行了定义,通过调用功能模块函数就能实现相应功能。

功能程序流程包括以下几个环节:通过打开/dev/videoN 设备文件打开视频设备,读取摄像头的状态信息、选择视频输入、设置视频制式和帧格式、向驱动申请帧缓冲、将申请到的帧缓冲映射到用户空间里、将申请到的帧缓冲全部队列排队、开始视频的采集、进一步的视频处理、停止视频的采集、关闭视频设备。

4.3.2 GPS 空间定位和定时模块

GPS 模块采用NEO-6 芯片,通过串口来实现空间定位和UTC 时间的数据传输,串口通讯协议采用世界通用的NMEA 0183 格式,ASCII 编码,波特率设置为9600bps,数据位8 位,1 位开始位,1 位停止位,无奇偶校验位。根据命令的不同可以传输不等长的各种数据帧,包括全球定位数据、卫星PRN 数据、卫星状态信息、运输定位数据、地面速度信息、大地坐标信息和UTC时间和日期等,数据帧格式为$aaccc,ddd,ddd,…,ddd*hh<CR><LF>,其中“$”为帧命令起始位,aaccc 是地址域,ddd…ddd 为有效数据,“*”为校验和前缀,hh代表校验和,用ASCII 码回车和换行表示帧结束,应用程序只要按协议规定的格式给出命令和提取特征数据段,就能实现定位和定时信息的获取。

4.3.3 GPRS 通讯模块

SIM900A 通过标准的RS-232 串行接口实现与主控单元的信息传输,本设备采用起始默认的115200bps 波特率。对该功能模块编程十分简单方便,使用标准的AT 命令集就能实现,该命令集包括一般命令、呼叫控制命令、网络服务相关命令、电话本命令、短消息命令和GPRS 命令等,应用程序通过发给GPRS 模块的不同AT 命令字符串就能控制其相应行为。

5.结语

本文利用目前十分普遍的ARM+Linux 嵌入式设备设计模式,研发了一款便携式的农作物监测设备,可以很好地应用在多种农作物病虫害和生长过程的监控上,研发周期短、性价比高,如果进一步增加现场诊断模块还能更好发挥性能。

猜你喜欢

内核串口农作物
土壤污染与农作物
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
万物皆可IP的时代,我们当夯实的IP内核是什么?
强化『高新』内核 打造农业『硅谷』
浅谈AB PLC串口跟RFID传感器的通讯应用
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
USB接口的多串口数据并行接收方法探索