基于Linux的嵌入式POS的GUI及数据库研究
POS(PointofSale)是目前各商场、饭店、加油站等广泛提供的刷卡消费业务的辅助工具,位于商场、加油站等地的POS机将获得的用户*的数据(卡号、业务资料等)通过通信线路传给*服务处理系统上,经过处理的信息返回到POS机,从而完成用户的刷卡消费业务。为了实现上述数据交换过程,在POS机与银行主机之间必须进行数据通信。
目前使用最广泛的POS机接入方式是有线接入方式,而有线接入方式主要有两种:一是基于电话网的点到点拨号接入方式和基于DDN的专线接入方式。无线POS机是目前POS机行业的一项新技术,移动性强,平均交易时间短,并能随身携带。目前在全国各大商场和超市内随处可见POS刷卡机,但它们大多都是通过电话线联网进行通信,移动性差,不灵活,限制了业务发展。无线POS机成功的解决了这一难题,它通过一个POS和无线调制解调器的一体机在GPRS/CDMA网上联网传输信息。
1 Linux下的图形用户开发工具Q t
Qt是Trolltech(挪威)公司的产品。Qt是一个多平台的C++图形用户界面应用程序框架,它能给用户提供精美的图形用户界面所需要的所有元素,而
且它是基于一种面向对象的思想,所以用户对其对象的扩展是相当容易的,并且它还支持真正的组件编程。
在一台装有Linux操作系统的机器上建立Qt/Embeded开发环境:首先需要拥有三个软件安装包: tmake工具安装包,Qt/Embeded安装包,Qt的X11版安装包。
Qt包含了许多支持嵌入式系统开发的工具,其中两个最实用的工具是qmake和Qtdesigner(图形设计器)。Qt中有三个主要的基类:QObject、QapplicaTION和QW idget。
在Qt中编程,利用Signal和Slot进行对象之间的通信是Qt的主要特征。它与W indows中的消息机制非常类似,但是Signal和Slot机制真正实现了一种消息的封装。当对象的状态改变时,发出Signa,l通知所有的Slot接受Signa,l尽管它不知道哪些函数是Slot。一个Signal可以发给多个Slo,t Slot也可以接收多个Signal。Slot除了可以接收Signal以外,与其他的成员函数没有区别。这种机制比使用回调函数要灵活,但是会减慢程序的运行速度。不过在现在高速CPU的面前,这种损失是无足轻重的,而且它还能保证程序的简明性和灵活性,非常便利。
QT支持包括Unix、Linux、W indows在内的多种操作系统平台。Linux下常用的KDE桌面环境就是基于QT编写的。QT使用了Unicode作为内部编码,可以同时支持多种编码。目前的版本对国际化标准支持非常完备,这就为本地化提供了可能[4]。
2 小型嵌入式数据库M ySQL /SQLite
SQLite作为一个嵌入式的数据库,主要的是程序小(200多K),速度快,支持ANSISQL-92的大部分标准功能。SQLite使用文件作为数据库,查询出的所有记录都放在内存中,它的sql句法比较简单易用,支持的类型也比较全。字符串和blob类型可以支持4GB的长度。它还支持事务处理。在单用户情况下,它的速度是最快的。多用户下,速度不及别的数据库。
特点:①支持符合acid(原子性,一致性,隔离性,持久性)特性的事务处理;②0配置,不需要任何安装和管理;③符合SQL92的绝大多数标准;④完整的数据库只存储在单个磁盘文件当中;⑤数据库文件可以被不同的机器共享,并与字节序无关;⑥string和BLOB的大小只受到可用内存的限制;⑦总共不到30000行代码。代码空间不到250K;⑧比现在的C/S结构的大部分数据库要快;⑨不依赖于任何其他的库;⑩支持数据库大小可以达到2的41次方,即2个TB。
SQLite的弱点:①没有专有的安全措施,数据库是一个文件;②没有内嵌的压缩、解压机制,数据库文件看上去太大。
MySQL是SQL数据库管理系统,MySQL是开源的,开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。MySQL服务器工作在客户/服务器或嵌入系统中,MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。
3 POS系统的硬件配置
POS系统硬件配置,见图1所示。
![](../img/eep/emb/emb-27156m3vuvcglnv4.jpg)
4 本POS系统介绍
由于我们使用的是Red hat9自带的Qtdesigner,由于是处于研究阶段,而且是免费的,所以暂时采用此软件.此软件没有集成开发环境(IDE),我们采用Qt的Qt designer画出基本的功能,然后由KDevelop修改添加源代码,通过Qt自带的uic(user inteRFace compiler)工具将. ui编译成. cpp和. h文件,最后通过修改makefile,达到我们编译此界面的目的。
(1)需要配置unixODBC,把unixODBC放到/usr/local下,解压缩,然后运行. /configure,其中需要一些环境变量参数的设置,系统生成一些makefile文件,运行make将unixODBC编译,然后make install安装uni
数据库 研究 GUI POS Linux 嵌入式 基于 相关文章:
- 基于虚拟仪器的特性测试参数数据库的设计(06-24)
- 嵌入式数据库在Java中的应用(03-03)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 嵌入式移动数据库系统中的数据查询(02-21)
- Linux EXT3下删除MySQL数据库的数据恢复(05-26)
- 嵌入式移动数据库与Agent技术(03-01)