logo资料库

基于Qt4的嵌入式点菜系统的设计与实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
您的论文得到两院院士关注 文章编号 :1008-0570(2009)04-2-0101-02 嵌 入 式 软 件 应 用 基于 Qt4 的嵌入式点菜系统的设计与实现 Design and Realization of the Embedded Meal Ordering System Based on Qt4 越 来 越 多 的 嵌 入 式 产 品 需 要 具 有 完 美 的 操 作 界 面 和 对 数 据 的 存 储 功 能 : 现 代 信 息 化 产 品 越 来 越 智 能 化 摘要 入 式 电 子 点 菜 系 统 的 系 统 结 构 给 出 了 在 嵌 入 式 电 子 点 菜 系 统 中 关键词 中图分类号 嵌入式数据库 嵌入式 GUI; : ; , : TP368 GUI-Qt4 与 SQLite3 Qt4 ; Qt4; SQLite3; 文献标识码 点菜 : B 叙 述 了 嵌 入 式 和 嵌 入 式 数 据 库 的 连 接 与 实 现 的 结 论 Abstract: Modern information technology products become more intelligent, many embedded products need to have good user interface and functionality of storing data. This paper introduces the structure of the embedded meal ordering system and main function, de- scribes the advantage of embedded GUI and embedded database, introduces the method of connection between Qt4 and SQLite3, gives the conclusion of connection and implementation between Qt4 and SQLite3 in the system. Key words: Embedded GUI; Embedded database; Qt4; SQLite3; Meal Ordering , ; 与 Qt4 。 SQLite3 阐 述 了 的 特 点 。 SQLite3 S UN J ia n-me i CAO Xin 本 文 介 绍 了 嵌 的 连 接 过 程 (大连东软信息学院)孙建梅 曹 新 线通讯采用蓝牙来实现。电子点菜系统结构如图 1 所示。       点菜系统一般都涉及很多数据,而且还要对数据进行各种 处理,因而绝大部分电子点菜系统都用数据库管理系统来管理 数据,数据库管理系统一般依赖于某种操作系统,因此,也要选 择一个合适的操作系统,本系统我们采用的操作系统为 Linux, 数据库为 SQLite。手持终端用起来方便快捷,友好的图形界面 设计是必须的,本系统中采用了 Qt/Embedded。电子点菜系统的 工作流程图如图 2 所示。 技 术 创 新 图 1 点菜系统结构图 图 2 点菜系统工作流程图 嵌入式 2 GUI-Qt4 的介绍 嵌入式系统对 GUI 的基本要求为轻型、占用资源少、高可 靠性、高性能及可配置。嵌入式 GUI 的实现方法各有不同。目 前,面向嵌入式 Linux 系统的有代表性的 GUI 系统有北京飞漫 软件公司的 MiniGUI、美国 Century 软件公司的 MicroWindows、 挪威 Trolltech 公司的 Qt/Embedded。 Qt/Embedded 是 Trolltech 公司开发的面向嵌入式系统的 Qt 版本,Qt/Embedded 的类库采用 C++封装,包含丰富的控件资 源,有较好的可移植性。Qt/Embedded 采用 FrameBuffer 作为底 层图形接口。使用 Qt Designer 可以直接开发基于 Qt/Embedded 的用户操作接口界面。本系统采用的是 Qt 的最新版本 Qt4。 邮局订阅号 :82-946 360 元 年 / - 101 - 引言 随着信息化时代的到来及其发展,人们生活水平不断地提 高,信息化的产品在我们周围无处不在。嵌入式产品则是信息 化产品不可或缺的组成部分。从低端的嵌入式产品洗衣机、电 饭锅到高端的嵌入式产品手机、PDA 等,给我们的生活带来了 极大的方便。嵌入式的产品越来越智能化,操作界面越来越漂 亮,很多时候需要存储数据。这样,嵌入式产品的界面设计及数 据库存储技术成为嵌入式系统设计中重要组成问题。本文介绍 在嵌入式点菜系统中基于 Qt4 的图形用户界面与 SQLite3 嵌入 式数据库的连接及实现。 嵌入式点菜系统的介绍 1 无线电子点菜系统,是餐馆业为提高运营效率与降低运营 成本而开发的产品。使用电子点菜系统可以加快点菜速度,减 少人力资源的投入,提升餐馆品牌与形象。无线电子点菜系统 代替传统的纸笔式点菜方式,能够营造一种安静、舒服的就餐 环境。 本文所介绍的点菜系统,分前台系统和后台系统两部分, 基于 C/S 架构的嵌入式系统,前台和后台之间采用无线通讯, 它集无线网络通信技术与手持移动电脑终端技术于一身。 前台手持点菜终端设备,也可以称为整个系统的客户端, 主要用户为餐馆的服务员,实现服务员为客人无纸化点菜操 作。前台开发环境为嵌入式 Linux,Qt/Embedded,SQLite。 后台系统平台为 PC,也可以称为整个系统的服务器,它的 主要用户为餐馆的管理人员,管理员可以通过后台服务器向系 统添加餐馆的新菜、修改菜价、查询历史记录等。服务器负责协 调各设备的工作,对各种数据做必要的处理,及时为工作人员、 管理人员提供真实、可靠的数据。后台开发环境为 Linux,Qt/ X11,SQLite。 客户端与服务器之间通过无线通讯联系起来,本系统中无 孙建梅 : 讲师 硕士 《P LC 技术应用 200 例》
嵌 入 式 软 件 应 用 《微计算机信息》(嵌入式与 S OC )2009 年第 25 卷第 4-2 期 Qt4 之前的版本在架构上有一定的局限性。举个例子来说, 假设在应用程序设计时,我们用 Qt Designer 设计界面之后保存 的文件是 MainMenu.ui。Qt3 中有工具 uic 来根据 MainMenu.ui 文件来生成相应的.h 和.cpp 文件。 uic -o MainMenu.h MainMenu.ui uic -o MainMenu.cpp 所有的界面初始化工作都在 MainMenu.cpp 文件中实现, 程序的逻辑代码也将加入这个文件,那么对于一个已经完成逻 辑功能的对话框来说,如果要修改界面布局,就不得不重新用 uic 生成.h 和.cpp 文件,然后将逻辑代码复制到新的.cpp 文件 中,这样原来的代码将全部被冲掉。使得 Qt4 之前的版本代码 的重用性很差。 impl MainMenu.h MainMenu.ui – Qt4 中推荐的方法是,使用 uic 根据.ui 文件生成一个.h 文 件,以前面的 MainMenu 为例,生成的文件叫做 ui_MainMenu.h, 其中会实现一个名为 Ui_MainMenu 的类,包含了界面所有控件 的加载功能。 uic -o ui_MainMenu.h MainMenu.ui 而程序的逻辑功能依然使用 MainMenu.h 和 MainMenu.cpp 这两个文件来实现,在 MainMenu.h 中用多重继承的方法,从刚 才 的 Ui_MainMenu 类 来 继 承 出 实 际 的 MainMenu 类 ,在 MainMenu 的构造函数中,只需要使用 Ui_MainMenu::setupUi() 方法,就可以构建出整个界面,并且由于是从 Ui_MainMenu 继 承 来 的 , 在 逻 辑 代 码 中 也 可 以 方 便 的 访 问 所 有 控 件 。 如 MainMenu.h 的文件部分内容为: #include "ui_MainMenu.h" class MainMenu : public QDialog,public Ui:: MainMenu { Q_OBJECT public: MainMenu (QWidget *parent=0); private slots: … 技 术 创 新 }; MainMenu.cpp 的文件部分内容为: #include "MainMenu.h" MainMenu:: MainMenu (QWidget *parent) : QDialog(parent) { setupUi(this); … } Qt4 的这个特点是个很大的进步。ui_xxx.h 中不再包含任何 用户自己写的代码了,如果用户想更改界面布局的话,只需要 用 Qt Designer 修改界面,再用 uic 生成 ui_xxx.h 文件,直接替换 原文件就可以了。本系统中采用 Qt4 来设计嵌入式点菜系统手 持终端的界面。 3 Qt4 的连接与实现 SQLite3 与 SQLite 是一个嵌入式 SQL 数据库引擎,不像其他 SQL 数据 库,SQLite 不需要独立的服务器来处理,它直接对磁盘文件进 行读写。SQLite 是一个压缩的库,具有完成特性的同时 SQLite 的大小可以少于 250KB。 SQLite 最大的特点在于无数据类型。无论表中每列声明的 数据类型是什么,SQLite 并不做任何检查,可以保存任何类型 的数据到所想要保存的任何列中。开发人员主要靠自己的程序 控制输入与输出数据的类型。目前的版本为 SQLite3。 Qt4 实现与 SQLite3 数据库的连接要用到 QSqlDatabase 类, 通 过 QSqlDatabase::addDatabase () 方 法 来 通 过 驱 动 程 序 “QSQLITE” 建 立 和 SQLite3 数 据 库 的 连 接 , 然 后 返 回 QSqlDatabase 一个实例对象,通过 open 方法来连接 SQLite3 数 据库,如果 open 方法返回为 false,意味着连接数据库失败,失 败的原因会通过 QSqlError 类中的 lastError 方法所取得,如果 open 方法返回值是 true,这样就真正的和 SQLite3 数据库建立 起来了连接,然后就可以对数据库进行操作了。Qt4 与 SQLite3 数据库的连接不同于其它数据库,因为 SQLite 数据库不是基于 服务器的,所以就不要设置 username,password 属性,只要制定 databaseName 就可以了。 QSqlDatabse db = QSqlDatabase::addDatabase (“QSQLITE”); db.setDatabaseName(“menu.db”); if(! db.open()) { qDebug() << db.lastError(); qFatal(“Failed to connect.”); } 在嵌入式点菜系统中菜品表的结构为: sqlite> .schema caidan CREATE TABLE caidan(id integer primary key,num varchar (10),name varchar(30),price real); Qt4 与 SQLite3 数据库连接成功之后,对数据库的查询并 把结果显示的部分代码如下: #include "menu.h" #include #include #include Menu::Menu(QDialog *parent) :QDialog(parent) { setupUi(this); model = new QSqlQueryModel(); model->setQuery("SELECT num,name,price FROM caidan"); tableView->setModel(model); tableView->show(); } 在该点菜系统中 Qt4 与 SQLite3 连接的实现界面见图 3。 图 3 点菜终端操作界面 结论 4 本文作者创新点在于用 Qt4 和 SQLite3 技术实现了嵌入式 点菜系统的前台界面及数据的存储,为嵌入式系统终端 GUI 的搭 (下转第 108 页) - 102 - 360 元 / 年 邮局订阅号 :82-946 《现场总线技术应用 200 例》
嵌 入 式 数 据 库 应 用 《微计算机信息》(嵌入式与 S OC )2009 年第 25 卷第 4-2 期 量不足。对于 disk write 主要是对接收到的数据进行存储,其流 程如图 5 所示。 技 术 创 新 图 5 视频数据数据存储流程图 4.3 数据检索 提供灵活多样的数据检索服务是视频数据库的重要职能, 也是视频数据库比一般的文件管理程序优越的根本原因。当用 户申请数据检索时,查询处理进程根据具体的查询请求逐级检 索文件索引、段索引和帧索引,定位到最符合条件的数据帧,返 回该帧在文件内的偏移量。找到符合条件的视频文件后,根据 应用需求和系统资源,就可以建立一条端对端的 UDP 或 TCP 连接,使远程用户能够在线播放或下载感兴趣的视频片断。查 询处理进程还维护一份全局的用户连接表,并将所有操作以日 志方式记录下来。 查找文件的函数接口为: int find_ file(struct STRU_FILE_QU ERY* query, struct STR_FILE_ RETURN *files, intmax_num_ re- turned} 根据传入的文件查询结构 query 中的参数进行文件级检 索,符合条件的文件的相关信息放入查询结果结构 files 中返 回,最大返回个数为 max num returned。 总结 5 本文创新点:本文在比较分析了 MySQL 和 Berkeley DB 的 各项性能,最后选择 Berkeley DB 作为 NAS 设备的底层数据库 引擎,设计了基于 Berkeley DB 的视频数据加密系统。在对 MPEG -4 VISUAL XviD 源 代 码 简 化 的 基 础 上 , 设 计 实 现 了 MPEG 常规视频加密算法中具有代表性的 VEA 选择算法对视 频数据进行加密,这样即满足对系统的开销比较少,也满足了 对传输过程中数据安全的要求。 已经产生经济效益 200 万元。 参考文献 [1]万玛宁.嵌入式数据库典型技术 SQLite 和 Berkeley DB 的研 究[J].微计算机信息.2006,3-2:91-93 [2]钟玉琢.基于对象的多媒体数据压缩编码国际标准 MPEG-4 及其校验模型[M].北京:科学出版社,2000 [3]孙健.MPEG2 视频加密算法及测试平台研究.南京理工大学硕 士学位论文.2005 (PKCS).IEEE. [4]RSA Labs. Public Key Cryptography Standards 1993 :1363 [5]F. Dachselt, S. Wolfgang. Chaos and cryptography. IEEE Trans. Circuits Syst I,2001,48(12):1498-1509 作 者 简 介 息工程学院,讲师.研究方向:计算机网络,密码学。 Biography:GUO Xiu -min (1965 - ) :female, Hebei Gaoyi, col- lege of information and engine, Shijiazhuang university of eco- nomics, lecturer. Research direction :Network, Cryptology. :郭秀敏(1965-),女,河北高邑人,石家庄经济学院信 (050031 河北石家庄 石家庄经济学院 郭秀敏 ) (Shijiazhuang university of economics Hebei shijiazhuang 050031) GUO Xiu-min 通讯地址 河北石家庄 石家庄经济学院 郭秀敏 : (050031 ) (收稿日期:2009.03.03)(修稿日期:2009.04.05) (上接第 102 页) 建研究提供了一个具体的实例参考。目前电子点菜系统基本 功能已经实现,系统前台终端已经在北京博创公司 ARM2410- S 的实验平台上已经模拟实现,后台程序也已成型,后续工作则 是根据在实验平台的验证结果,独立设计硬件系统和便携式终 端的机械本体,把软件系统重新移植到便携式终端产品中。实 验应用证明,在具有数据管理的嵌入式设备上,采用 Qt4 作为 界面设计工具及以 SQLite3 作为嵌入式数据库具有良好的效 果,设计方便及操作快捷,Qt4 与 SQLite3 的配合使用在嵌入式 行业具有一定的实用价值。 参考文献 [1]Jasmin Blanchette,Mark Summerfield. C ++ GUI Programming with Qt 4. June 2006 [2]刘峥嵘等.嵌入式 Linux 应用开发详解.机械工业出版社,2005 [3]倪继利.Qt 及 Linux 操作系统窗口设计.电子工业出版社,2006 [4]Michael Owens, Apress.The Definitive Guide to SQLite. May. 2006 [5]北京博创.ARM2410-S For Linux 实验指导书.2005.10 [6]刘小春,张有为.嵌入式 Linux 下 Qt/Embedded 应用关键技术 研究.微计算机信息,2007,23,12-2. 作 者 简 介 :孙建梅(1978-),女,东北大学东软信息学院计算机 系讲师,硕士,主要从事嵌入式系统设计,机器人技术的研究。 Biography:SUN Jian -mei (1978 - ),female,JiLin Province, Com- puter Science & Technology department, Neusoft Institute of In- formation,Master, Main research interests include technology of robot,design for embedded system etc. 辽宁 大连 大连东软信息学院计算机系 孙建梅 曹 新 (116023 ) (Neusoft Institute of Information, Dalian,China, 116023) SUN Jian-mei CAO Xin 通讯地址 息学院计算机系 中国大连市软 件 园路 :(116023 孙建梅 8 号 东 北大 学 东 软信 A3-117) (收稿日期:2009.03.03)(修稿日期:2009.04.05) 微计算机信息杂志 旬刊 每册定价:10 元 一年订价:360 元 地 址 :北 京 海 淀 区 皂 君 庙 14 号 院 鑫 雅 苑 6 号 楼 601 室 微 计 算 机 信 息 邮 编 :100081 电 话 :010-62132436 010-62192616( T/F ) - 108 - 360元 / 年 邮局订阅号:82-946 《现场总线技术应用 200 例》
分享到:
收藏