《基于Linux—MiniGUI嵌入式系统监控管理软件开发.pdf》由会员分享,可在线阅读,更多相关《基于Linux—MiniGUI嵌入式系统监控管理软件开发.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 l 8卷第 6 期 2 0 0 8年 6月。计 算 机 技 术 与 发 展 C O M PU2、ER TECHNOL OGY AND DEVELOPM ENT Vo I 1 8 No 6 J u n 2 0 0 8 基于 L i n u x Mi n i G U I 嵌入式 系统监控管理软件开发 鲁 艳,马旭 东,问治国,黄 艳(东南大学 自动化学院,江苏 南京 2 1 0 0 9 6)摘要:目前,嵌入式 L i n u X 系统已经得到了广泛的应用,相应的软件开发也 日趋重要。论述了一类嵌入式系统设备基于 L i n u X Mi n i G UI 技术的监控管理软件的开发实现。以华恒
2、A R M2 4 1 0 开发板为 目标板,以嵌入式 L in u)(、嵌入式数据库和 图形用户界面 Min i G UI 等为基础,在软件总体设计基础上,介绍了软件开发方法,给出了典型监控软件的实现。本系统开 发的嵌入式系统监控管理软件已经运用到实际系统中,并且取得了很好的实验效果。关键词:嵌入式系统;监控软件;嵌入式数据库;Mi n i G UI 中图分类号:T P 3 1 1 5 2 文献标识码:A 文章编号:1 6 7 3 6 2 9 X(2 0 0 8)0 6 0 1 7 9 0 3 De v e l o p me nt o f Emb e d d e d S y s t e m M
3、 a n a g e me nt S o f t wa r e Ba s e d o n Li n u x。-M i ni GUI L U Ya n,MA Xu d o n g,WEN Z h i g u o,HUANG Ya h (S c h o o l o f A u t o ma t i o n,S o u t h e a s t Un i v e r s i t y,N a n j i n g 2 1 0 0 9 6,C h i n a)Ab s t r a c t:Re c e n t ly,t h e e mb e d d e d s y s t e m o n I i n u x
4、 h a s b e e n u s e d b r cx a d l y At t h e S rD e t i me,t h e r e la t e d d e v e l o p me n t o f s o f t wa r e i s mo r e a n d mo r e i mp or t a n t De s c r ib e s t h e e x p lo i t a t io n o f s o me sof t wa r e s f or e mb e d d e d s y s t e m b a s e d o n Li n u xM ia i GUI I t t
5、 a k e s AMR2 41 O for e x a mp l e a nd in t r o d u c e s t h e p r o g r a mmi n g me t h o d an d t h e r e a l i z a t io n o f t y p i c a I ma r mg e r o e n t sof tw a r e,b a s e d o n t he e mb e d d ed Lin u x,e m b e d d ed d a t a b a s e and M i n iGUI Th e e mb e d d ed s y s t e m ma
6、 n a g e me n t s o f tw are h a s b e e n u s e d i n t h e r e a l s y s t e m and a c q u i r e d a g o o d e x p e r i me n t r e s u l t Ke y wo r d s:e mb e d d ed s y s t e m;ma n a g e me n t s o f t ware;em b e d d e d GUI;M iniGUI O 引 言 嵌入式系统是以应用为中心,以计算机技术为基 础,软硬件可裁剪 的,对功 能、可 靠性、成本、体 积和功 耗
7、都有严格要求 的计算机 系统。嵌入式 系统设 计 已经 应用于各种领域,具有体积小、功耗低、稳定性高、扩展 性强等优势。而嵌入式 L i n L D(操作系统具有源代码开 放、可以定制、内核小、软件和多数 Un i x系统兼容、良 好的可移植性等多种优点,这里采用了 L i n m x内核,所 有的功能模块都建立在嵌入式 L i n u x 上。与此同时,配备一个优秀的图形用户界面,使产品 和用户能进行友好的信息交互,已经成为开发工作中 非常紧迫的要求。目前较为流行的嵌入式 G UI 有 Mi C r O Wi n d o w s,Q T E m b e d d e d,Mi n i G UI
8、 和 O p e n G U!等,Mi n i G UI 由于其小巧、高性能、高可靠性和可配置等特 点,目前也比较成熟,已经被广泛应用于各种嵌入式系 收稿 E t 期:2 0 0 70 91 7 作者简介:鲁艳(I 9 8 3),女,安徽合肥 人,硕:i=研 究生,研 究 向 为控制理沦与控制工程;马旭东,教授,硕:卜 生导师,研究方向力控 制理论 与控制工。统 中 1 l。1 基 于 L i n u xMi n i GU I的 监控 软 件 总体 设计 如图 1 所示,系统层包括嵌入式 L i n u x和各个设 备的驱动程序。在系统层上,为了系统应用程序的运 行,移植了一系列的嵌入式中间件
9、,同时为了保持应用 层的可移植性,还提供 了操作系统适配接 口。中间层 上面为应用层,包括各个用户任务模块。2 软件功 能模块 对于基于 g i n u x Mi n i G UI 的监控软件开发,可以 将其 分 为 多 个 模 块,各模 块 通 过 线 程 实 现。嵌 入式 L i n u x操作系统具有源代码开放、可以定制、内核小、软件和多数 Un i x系统兼容、良好的可移植性等众多优 点,所有的功能模块均构建于嵌入式 L i n u x之上,包含 上下位机通信模块、数据管理模块、界面显示 和人机交 互模块等。这里介绍数据管理模块和人机接 口模块。维普资讯 http:/ 1 8 0 计算
10、机技术与发展 第 l 8卷【S P I il!l信 模 块 t【打 印 报 表 模 块1 1 R S 2 3 2 模 块 l 数 据 管 理 模 块1 人 机 接 口 模 块【应用 层 l _ l l l J L 一 一 J L 一 L 一 J 中间层 S P I I 打印 I j 串 口;l P S 2 I j S D 卡 j I 键盘 1 i L C D 1 l R t c【j驱动 j j 驱动 J 3 驱动)j驱动 J 驱动)J 驱动)I 驱动 J j 驱动 J L,l _【、,ll l L一 j L j L 。一 L 一 L ,L,_ l _ 图 1 软件 功能模块 图 2 1 数据管
11、理模块 在嵌入式 系统 中,需要 对各 种数据进 行存储 和管 理,由于数据量较大,采 用了数据 库方式,由于数据和 程序相互独立,通过事务来进行 调度和并 发控制,可有 效地对数据进行存取、查询等。数据管理模块负责数 据 的采集、存储、检索 等工作,本 软件采用 了嵌 入式数 据库 S q l i t e。嵌入式数据库 S q l i t e 具有如下优点C 2 :(1)事务操作是原子、一致、孤立,并且是持久的(A C I D),即使在系统崩溃和电源故障之后。(2)实现 了绝大多数 S Q L 9 2标准。(3)整个数据库存储在 一个单一 的文件 中。数据 库文件可以在不同字节序的机器之间自
12、由地共享。支 持最大可达 2 T 的数据库。(4)小 的代码:完整配置的少于 2 5 0 k B,忽略一些 可选特性的少于 1 5 0 k B。在大多数常见操作上 比流行 的客户 臣 务器数据库引擎更快。(5)源代码位于公共域,可用于任何用途。数据管理模块的层 次结构 如图 2所示,为了提高 可移植性,S q l i t e自定义了一个操作系统抽象接V I,并 在其上面构造了中间件功能,提供数据库 A P I 接V I。亟、L J L !堡 J 亚 垂 三 、l 图2 数据管理模 块层次 图 S q l i t e 数据库提供了丰富的A P I 函数,可以很 灵活 地处理用户数据。C ,e n
13、 I)a t a B a s e(c o n s t c h a r*f i l e n a me。Nl i t e 3*p p D b)T 开数据库(le D a t a s c(s q l i t e 3*d b)关闭数据库 系统层 E x e S q l(s q l i t e B*d b,c h a r s q l Ms g)t:行 语句 C l e a r D a t a B a s e(con s t c t mr*f i l e n a m e)N除历史数据 其他一些数据库相关操 作都 可 以有 两 种 实 现选 择:调用 E x e S q l函数;将 调 用 E x e S
14、q l 函数前后一些工作一 起封装成 一个新 的接 口函 数。2 2 人机接 口模块 人 机 接 口模 块 G UI 部 分基 于嵌入式图形接 口 Mi n i G UI。Mi n i G UI 是 个适 用于嵌入式系统的、功能强大的、轻量级的图形用户界 面支持系统,它主要运行于 L i n u x控制台,采用了类 Wi n 3 2的 A P I 接 口,实现了简化的类 Win d o w s 9 8 风格 的 图形用户界面。它具有 以下重要特点L 3 J:*提供了完备的多窗口机制和消息机制。*提供常用的控件类,包括静 态文本框、按钮、按 钮等等。*对话框和消息框支持。*wi n d o w
15、s的资源文件支持,如位图、图标、光标 等。需要对 Mi n i G UI 进行 移植,将 Mi n i G UI 编译成 Mi n i G UI t h r e a d s 以支持多线程,包括触摸屏、按键和 L C D驱动程序编写。另外需要对 Mi n i G UI 输入抽象 接口层(I A L)进行移植。2 2 1 Mi n i GUI 输入 抽象层 I AL的开发 在基 于 L i n u x的嵌 入式 系统 中,输 入设 备 的处理 没有一个统一的接口。在 P C机上,通常使用键盘和 鼠标,而在 嵌入 式系 统 中,可 能 只有为 数不 多 的几 个 键。在这种情况下,提供一个抽象的输入
16、层,就显得格 外重要。其基本实现方法如图3所示。图 3 Mi n i GU I 输入抽 象层(I A L)的实现 I 基本移植接口函数 如下:u p d a t e mo u s e 通知底层引擎更新鼠标消息 g e t m o u s e x y 函数返 回 由其他 函数 准备 好 的 鼠标位置数据,并做适 当的边界检查 维普资讯 http:/ 第 6期 鲁艳等:基于 L in u x-Mi n i G UI 嵌入式系统监控管理软件开发 1 8 1 s e t m o u s e x y 设置 鼠标位 置到新 的坐标轴 g e t m o u N e b u t t o n 函数 返 回触
17、摸屏状 态,即用 户 是否触摸 了屏幕 g e t m o u s e r a n g e 设置 鼠标 的活动范 围 u p d a t e k e y b o a r d 通知底层引擎更新键盘信息 g e t k e y b o a r d s t a t e 获取键盘状态,返回一个字 符数组 s u s p e n d k e y b o a r d N停键盘设备读取 r e s u i n e k e y b o a r d 继续键盘设备读取 s e t l e(I s 设置键盘 的锁定 L E D 2 2 2界面设 计和 消息处理。人机接 口中用户窗 口主要工作分为界面初始化和 消息响
18、应。消息机制和窗口过程是 Mi n i G UI 应用程 序的基 石,贯 穿 于 所 有 的 Mi n i G UI应 用 程 序 中。Mi n i G UI 程序是基于窗 口、事件驱动编程的。程序开 发流程图如图 3 所示 5】。程序入 口点 设置显示区域 创建和显示主窗 口 进入消息循环 窗 口过程 函数 屏幕输 出 调用对话框 回调函数 对话框函数 l 程 序 退 出I 图 4 程 序开发流程 图 在消息驱动的应用程序 中,计算机外设发生的事 件,例如键盘的敲击、鼠标键的按击等,都 由支持系统 收集,将其以事先的约定格式翻译为特定的消息。应 用程序一般包括 自己的消息队歹 IJ,系统将消
19、息发送到 应用程序的消息队列 中。应用程序可以建立一个循 环,在这个循环中读取消息并处理消息,直到特定的消 息传来为止。这样的循环成为消息循环。应用程序一 般要提供一个处理消息的标准函数。在消息循环 中,系统可以调用此函数,应用程序在此函数 中处理相应 的消息。典型的消息循环代码如下 j:w h i le(G e t Me s s a g e(&MS g,h Wn d)T r a n s l a t e Me s s a g e(&Ms g);把击键消息转化为字符消息 D i s p a t c h Me s s a g e(&Ms g);把当前消息发送到相应 的窗 口过 程 函数 程序利用
20、G e t Me s s a g e()函数不停地从消息队列中 获得 消息,然后利用 D i s p a t e h Me s s a g e()函数 将消息发 送到指定的窗口,并传递消息及参数,窗 口的消息处 理函数根据接收到的不同消息分别进行处理。在设计好界面元素以后,主要工作就是设计消息 处理流程。Mi n i G UI 常用的消息可分为 6 类 3 :(1)窗 口创建和销毁消息 MS G C R E A T E、MS G CLOSE;(2)窗 口绘 制 消息 MS G P A I NT、MS G E 一 BKGND;(3)系统 消息 MS G TI ME R、MS G I D L E;
21、(4)对 话 框 消 息 MS GI NI T D I A I oG、MS G一 ()0 ,I AND、M S G S ETr EXr;(5)键 盘 鼠标 消 息 MS(3 一 K E Y D O WN、MS(3 一 CHAR、M S(3 一LBUT1 1=)I、【)()W M;(6)键盘 鼠标后处理消息 MS G S E T C I S 0 R、M S Gs I 、F o S。例如信息的查询,其窗口主要处理初始化消息、按 键消息和控件消息。在对话框初始化时设置控件的回 调函数、设置对话框的按键模式以及一些界面环境变 量,如控件的颜色等 等。按键 消息 处理 主要 判断用户 按下什么键,然后对
22、相应的键做相应的处理。如按下 P A G E U P键,将焦点切换到下一个控件,确定键则对 当前控件调用相应 函数。控件消息相应用户按钮点 击,调用相关函数,完成用户信息查询工作。3 模块启动流程 主函数执行以及系统程序模块启动流程如图 5 所 示,各个模块线程执行有一定的先后顺序。图 5 系统软件 流程 图 程序上电运行,进入操作系统后,操作系统启动应 用程 序。程 序 的 m a i n函 数 由 Mi n i G UI所 使 用,Mi mG UI 进入 m a i n函数后需要对 G UI 工作环境进行(下转第 1 8 4页)维普资讯 http:/ 1 8 4 计算机技术与发展 第 l
23、8 卷 收簇头 的策略请求 信息,经过处 理后 由策略 决策 中心 进行策略决策,最后由移动代理传送到请求的簇头节 点。策略仓库是用于存储 可执行 的策略信息。其中的 本地策略仓库相当于一个本地缓存,用于存储少量的 策略信息,当节点需要某种策略时先从本策略库进行 查找,如果存在就直接执行,否则就向上一级节点发出 策略请求信息。移动代理服务环境用于移动代理的生 成、接收、销毁等操作。I 用户图形界面 策略管理工具 移动代理服务环境 策 略 决 策 中 心 I B s 或 s in lc 节 点 策 略 消 息 处 理 器 O 策 略 仓 库 移 动 代 理 服 务 环 境 簇头节点 本地策略决策
24、中心 王 本 地 策 略 仓 库 移 动 代 理 服 务 环 境 普 通 节 点 本 地 策 略 仓 库 图 3 策略技术在数据管理 中的应用 3 结束语 对无线传感器网络中收集到的数据进行有效管理 不但能减少网络中的数据流量,而且也可以使用户能+一 +-一+-一 -+一+(上接第 1 8 1页)初始化工作,即调用 I n i t G UI()函数。此 函数又先后调 用I n i t Mi s c,I n i t G AL,I n s t a l l S EG VHa n d l e I n i t G DI,I n i t S c r e e n DC,I n i t W i n d o w
25、El e me n t Co l o r s,I n i t LWEv e n t,I n i t Fi x St r,I n i t Cu r mr,I n i t M e n u,l n i t C o n t r o l a8 8 8,I n i t Ac c e l,S y s t e mTr e a d,S e t Ke y b o a r d La y o u t,S e t Cu r s o r。Mi n i G UI 初始化完用户环境之后,启动 Mi n i G UI Ma i n 函数。用 户 程序 即从 此处 开 始编 写。进 入 Mi n i G U I Ma i n之后
26、,先初 始化 全局 变量,包 括 打 开全局 文件,保存文件描述符。初始化全局变量之后将首先启动设 备终端通信线程,执行相应控制命令和进行数据的采 集等;最后系统启动人机接口线程,显示人机接口主界 面。所有 系统模块线程启动完毕,系统开始执行功能。4 结束语 介绍了典型监控软件的总体结构,介绍其各个功 能模块,在嵌入式 L i n u x 基础上移植和使用 了嵌入式 G UI、嵌入式数据库等,实现了人机接E l、数据访问等 方便及时地采集数据。把策 略技术和代理技术用 到了 无线传感器网络的数据管理中,不仅把计算移动到数 据源上执行,并且通过策略技术的运用,在一定程度上 减少 了移动代理代码
27、的长度,从 而进一步减少 了网络 中的数据流量。参考文献:1 孙利民,李建 中,陈渝,等 无线传感器网络 M 北 京:清华大学出版社,2 0 0 5:3 2 3 2 Q i H,Wa n g X,I y e n g a r S S,e t a 1 Mu l t i s e n s o r D a t a F u s i o n i n D is t r i b u t e d S e n s o r N e t w o r k s U s in g Mo b i l e A g e n t s J I E E E Tr a n s a c t i o n s o n Sy s t e ms,M
28、a n,and Cy b e rne t i c s Pa r t C:Ap p l i c a t i o ns and Re v i e ws,2 0 0 1,3 1(3):3 8 3 3 9 1 3 Ra g h u n a t h an V,Seh u r g e r s C,S u n g P,e t a 1 En e r g ya wa r e Wi r e l e s s Mi c r o s e n s o r Ne t w o r k s J I E E E S i g n a l P r o c e s s i n g Ma g a z i n e,2 0 0 2,1 9(
29、2):4 05 0 4 叶宁,王汝传 基于移动 A g e n t 的无线传感器网络数据 管理框架 J 电子工程师,2 0 0 6,3 2(4):5 0 5 2 5 熊焰,金鑫 一种基于 Mo b il e A g e n t 的无线传感器 网 络数据管理模型 J 信息与控制,2 0 0 6,3 5(2):1 8 4 1 8 8 6 Z h o uY iJ 1 g,X i a o D e b a o Mo b i l e Age n t b a s e d P o l i c yMane r l l e r l t f o r Wi r d e s s Sen s o r N e t w o
30、r ks C Wi r e l e s s C o n mm n i c a t i o ns,Ne t wo r k i ng a n d Mo b i l e C o mp u t i ng,2 0 0 5 P r oce e d i n n s 2 0 0 5 I n t e r n a t io n a l C o n f e r e n c e s 1 _ :s n ,2 0 0 5:1 2 0 7 1 21 0 7 邹一鸣,王汝传 一种基于策略和移动代理的网络管理体 系结构 j 南京邮电学院学报,2 0 0 5,2 5(1):5 6 功能,并介绍了其开发方法。为目前的监控软件设计
31、提供了一种解决方案。参考文献:1 周晓光,翟尹羚 基于嵌入式 L n 下的 Mi n i G U I 的应用 j 电脑知识与技术,2 0 0 6,1 2(1 0):1 2 5 1 2 7 2 刘小春,柴育梅,张彦丽 S Q L i t e 嵌入式数据库的应用研究 j 情报学报,2 0 0 6,2 5(1 0):4 1 9 4 2 0 3 孙少华,徐立 中 面向嵌入式 L i n u x系统的图形用户界面 j 微机发展,2 0 0 5,1 5(1 0):1 2 3 1 2 5 【4 周立功 A R M嵌入式 Mi n i G U I 初步与应用开发范例 M 北京:北京航空航天大学 出版社,2 0 0 6 5 安成锦,孙茅阳,李坡 基 于嵌入式 L in u x 系统的 Min i G UI 图形界面开发 j 嵌入式与单片机,2 0 0 5,2 0(6):1 0 8 _-l l 0【6 北京 飞漫软 件技术有 限公 司 Mi n i G UI编程指 南(MI NI G UI P R O GG UI D E V1 6 一C p d f)s 北京:北京 飞漫软件技术有限公司,2 0 0 4 维普资讯 http:/