嵌入式公交查询系统的设计

时间:2022-10-03 05:00:42

嵌入式公交查询系统的设计

摘要 由于城市化进程迅速,交通越来越拥挤。为了缓解交通压力,公共交通工具将起到关键作用,而其人性化服务并不完善。本论文研究如何利用嵌入式系统作为平台、 Qt做图形化的人机交互界面设计、SQLite数据库对后台数据进行支持,而最终完成公交的线路查询等功能。

关键词 嵌入式;Qt;SQLite

中图分类号TP212 文献标识码A 文章编号 1674-6708(2011)43-0211-02

The Design of Embedded Bus Query System

DAI Yanjiong

School of Computer and Communication HNU, ChangSha 414000,Hunna Province,China

Abstract Due to the rapid urbanization, the population increase, traffic more and more crowded. In order to alleviate traffic pressure, public transport will play a key role, and the humanized service is not perfect. This paper studies how to use embedded system as the platform, using Qt do graphical interface design, use of backend data SQLite database support. And finally complete functions such as the line inquires bus.

Keywords embedded;Qt;SQLite

0 引言

汽车尾气中还含有大量的NOx、HC及CO等污染物,是大气中形成光化学烟雾和酸雨的主要原因[1]。目前对于尾气污染问题有以下几种解决方向:安装排气净化装置、采用新的动力源、倡导更健康的出行方式[2]。尽量更多的选择公共交通工具,对于缓解城市的交通压力起到关键的作用。本论文的着重点在于如何为公交乘客提供更加人性化的服务,利用嵌入式技术在公交车上安装终端系统,实现用乘客的人机交互。通过简单便捷的操作方式,便能实现如公交线路查询、公交换乘、查询站点周边银行、酒店、餐饮、超市、药店等服务。

1 系统整体框架

首先,选择一个适当的硬件平台,移植适当的嵌入式操作系统。再在系统里面移植用于人机交互的GUI(Graphical User Interface,图形用户界面),以及用于存储、查询数据的数据库。数据库为查询系统提供数据支持,GUI为查询系统提供界面支持。整体框架见图1。

2 硬件选择及框架

在这里我们选择了采用ARM920t内核的S3C2440A微处理器,S3C2440A是三星公司推出的16/32位RISC微处理器,它价格较低、低功耗、高性能。选择LCD显示及触摸屏作为显示与交互模块。本系统考虑到不同需求,设计了串口通信、USB、以太网接口,以满足不同的需要。系统硬件整体设计框图如下图2所示:

3 软件平台的选择

1)嵌入式系统的选择。Linux操作系统作为开源的嵌入式操作系统,被人们广泛应用。其支持众多嵌入式平台,并支持各种GUI各种工具和数据库的操作系统;

2)GUI的选择。Qt作为一个跨平台的C++图形用户界面库,为应用程序开发者建立艺术级的GUI(图形用户界面)所需要的功能。本系统选择的是Qt4.5.0版本;

3)数据库的选择。本系统选择的数据库是SQLite, SQLite是一款轻型的数据库,是为嵌入式产品量身打造的数据库。占用资源非常的低,可能只需要几百K的内存就够了。

4 公交查询系统的设计

4.1 数据库建立

系统的目标是完成公交线路的查询以及站点的查询。根据这个要求建立一个bus.db的数据库,里面设计两个表。一个表名Route(线路),另一个表明BusStop(公交站点)。Route里面以BusRoute(公交线路)作为主键, BusStop里面以Initial(首字母)作为主键。以下为创建表过程:

create table Route(BusRoute primary key,bp1,bp2,bp3……………);

表1的内容以1路公交车为例: 1 , 站名1,站名2,站名3,站名4………。

Create table BusStop(Initial primary key,busstop,rt1,rt2,rt3……);

表2 的内容以”雷锋镇”站为例:L,雷锋镇,线路1,线路2………。

将公交的信息输入Route,BusStop后数据库就完成了。

4.2 Qt程序的设计

Qt为数据库操作提供了专门的多个类,提供了查询、插入、创建等功能。下面是Qt访问数据库的代码:

ui->setupUi(this);

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("bus.db");

db.open();

公交查询系统的界面是用Qt提供的Designer 工具编写的。查找Route表的代码如下:

QString rm = ui->find_comboBox->currentText();

QSqlQuery query("select * from Route where BusRoute = "&rm&"" ,db);

QString name1,name;

while(query.next())

{

for(int i = 0; i < 51;i ++)

{

name = query.value(i).toString();

name1 = name1 + "-" +name;

if(query.value(i).toString()==NULL)break;

}

}

ui->find_textEdit->setText(name1);

以上就完成了对Route表的线路查询,实现见图3。

4.3 其它功能

本系统出来完成查询功能外,还可以提供电子地图、景点介绍、餐饮、超市、商场查询。设计的过程与原理和上节讲述基本相同,这里不再说明。实现见图4。

参考文献

[1]周小霞,刘作华.汽车尾气净化技术现状及发展[J].压声与声光,2003(10).

[2]张国勇,王卫友.浅谈汽车尾气危害及控制措施[J].长江大学学报自然科学版,2009(6).

注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”

上一篇:绿色包装设计的理念探析 下一篇:关于我国灌注桩施工质量控制的研究