文章软件部分包括嵌入式linux操作系统的移植、系统界面设计、linux接口驱动、单片机智能数据采集和zigbee组网设计。Qt/Embedded应用程序开发框架如图所示。

图3 Qt/Embedded程序开发框架
要实现对特定设备文件的读写,首先必须安装对应硬件设备的驱动程序,提供对硬件设备读写操作的API函数,因此要完成对串口、触摸屏、摄像头、语音设备、GPRS的外围扩展设备的驱动编写、配置和修改。
智能家居监控系统用QT完成GUI界面,实现对各种外围设备的图形化操作和显示。本单元重点对驱动程序的安装和GUI应用程序的设计进行了阐述。
1) 驱动程序安装及系统初始化。
手工定制Linux内核,首先需要将驱动代码加入到内核代码树,并做相应的配置,然后加载需要编译的外部设备驱动程序模块,对内核进行编译从而完成模块驱动的编译。在开发板上安装编译好的linux内核映像和文件系统。
2) 用Qt Creator创建组件。
打开Qt Creator,在Qt Creator菜单栏Tools->Options打开Options窗口, 在Options界面左侧,点击Qt4->Qt Versions右侧显示Qt Versions设置界面, 单击QmakeLocation右侧Browse按钮,在弹出的“Select QMake Executable” 窗口中找到对应版本的qmake程序,arm版路径:/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake,单击打开,回到Qt Versions界面。
新建工程文件进入Qt4 GUI Application,建立ai.pro工程文件,设计应用程序界面,然后定义信号和槽函数,保存生成.ui文件,最终设计的智能家居管理系统GUI如图4所示。

图4(1)

图4(2)
3) 事件处理。
对各种传感器采集数据的显示,调用QTimer函数来实现每隔恒定时间自动更新嵌入式GUI界面上的检测值。
首先声明QTimer timer对象,然后在构造函数中调用start()方法,指定超时时限,当发生超时时间时自动调用各类传感器数据显示更新函数。
4) 交叉编译与移植。
交叉编译Qt/E应用程序。进入ai.pro所在目录,将其.h和.c文件拷贝到一个指定的文件下,在其目录终端输入:
$/usr/local/Trolltech/qt-embedded-4.5.2/bin/qmake –project
$/usr/local/Trolltech/qt-embedded-4.5.2/bin/qmake
$make
生成的目标文件ai就可以应用到ARM9开发板了。
5 结束语
随着嵌入式设备的发展,日常生活中的嵌入式设备和产品不断丰富,嵌入式linux系统的应用日益广泛。嵌入式GUI及linux设备驱动程序设计是嵌入式技术中不可缺少的重要部分。本文针对嵌入式技术在智能家居系统中的应用,提出了一种低成本、高可靠性、实时性强的系统,采用S3C2440A微处理器作为主控制器的智能监控系统,重点研究了Qt/Embedded与Linux驱动程序在实例开发中的应用。嵌入式触摸屏GUI已经成为当今信息化时代用户界面技术的发展趋势之一,具有广阔的开发前景。
参考文献:
[1]冯伟,王博编著.嵌入式linux案例开发南[M].北京:中国电力出版社,2008.
[2]何剑锋,邬文彪,李洪穆等.嵌入式linux系统的Qt/Embedded图形界面开发[J].电子工程师,2007,33(7):46-48.
[3]杨柳,岳坤,庞和明等. Qt/Embedded及嵌入式Linux在智能监控系统中的应用[J].计算机应用,2010,30(增刊1):289-291.
2/2 首页 上一页 1 2 |