2012年 2月
第 33卷 第 2期
计算机工程与设计
COM PUTER ENGINEERING AND DESIGN
Feb.2012
Vo1.33 No.2
嵌入式手持无线农产品价格信息采集终端
张石锐 ,郑文刚 ,申长军 ,邢 振
(1.国家农业信息化工程技术研究中心,北京 100097;
2.上海交通大学 机械与动力工程学院,上海 20O24O)
摘 要:手持无线农产品价格信息采集终端采用 ARM-Linux嵌入式体 系设计,通过 GPRS无线网络向远程服务器上传农
产品价格信息同时接收系统的采集指令。手持终端利用 Qtopia core用户界面支持 ,提供了友好的用户界面,并利用嵌入式
数据库实现农产品种类和历史记录的管理 ,使用户操作简单、直观、方便。手持无线农产品价格信息采集终端为农产品价
格采集系统提供了具有良好用户体验的终端设备,为在全国范围内实现农产品价格监控提供了技术保障。
关键词 :价格采集;手持终端;嵌入式系统;无线网络;嵌入式图形用户界面
中图法分类号:TP274.2 文献标识号:A 文章编号 :1000—7024(2012)02—0514—05
Agricultural product price information collection terminal of
embedded portable wireless
ZHANG Shi—rui ¨ ,ZHENG Wen-gang ,SHEN Chang—j un ,XING Zhen
(1.National Engineering Research Center for Information Technology in Agriculture,Beijing 100097,China;
2.School of Mechanical Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
Abstract:The portable wireless agricultural product price information collection terminal witch is an ARM-Linux system,which
uploads the agricultural product prices to the remote server and receives system commands by the GPRS wireless network.The
handheld terminal provides a friendly user interface by using Qtopia core GUI and achieves product categories and history record
management by using embedded database.The handheld terminal’S operation is simple,intuitive and convenient.The portable
wireless agricultural product price information collection terminal provides terminal equipment with good user experience for the
agricultural product price information collection system,and provides technical support for monitoring prices of agricultural
products in nationwide scope.
Key words:price collection;handheld term inal;embedded systems;wireless network;embedded GU1
0 引 言
农产品市场安全是 国民经济稳定和快速发展的基础,
为此国家加大对农产品市场的监管 ,对主要农产品价格进
行采集和发布。但 目前农产品价格信息的获取和发布方法
较传统,信息化程度较低。价格信息的获取主要通过工作
人员人工记录汇总后输人服务器数据库,而信息的发布主
要依靠电视、报纸等传统媒体。这样的方法使信息获取效
率低下,信息发布覆盖面窄,很难满足基层农户的需要。
为此,国家农业信息技术研究中心的研究人员根据农产品
信息采集发布的需要设计开发了农产品价格信息采集系统,
该系统远程获取农产品价格信息并通过网路对数据进行发
布,提高了农产品价格监控的信息化程度,为农产品价格
信息的准确高效获取和及时广泛的发布提供了保障。无线
手持农产品价格信息采集终端就是农产品价格采集系统中
远程信息采集部分。
近年来,嵌入式技术发展迅速。嵌入式系统以应用为
中心,以计算机技术为基础,软硬件可裁减,适合应用系
统对功能、可靠性、成本、体积、功耗等严格要求的专用
计算机系统[1 ]。结合农产品价格信息采集系统特点,本文
收稿日期:2011 02—2O;修订日期:2011 04—26
基金项 目:国家科技支撑基金项目 (2009BADA9B00)
作者简介:张石锐 (1985一),男 (回族),内蒙古赤峰人,博士研究生,研究方向为农业 自动化、信息化;郑文刚 (1975一),男,山东威
海人,博士,研究员 ,研究方向为农业 自动化;+通讯作者:申长军 (1980一),男,河南安阳人,硕士,助理研究员,研究方向为农业信
息化技术;邢振 (1983一),男,安徽阜阳人,硕士,工程师,研究方向为农业 自动化与传感器技术。E-mail:lkmuszh@163.corll
第33卷 第2期 张石锐,郑文刚,中长军,等:嵌入式手持无线农产品价格信息采集终端 ·515·
利用 ARM-Linux嵌入式体系和 Qtopia core图形用户界面
应用程序框架设计开发了一种具有 良好人机交互界面的手
持农产品价格信息采集终端。该终端通过 GPRS无线网络
与价格采集系统服务器通讯,实现农产品价格信息的
远程获取。
1 手持终端的功能介绍
农产品价格信息采集系统主要由服务器、手持价格采
集终端和网络用户 3部分组成。农产品价格信息采集系统
的结构如图1所示。服务器接收手持价格采集终端上传的
农产品价格信息,负责价格数据的储存和管理并以网站的
形式发布,网络用户可以通过 Internet访问农产品价格 网
站,获取农产品价格的最新信息和历史记录。
手持农产品
价格采集终端
图 1 农产品价格采集系统的结构
手持农产品价格信息采集终端的主要功能是向服务器
上传农产品价格信息、同步服务器上的农产品列表和接收
服务发出的采集指令 ,终端通过 GPRS无线网络与远程服
务通讯。农产品价格信息主要包括农产品价格、数量、品
质等级和数据的采集地点。所采集的农产品种类列表通过
GPRS通讯与服务器上的产品列表同步。另外,对于一些
特别关注的农产品,服务器可以发出采集指令 ,工作人员
可以按照服务器的指令进行价格数据的采集。
为了降低终端设备的成本同时为用户提供简单、直观、
方便的操作体验,手持农产品价格采集终端在软硬件上进
行了裁剪和优化。在硬件方面,除包括触摸屏和键盘的最
小微机系统外只添加了 GPRS模块作为无线通讯设备。在
软件方面,为了方便用户的操作,系统采用嵌入式数据库
对农产品进行分类管理,方便用户的查询,同时记录采集
的历史数据,保证数据采集的安全。
2 手持终端的硬件结构
手持农产品价格信息采集终端采用 ARM嵌入 Linux操
作系统的体系结构,同时添加 GPRS模块,实现无线通讯
功能。利用 Qtopia eore作为图形界面库 (GUI)编写应用
程序 ,为系统提供 良好的人机交互界面。
手持农产品价格信息采集终端硬件整体结构如图2所
示。手持终端的硬件主要由中央处理器 (CPU)及它的外
围扩展电路,无线通讯模块和人机交互单元组成。
内部存储器
HY 57V 561620 BT-H
NAND Flash存储器
K9F1208UOA
电源
CPU
s3C241O
触摸屏
l茎 皇堕 f
图2 手持农产品价格信息采集终端的硬件结构
手持终端的 CPU采用三星公司生产的 ARM9处理器
$3C2410,外围扩展电路主要包括电源 、复位电路、由两片
HY57V561620BT H组 成 的内部 存储 器 和 KgF1208UOA
64M NAND FLASH存储器。
手持终端采用支持 TCP/IP的 MC39i实现 GPRS无线
移动网络功能,MC39i是由西门子公司生产的GSM无线调
制解调器。它以串口与 CPU相连,接收串口发出的 AT指
令 ,以拨号上网的方式接入 Internet。MC39i支持多种串口
通讯 方式 ,包 括 RS232、RS485和 1vrL电平,本 文将
MC39i与 S3C2410的串口 UART2相连即 MC39i的 TXDO
管脚和 RXD0管脚分别与 $3C2410上的 TXD2(K13)管脚
和 RXD2 (K12)管 脚 相 连,利 用 1vrL 电 平 方 式 与
MC39i通讯 。
手持终端的人机交互设备主要包括 3.5寸分辨率为 320×
240真彩色 LCD触摸屏、4×4键盘和 RS232串口。人机交互
设备中的键盘包括 “0-9”数字键 、“.”、“退格”、“确定”、
“取消”和 “设置”16个按键;RS232串口是利用串口电平
转换 芯 片 MAX3232CS芯 片 将 $3C2410的 TTL 串 口
UART0转换为 RS232串口,主要用于终端设备应用程序
的升级和调试 。
3 手持终端的软件的实现
3.1 软件的整体结构
如图 3所示,手持农产品价格信息采集终端软件主要
由操作系统层、硬件驱动层、图形界面库和应用程序
层组成。
操作系统层 由 Bootloader、Linux内核和文件系统 组
成 ,手持终端采用德国 DENX小组开发的用于多种嵌入式
CPU 的 Bootloader程序 U-Boot,版本为 1.3.2。u-boot支
计算机工程与设计 2012焦
持 $3C2410处理器,对 U-boot添加 NAND flash支持即可
应用在手持价格信息采集终端上。Linux内核的版本为
2.6.22.1,对内核进行必要的裁剪使其适合手持价格信息
采集终端的需要 4 ]。终端的文件系统主要由只读的文件系
统cramfs和支持读写的文件系统yaffs组成,cramfs中主要
存放了系统的启动脚本、提供系统指令的Buybox等系统文
件;yaffs文件系统中主要存放应用程序库函数、应用程序
等需要读写的文件。
应用
程序层 系统初始化程序 l 手持价格信息采集软件
QtopiaCore一4.3.5 GUI
区垂巫 丑 薹习
操
作
系
统
层
图 3 手持农产品价格信息采集终端的软件结构
硬件驱 动层 主要提 供 了 NAND Flash存 储器 驱动、
LCD显示屏驱动、触摸屏驱动、串口驱动等驱动程序,以
保证各种驱动设备的正常运行。
图形用户接 口层 (GUI层)为 Otopia Core,版本为
4.3.5。Qtopia Core是由挪威 Tro11Tech公司推出的面向嵌
入式系统的Qt版本 ,它的前身是 Qt/Embedded,随 Qt4推
出,属 Qt/Embedded的升级产品。Qtopia Core采用 C++
语法,所编写程序直接使用 Frame Buffer(帧缓冲),不依
赖于 X sever、)(1ib库,显著的减少了内存的消耗,适合嵌
入式系统资源有限的特点。利用 Qtopia Core开发应用程序
可以使用 Qt所提供的丰富的工具,包括工程项目管理工具
qmake、主机上模拟 Frame Buffer的调试工具 qvfb、界面设
计工具 Qt Designer、翻译工具 Qt Linguist等L 。
应用程序层主要包括系统初始化程序和手持价格信息
采集软件,其中系统初始化程序主要包括GPRS拨号程序、
串口初始化设置程序等。
3.2 GPRS无线通讯的实现
目前中国移动的GPRS接入采用拨号方式,其过程与
传统固定电话拨号上网相似,拨号登陆互联网的过程中需
要进行一系列的身份认证和网络协商过程,在用户和服务
器之间要建立一条点对点的数据链路 ,在这个过程 中,使
用的数据链路层协议为点对点协议 (PPP)。Linux系统带
有 PPP的协议栈 ,而网上提供有开源的 Linux系统下的拨
号工具 pppd,因此可以利用Linux的PPP协议栈,移植拨
号工具 pppd到 Linux系统实现拨号接入 GPRS网络_8 。
接人 GPRS网络后终端采用标准的 TcP/IP协议与服
务器通讯,传输控制数据。Linux系统是带有 TCP/IP协议
栈 ,同时 Qtopia Core库提供了QTcpSocket类实现 TCP/IP
协议 ,其中 connect()方法用于建立 TCP连接,read()
和 write()方法接收和发送数据[1 。
通讯协议的应用层协议采用了自定义的字符编码协议。
跟就手持终端的功能,协议着要完成价格数据的上传和服
务器关注产品列表的下载。协议有 “信息头”和 “数据”
两部分组成。 “信息头”由 “功能码”、 “验证码”和 “长
度”组成, “功能码”包括用于数据上传的 “PDTPRICE”
和用于产品列表下载的 “PDTORDER'’,“验证码”是用于
表示采集员身份的验证信息,“长度”表示 “数据”段的字
节数, “信息头”与 “数据”以 “J”分隔。在 “PDT—
PRICE”功能下 “数据”由若干条农产品价格信息组成,
信息间以 “;”分隔,每条信息包括 “产品编号”、“价格”、
“数量”、“等级”、“时间”、“基站号”,其中 “基站号”标
识了信息采集的位置;在 “PDT0I ”功能下 “数据”
为关注产品的编号以 “;”分隔。
3.3 手持终端应用软件的实现
手持农产品价格信息采集终端的应用程序采用支持
QtopiaCore的 kdevelop平 台编写,主 机 的操作 系 统为
ubuntu-8.04。kdevelop试运行在 Linux操作系统上的软件
集成开发环境,利用 kdevelop进行 Qtopia Core程序开发需
要的配置是将 kdevelop的图形界面设计器配置成为 Qt De—
signer,将工程项目管理工具配置成为了 Qtopia Core中的
qmake文件 ,将编译器地址配置成为 Qtopia Core编译器所
在的位置。配置好后就可以方便的进行 Qtopia Core图形界
面应用程序的开发和交叉编译,实现图形界面程序在嵌入
式 Linux系统上的运行_I “]。
为了方便用户对农产品的查询和数据采集的安全,终
端应用程序利用嵌入式数据库对产品列表和历史采集数据
进行 管理。Qtopia Core可 以通 过编 译 时 添加 “~qt-sql—
sqlite”选项支持 sqlite数据库,程序中利用 Qtopia Core提
供的 API对数据库进行操作。手持终端应用软件 的数据库
结构如图 4所示。应用软件将农产品分为几个大类,每类
中又分若干组,数据库 中通过 “组别”表、 “类别”表和
“产品”表实现对农 产品的分类,方便用户 的快速查询。
“历史记录”表中存放了手持终端采集的农产品价格信息,
其中 “基站号”字段标识 了价格采集所在的位置 ,基站号
通过向 GPRS模块 发送 AT指 令 “AT+creg一 2”获
得_1l5 ;“发送标识”字段标识了历史记录中已发送和未发
送的价格信息。
手持终端的应用程序流程如图 5所示。打开手持终端
首先进入用户登录界面,这在里,用户需要输入用户名和
登录密码,进行用户身份认证。登录成功后应用程序将 自
动连接服务器,如果连接失败,程序将进入设置页面,用
户可以重新设置服务器 IP地址、端 口等参数,如果连接成
第33卷 第2期 张石锐,郑文刚,申长军,等:嵌入式手持无线农产品价格信息采集终端 ·517·
PK
FK1
丞!旦
产品ID
价格
数量
等级
时问
基站号
发送标识
PK 1.F:I~ID
-- -·— ----- -----J ----...·---一
FK1 l组别ID
FK2 j类别ID
1名称
焉
图 4 手持终端应用程序的数据库结构
图5 手持终端应用程序流程
功,程序将进入功能选择界面。在功能选择界面中,用户
可以选择进入常规采集、指令采集、历史数据查询和设置
界面。历史数据查询页面提供手持终端所采集的全部农产
品价格信息,用户可以根据农产品种类或价格信息采集时
间进行查询;常规采集界面中用户可以对手持终端中存储
的全部农产品价格信息进行采集;当用户选择进入指令采
集界面后,手持终端向服务发出指令请求,如服务器有特
别关注的产品,手持终端将更新采集列表,用户可根据服
务给出的农产品种类进行价格采集,如果没有程序将跳转
回功能选择界面。用户每成功录入一条价格数据后 ,手持
终端将 自动获取采集地点的基站号,并同价格信息一起写
入数据,并将发送标志位设置为 “未发送”。当用户采集完
所有的价格信息后,如选择发送程序将从数据库中读取未
发送的数据,生成数据帧将数据发送到服务器,如果发送
成功,程序将数据中所发记录的发送标识位设为 “已发
送”,如果发送失败 ,用户 可以选择重发 或者 回到功 能
选择界面。
4 手持终端的应用测试
为了保证数据传输的正确,首先利用 TCP UDP服务
管理软件作为服务器,对手持农产品价格信息采集终端的
GPRS无线网络通讯方式进行了测试。由于 TCP/IP协议是
一 种可靠的网络通讯协议,在连接正确的情况下,数据传
输全部正确。
另外,在农产品价格信息采集系统中对手持终端进行
实际的应用。应用的结果表明,终端的软件操作简单方便、
数据传输准确、收发数据后手持终端软件均能做出准确的
响应。图 6给出了手持终端应用软件的 “常规采集”界面。
手持农产品价格信息采集终端运行稳定可靠,满足在农产
品价格信息采集系统中的应用需要。
图 6 手持终端应用软件的 “常规采集”界面
5 结束语
本文介绍的手持农产 品价格信息采集终端通过 GPRS
无线网络将农产品价格信息上传到远程的农产品价格信息
采集系统服务器,满足了农产品价格采集监控中,对无线
手持采集设备的需要。手持终端采用 ARM-Linux体系结
构,对软硬件进行了裁剪和优化,利用 Qmpia core作为图
形界面库,提供了良好的人机交互功能,使用简单、直观、
方便,有利于农产品价格信息采集系统的进一步普及,为
建立全国范围内的农产品价格监控系统提供了技术保障。
参考文献:
[1]TANG Ybmei.Embedded so{tware development[M].Bei—
jing:Chian Machine Press,2007(in Chinese).[康~梅.嵌
· 518 · 计算机工程与设计 2012年
人式软件设计 [M].北京:机械工业出版社,2007.]
[2]ZHENG Ling-xiang.Embedded Linux system design[M].Bei
jing:Beijing University of Aeronautics and Astronautics Press.
2008:195 200(in Chinese). [郑灵翔.嵌入式 Linux系统设计
[M].北京:北京航空航天大学出版社,2008:195—200.]
[3]JIA Peng.Research on the irrigation controller based on em
bedded system and GPRS network[D].Tianjin:Tianjin Uni—
versity,2007(in Chinese).[贾鹏.基于嵌入式系统和 GPRS
网络的灌溉控制器的研究 [D=].天津:天津大学,2007.]
[4]WANG Ming hu,OU Wen—sheng.AIRM embedded Linux ap
plication development introduction[M].Beijing:China Elec
tric Power Press,2008(in Chinese). [汪明虎,欧文盛.
ARM嵌入式 Linux应用开发入门 [M].北京:中国电力出版
社 ,2008.]
[5]GUO Wen-long,MA Xiao—yi,HE Zi li.The irrigation water
monitoring system based on ARM and GPRS l-J].Journal of
Agricultural Mechanization Research,2008,30 (6): 74 77
(in Chinese). [郭文龙,马孝义,何 自立.基于 AR M 与
GPRS的灌 区用水监控 系统 EJ].农 机化研究,2008,30
(6):74—77.]
[6]DUAN Zhi—chao,DU Ke-ming,SUN Zhong-fu,et a1.wire
less telemonitoring system for agriculture environment based on
ARM-Linux and GPRS[J].Agriculture Network Informa—
tion,2008,23(6):12—15(in Chinese).[段志超,杜克明,
孙忠富,等.基于 ARM Linux和 GPRS的农业环境无线远程
监控系统 [J]'农业网络信息,2008,23(6):i2—15.]
[7]DING IAn-song,HUANG Li—qin.Qt4 graphic design and em
bedded system development[M].Beijing:Peoples Posts&
Telecommunications Publishing House, 2009 (in Chinese).
[丁林松,黄丽琴.Qt4图形设计与嵌入式开发 [M].北京:
人民邮电出版社,2009.]
[8]ZHAO Hong—liang.The application of PPP in GPRS remote
monitoring systems EJ].Electronic Instrumentation Customer,
2008,15(6):48—50(in Chine~). [赵红亮.PPP协议在
GPRS远程监控系统 中的应用 口].仪器仪表用户,2008,15
(6):48—50.]
E97 GENG Xin min,SUN Jin-zhong.Design of wireless communi—
cation system based on AR M and GPRs[J].Instrumentation
Technology,2009,38(1):44—45(in Chinese). [耿新民,
孙锦中.基于 ARM 和GPRS的无线通信系统设计 [J].仪表
技术 ,2009,38(1):44—45.]
[1O]LI Min,CHEN Wen,WANG Bao qin,et a1.Design of em
bedded GPRS wireless communication system [J].Journal of
Yangtze University(Natural Science Edition)Sci& Eng V,
2009,6(2):91—93(in Chinese). [李敏,陈文,王宝勤,
等.嵌入式 GPRS无线通讯系统设计 [J].长江大学学报
(自然科学版)理工卷,2009,6(2):91—93.]
[11]ZENG Gang.Analysis of PPP based on GPRS[J].Journal
of Wuhan University of Technology(Information& Manage
ment Engineering),2007,29(5):12 15(in Chinese).[曾
刚.基于 GPRS的PPP协议的分析 [J].武汉理工大学学报
(信息与管理工程版),2007,29(5):12—15.]
[12]CAI Zhi-ming,LU Chuan-fu,LI Li-xia,et a1.Profidency Qt4
programming[M].Beijing:Publishing House of Electronics In—
dustry,2008(in Chinese).蔡志明,卢传富,李立夏,等.精
通 Qt4编程 [ⅣI_.北京:电子工业出版社,2008.
[13]JIN Yu xin,BAI Feng-shan.Design of GUI based on Qt/Em—
bedded[J].Computer Knowledge and Technology,2008,
15(13):671—673(in Chinese). [金宇新,白凤山.基于
Qt/Embedded的GUI设计 IJ].电脑知识与技术,2008,15
(13):671—673.]
[14]TAN Ping,LIu Jian-xin.GUI system for embedded CAN
network monitoring based on QT [J].Computer Engineering
and Design,2008,29(16):4147 4152(in Chinese). [谭
平,刘建新.基 于 QT的嵌入式 CAN 网络监控 GUI系统
口].计算机工程与设计,2008,29(16):4147—4152.]
[15]HUANG Yu—lan,LIU Jing,WANG Hong ge,et a1.Intelli—
gent GPRS communication system based on AT set_J].Jour—
nal of Jilin University(Information Science Edition),2009,
27(4):424—429(in Chinese). [黄玉兰,刘静,王洪革,
等。基于 AT指令集的 GPRS智能通信系统 EJ].吉林大学
学报 (信息科学版),2009,27(4):424—429.]