一什么睡莲| 国安局是干什么的| 呔是什么意思| 生死有命富贵在天什么意思| 腹泻吃什么好| 喉咙发苦是什么原因造成的| 眉毛白是什么原因引起的| dollars是什么意思| 父亲是o型血孩子是什么血型| mico是什么意思| 肺痨是什么病| 睡醒后口苦是什么原因| 诊疗是什么意思| 预防是什么意思| 柏字五行属什么| 甲状腺结节有什么感觉| 荷叶搭配什么一起喝减肥效果好| 小腹疼痛什么原因| 端水是什么意思| 孕晚期感冒可以吃什么药| 弱视和近视有什么区别| 老人经常头晕是什么原因引起的| 子宫前位和子宫后位有什么区别| 西凤酒是什么香型| 办健康证要带什么证件| 急性胰腺炎是什么病| 钾高是什么原因引起的| 骨折一个月能恢复到什么程度| 下巴上有痣代表什么| 什么是碱性水果| 财多身弱什么意思| 掉发是什么原因| 草酸对人体有什么危害| cindy是什么意思| poct是什么意思| 中元节是什么节日| 儿童肚子疼挂什么科| 孕妇睡觉流口水是什么原因| 骨相美是什么意思| 什么时候恢复的高考| 一什么种子| 女人脚发热是什么原因| 碳酸钠是什么| 黑加京念什么| 夏枯草治什么病| 经期吃什么水果好| 异性朋友是什么意思| 补钙最好的食物是什么| 孕期吃什么| 胃热是什么原因引起的| 象是什么结构的字| 甲磺酸倍他司汀片治什么病| 女人能日到什么时候| 小孩晚上不睡觉是什么原因| 火六局是什么意思| 最小的一位数是什么| 什么的果子| icu是什么| 什么的精神| 盆腔积液有什么症状有哪些| 备注什么意思| 全麻后需要注意什么| 腾冲有什么好玩的景点| 孕妇感染弓形虫有什么症状| g50是什么高速| 嗣是什么意思| 胆红素是什么意思| 什么粮食| 四爱什么意思| 指甲凹陷是什么原因引起的| 喝酒对身体有什么好处和坏处| 龙代表什么象征意义| 博士和博士后有什么区别| a血型和o血型生出宝宝是什么血型| 外感风寒是什么意思| 跨境电商是做什么的| 医保定点医院是什么意思| 1966年属马的是什么命| 支原体是什么| 甲木代表什么| 朋友梦到我怀孕了是什么意思| 猫咪吐黄水有泡沫没有精神吃什么药| 捞面条配什么菜好吃| 两个月小猫吃什么食物| 三千烦恼丝什么意思| 308是什么意思| 石斛主治什么| 病案号是什么意思| 今年是什么年啊| 双肺呼吸音粗是什么意思| 海椒是什么辣椒| 7o年属什么生肖| 鸭胗是什么器官| palace什么牌子| 吴亦凡属什么生肖| 人间正道是沧桑是什么意思| 附件是什么部位| 二胎什么时候放开的| 称中药的小秤叫什么| 婧字五行属什么| 左肺上叶纤维灶是什么意思| 经常看手机有什么危害| sec是什么意思| 放是什么偏旁| 切是什么偏旁| 肝内低密度灶是什么意思| olayks是什么牌子| 苹可以组什么词| 女真族现在是什么族| 鼻炎吃什么药最好| 1959年属猪的是什么命| 做梦吃鱼是什么意思| 东北话篮子是什么意思| 苏菲是什么| 巡警是做什么的| 火华读什么| 胃痛怎么办吃什么药| 子宫内膜炎吃什么药| 吃什么补脾虚| 恶对什么| 桃花是什么季节开的| 谷丙转氨酶偏高吃什么好| 肺部真菌感染吃什么药| 早泄是什么原因引起的| 丁香茶有什么作用和功效| 缺钾吃什么水果| 来事头疼什么原因| 男人容易出汗是什么原因造成的| 6月23日是什么星座| 什么药是消炎药| 塑料属于什么垃圾| 湿疹是什么| 吃土豆有什么好处| 皮肤过敏擦什么药膏好得快| ca125高是什么原因| 什么是垃圾食品| 小孩手指头脱皮是什么原因| 手指指尖发麻是什么原因| 智商105是什么水平| 124什么意思| 背痛挂什么科| 奥司他韦是什么药| 脊椎侧弯挂什么科| 反流性咽喉炎吃什么药| 子宫癌是什么症状| 刀子嘴豆腐心是什么意思| 痔疮是什么病| 不怀孕需要做什么检查项目| 94岁属什么| 腹泻吃什么水果| 教学相长是什么意思| 有何贵干是什么意思| 拜有利主要是治疗什么| 什么水果是凉性的| 经期吃什么| 倒嗓是什么意思| 做梦梦到别人死了是什么征兆| 小孩感冒流鼻涕吃什么药| 脱敏是什么意思| 抑菌液有什么作用| 做梦遗精是什么原因| 液基薄层细胞检测是什么| 为什么男人喜欢女人的胸| 什么地流淌| 吃中药喝酒有什么影响| 老睡不着觉是什么原因| 解构是什么意思| 亦或是什么意思| 刀子是什么意思| 韩国的思密达是什么意思| 棒槌是什么意思| 多吃西红柿有什么好处| 顺子是什么意思| 双重所有格是什么意思| 追溯码是什么意思| 淋巴细胞百分比低是什么意思| 山楂泡水喝有什么功效| 床上为什么会有跳蚤| 李嘉诚是什么国籍| 男同是什么| 皮肤晒伤用什么药| 边缘性行为包括什么| 6月12是什么星座| 什么的月光| 牵牛花什么时候开| 看病人送什么花合适| 1d是什么意思| rh阳性是什么意思| 易经是什么| 乙肝有抗体是显示什么结果| 晨起嘴苦是什么原因| 堃什么意思| 脑萎缩吃什么药最好| 属牛本命佛是什么佛| 亭亭净植的亭亭是什么意思| 圣诞节送什么好| 2.22是什么星座| 每天吃松子有什么好处| 张韶涵什么星座| 白带黄什么原因| 如花似玉是什么生肖| 鱼油吃多了有什么副作用| 鬃狮蜥吃什么| 鼻血流不停是什么原因| 吃什么可以止咳化痰| 吃什么补维生素b6| 什么减肥药最管用| 恨天高是什么意思| 白发越来越多是什么原因造成的| 黄飞鸿是什么生肖| 锦鲤什么意思| 风疹是什么症状| 胃溃疡吃什么药| 为什么一个月来两次姨妈| 桑蚕丝被有什么好处| 腿膝盖后面的窝窝疼是什么原因| 为什么要吃叶酸| 来大姨妈吃什么对身体好| 抗甲状腺球蛋白抗体高是什么原因| 男人分手是什么感觉| 蹭饭吃是什么意思| 阴阳两虚吃什么中成药| 脓疱疮是什么原因引起的| 砚是什么意思| 大象的鼻子为什么那么长| 太阳像什么的比喻句| 硬度不够吃什么好| 得道是什么意思| 继续近义词是什么| 白色情人节什么意思| 肠胃痉挛什么症状| 药流前需要做什么检查| 查染色体的目的是什么| 嘉字属于五行属什么| 吃地屈孕酮片有什么副作用| 轮廓是什么意思| 云南有什么| 送男教师什么礼物合适| 吃什么水果对皮肤好| 舌苔厚是什么原因| 卡介疫苗是预防什么的| 棉花糖是什么做的| 子宫前位是什么意思| 白细胞高有什么危害| 甲状腺双叶回声欠均匀是什么意思| 倪字五行属什么| 肾与性功能有什么关系| npv是什么意思| 逍遥丸主要治什么病| 蚂蝗长什么样| 避孕套有什么作用| 全麦粉是什么面粉| 茶色尿液提示什么病| 下属是什么意思| 房性早搏吃什么药| 孩子总爱哭是什么原因| 心肌梗塞是什么症状| 一什么画| 为什么晚上睡觉老是做梦| 熊猫血是什么| 驴打滚是什么| 精液是什么颜色| 左心房增大是什么原因| 孕妇什么体质容易晚生| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Qt/Embedded的物流信息终端导航定位功能设计

"奶爸仁医"胥亦龙:只想着抢救病人,忘了还背着孩子

——
作者: 时间:2025-08-04 来源:电子设计应用 收藏
百度 一是规模比较大;二是隐性债务集中在市和县两级;三是部分隐性债务对应的资产变现能力不强。

摘 要:本文介绍了图形界面系统在嵌入式Linux系统和S3C2410平台的上的移植与开发过程,以及在上定位功能的系统设计方案和编程实现,并给出实验结果。

是奇趣科技推出的基于Linux的嵌入式平台开发工具,是Qt的嵌入式版本。由于KDE等项目均使用Qt作为支持库,所以许多基于Qt的X Windows程序可以非常方便地移植到Qt/Embedded版本上。Qt/Embedded具有面向对象、跨平台和界面设计方便美观等优点,已得到了广泛的应用。
本文针对当前物流行业终端定位功能的需求,提出与之相适应的物流终端定位功能实现方案,并利用Qt/Embedded,在基于嵌入式Linux和S3C2410的物流信息化终端平台上对终端定位功能进行了初步实现。
  
软硬件系统设计原理

基于现有网络建设的总体情况和物流配送过程中对定位数据的可靠性、连续覆盖性、精度的要求,并综合考虑各种定位技术的发展现状及技术成熟度、实现成本等因素,本系统在物流配送网络中采用了GPS辅助定位系统,即GPS+CellID+RFID+图形道路匹配相结合的定位技术。

系统的软硬件功能框图如图1所示,开发板CPU采用的是三星公司的S3C2410。该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器。GPS模块利用RS232接口与开发板通信,提供卫星定位信号;GSM/GPRS模块提供通信以及CELLID定位信息获取;RFID模块提供标签信息采集和RFID定位功能。终端通过GSM/GPRS通信网络与物流信息控制中心建立联系,提交相关数据采集信息和接收物流信息控制中心指令。

图1 系统软、硬件功能框图

系统采用嵌入式Linux操作系统,移植Qt/Embedded 3.3.4和SQLITE数据库,采用Qt编程实现物流信息化终端定位功能。

软件系统设计

本文的软件系统设计主要以S3C2410平台为核心,通过RS-232串口从GPS模块、GSM/GPRS模块、RFID模块提取定位信息,加以分析转换,并根据需要用于终端导航或通过GSM/GPRS网络提交给物流信息控制中心。  

宿主机开发环境建立

由于目标平台资源所限,需要搭建交叉编译环境,本系统开发过程中采用的平台如下:
宿主机:RED HAT 9.0
Qt/X11 3.3.4
Qt/Embedded 3.3.4
SQLITE 2.8.16
cross-2.95.3.tar.bz2
目标机:Linux Kernel 2.4.18
Qt/Embedded 3.3.4
SQLITE 2.8.16

Qt/Embedded 3.3.4移植

为了正确交叉编译Qt/Embedded,建议宿主机完全安装RED HAT 9.0,同时要确保UUID、ZLIB、JPEG、GIF、PNG、SQLITE等Qt中所需要的头文件、库文件在交叉编译前正确安装,并移植相应的库文件至目标机中,此类文件的具体安装在此不再赘述。下面主要对Qt/Embedded 3.3.4的交叉编译及移植进行详细讨论。

下载解压源文件
$ cd ~
$ mkdir -p qt_embedded/
$ cd qt_embedded
$ wget ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.4.tar.bz2
$ wget ftp://ftp.trolltech.com/qt/source/qt-embedded-free-3.3.4.tar.bz2
$ tar jxf qt-x11-free-3.3.4.tar.bz2
$ tar jxf qt-embedded-free-3.3.4.tar.bz2
$ mkdir -p qt-embedded-free-3.3.4-target/
$ sudo cp -r qt-embedded-free-3.3.4/ qt-embedded-free-3.3.4-target/
安装Qt/X11
$ cd qt-x11-free-3.3.4
$ export QTDIR=$PWD
$ export PATH=$QTDIR/bin:$PATH
$ export LD_LIBRARY_PATH =$QTDIR/lib:$LD_LIBRARY _PATH
$ echo yes | ./configure -thread -plugin-sql-sqlite -prefix /usr/local/ Qt-3.3.4/
$ make
$ sudo make install

安装Qt/E 3.3.4的宿主机版本

为便于在宿主机上进行嵌入式程序开发,利用qvfb进行虚拟嵌入式LCD屏幕显示。

$ cd ../qt-embedded-free-3.3.4
$ export QTDIR=$PWD
$ export PATH=$QTDIR/bin:$PATH
$ export LD_LIBRARY_PATH =$QTDIR/lib:$LD_LIBRARY _PATH
$ echo yes | ./configure -thread -plugin-sql-sqlite -prefix /usr/local/Qt-embedded-3.3.4-host -qvfb
$ make
$ sudo make install
$ sudo cp -r lib/fonts/ /usr/local/Qt-embedded-3.3.4-host/lib/
安装Qt/E 3.3.4的目标机版本
$ cd ../qt-embedded-free-3.3.4-target
$ cp ../qt-x11-free-3.3.4/bin/uic bin/(注意:需拷贝uic工具的QT/X11版本至安装目录中)

由于Qt/E3.3.4没有专门针对触摸屏的配置选项,为了确保触摸屏能正常工作,可以利用现有的配置选项进行修改,以满足实际需要。现利用qt-mouse-Linuxtp修改触摸屏驱动。

修改src/embedded/qmouselinuxtp-qws.h,添加下面两行:
#define Qt_QWS_IPAQ
#define Qt_QWS_IPAQ_RAW

修改src/embedded/qmouselinuxtp-qws.cpp,把文件中/dev/**3600改为开发板ARM-Linux操作系统中相应触摸屏驱动的名称/dev/touchscreen/0raw。

$ echo yes | ./configure -embedded arm -shared -debug -no-cups -thread -plugin-sql-sqlite -no-ipv6 -qt-mouse-Linuxtp -prefix /usr/local/Qt-embedded-3.3.4-target -depths 16 -system-libpng -system-libjpeg
$ export QMAKESPEC=qws/linux-arm-g++
$ make
$ sudo make install
$ sudo cp -r lib/fonts/ /usr/local/Qt-embedded-3.3.4-target/lib/

此时,将交叉编译的Qt/E 3.3.4的库文件下载至开发板中,并设置相应的环境变量QTDIR、PATH、LD_LIBRARY_PATH等。另外还要设置触摸屏环境变量如下:
$ export QWS_MOUSE_ PROTO=LinuxTP:/dev/touchscreen/0raw
$ export QWS_KEYBOARD=

此时,触摸屏可能仍无法工作或误差较大,其主要原因是开发板操作系统中/etc/pointercal文件不存在或该文件中对触摸屏进行调整的校准参数不正确,需对/etc/pointercal文件进行修改。修改方法有两种:一种方法是直接新建该文件,并在文件中按正确格式添加相应参数;另一种方法是交叉编译tslib-1.3.tar.bz2,将生成的校准程序拷贝至目标板,设置环境变量,运行校准程序,可直接生成高精度的/etc/pointercal文件。这里推荐使用第二种方法。

至此,Qt/E3.3.4便可在目标板上正确执行,移植完毕。

Qt/E编程

本文采用Qt/Embedded 3.3.4版本,主要是考虑到Qt/E 3.3版本相对以往版本更成熟,可视化编程相对更方便易用,且其支持SQLITE数据库驱动,便于数据库操作与编程。在本设计中主要使用了Qt/E的画布模块、SQL模块、网络模块及多线程编程,缩短了程序的开发周期,提高了开发效率。下面主要就多线程编程和画布模块编程进行讨论。

多线程编程

通常情况下图形用户界面应用程序有一个执行线程并且每次执行一个操作。如果用户在单线程的应用程序中从用户界面中调用一个耗时的操作,当这个操作被执行的时候,用户界面通常会被冻结。本实现使用QThread子类化得到QGPSThread类,并使用QMutex、QSemphore和QWaitCondition来同步各线程。QGPSThread类用于通过串口编程接收GPS模块的$GPRMC定位数据帧,并加以解析,得到实时的经纬度等定位信息,供其它线程使用。

画布模块

画布模块中QCanvas库是一个高度优化的二维绘图库,QCanvas可以包含很多任意图形的项并且在内部使用双缓冲来避免闪烁,而且QCanvas支持分层,适合数字地图的分层显示。QCanvas与其它画布模块结合使用,能很方便地实现导航地图的显示、缩放、漫游以及鹰眼等功能。下面是导航地图常用操作的实现代码。

void Form2::zoomin()  //缩小地图比例
{
QWMatrix m = mapview->worldMatrix();
m.scale( 0.5, 0.5 );
mapview->setWorldMatrix( m );
}
void Form2::movleft() //地图向左漫游
{
mapview->scrollBy(-10,0);
}
void Form2::centerpoint()  //将当前定位点居于显示地图正中
{
mapview->center (pointx,pointy);
}
void Form2::movleft()  //定位点在地图上移动
{
i->move (pointx,pointy);
canvas->update();
}

初步实现

嵌入式信息终端平台定位功能的初步实现如图2所示,该系统人机界面友好,定位精确。定位误差主要取决于GPS-OEM模块的定位精度,实验显示,本系统能初步满足对定位功能的需求。

图2 嵌入式信息终端平台定位功能的初步实现

结语

本文提出了一种嵌入式物流信息化终端定位功能的实现方案,并利用Qt/E编程对其进行了初步实现。实验结果证明,系统定位数据精确、界面友好、系统可扩展性强,较好地完成了物流信息化终端定位功能。■
 
参考文献
1.常菲,李明禄,李鲁群.物流配送中移动定位技术研究[J].微型电脑应用(研究与设计),2004,20(1).22-24
2.杨晕,胡永健,林志泉.基于Linux和S3C2410嵌入式图象传输系统设计[J].微计算机信息(嵌入式与SOC),2007,23(3-2).20-24
3.(加拿大)布兰切尼(Blanchette,J.),(英)桑姆菲尔德(Summerfield,M.)著;齐亮译.C++ GUI Qt3 编程[M].北京:北京航空航天大学出版社,2006



评论


相关推荐

技术专区

关闭
嘴唇出血是什么原因 男人左眼跳是什么预兆 1936属什么生肖 潘驴邓小闲是什么意思 重金属是什么
什么的晚霞 什么的脊背 多喝白开水有什么好处 溃疡用什么药 肌酐300多属于什么期
高锰酸钾是什么颜色 plt是什么 冰心的原名叫什么 倾慕是什么意思 腺是什么意思
佳字属于五行属什么 2月是什么星座 肚子上长毛是什么原因 腺是什么意思 夜明珠代表什么生肖
梦见挖野菜是什么意思hcv9jop5ns1r.cn 频繁什么意思liaochangning.com 尾椎骨痛挂什么科hebeidezhi.com 串词是什么hcv9jop4ns3r.cn 鹦鹉吃什么水果hcv9jop8ns0r.cn
白术适合什么地方种植hcv8jop2ns7r.cn c60是什么hcv9jop0ns6r.cn 流汗太多对身体有什么危害hcv7jop6ns1r.cn 40周年是什么婚hcv9jop4ns8r.cn 吃什么水果可以降火hcv9jop1ns4r.cn
单方精油和复方精油有什么区别hcv9jop1ns4r.cn 肾虚有什么症状hcv7jop5ns6r.cn 炮烙之刑是什么意思bysq.com 咖啡因是什么东西hcv7jop9ns6r.cn 金色配什么颜色好看liaochangning.com
吃什么保养皮肤hcv9jop2ns5r.cn 四什么八什么的成语hcv7jop6ns3r.cn 为什么你liaochangning.com 罡什么意思hcv9jop8ns0r.cn 一什么不什么hcv7jop4ns8r.cn
百度