首页资源分类电源技术 > PDA上实现遥控器的集成.pdf

PDA上实现遥控器的集成.pdf

已有 462294个资源

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人消费电子

文档信息举报收藏

标    签: PDA上实现遥控器的集成

分    享:

文档简介

PDA上实现遥控器的集成.pdf

文档预览

第 29卷 第 10期 Vol.29 № 10 计 算 机 工 程 Computer Engineering 2003年 6月 June 2003 · 基金项目论文· 文章编号:1000—3428(2003)10 —0075—02 文献标识码:A 中图分类号: TP311.52 PDA上实现遥控器的集成 杨晋吉 1,2, 陈 容 壮1 (1.华南师范大学计算机系,广州510631;2.中山大学信息科学与技术学院计算机系,广州 510275) 摘 要 :在PDA上通过二次开发,利用PDA的红外线端口,接收和发射遥控器产生的红外线,使PDA可替代遥控器。文章介绍了该系统的开 发和应用环境以及系统实现的原理。 关 键 词 :PDA; IrDA; 遥控器 Integration of Remote Manipulators in PDA YANG Jinji1,2, CHEN Rongzhuang1 (1.Computer Science Department of South China Normal University ,Guangzhou 510631; 2.Institute of Information Science and Technology,Zhongshan University,Guangzhou 510275) 【 Abstract】The redevelopment in PDA can make PDA to receive and transmit the infrared rays, which are used in remote manipulators. This may result in that PDA substitutes for remote manipulators. The paper introduces the environment of the system developed and applied ,the principle of the system carried out. 【 Key words】PDA;IrDA;Remote manipulator 自PDA于1993年问世以来,其性能得到了极大的提高。 无论是在日常生活还是在商业运作上,PDA正在发挥着越来 越重要的作用。当前,随着家电的日益增多,人们手中同时 经常拿着几部遥控器,指挥不同的电器,这样很不方便;同 时,也存在资源的浪费。 本文利用PDA的可编程的特性,对PDA进行二次开发, 使它可以利用内置的IrDA端口对遥控器发出的红外线进行 采样处理,经过采样以后,将样本数据存储到PDA的数据库 中,之后,由程序控制数据库中的红外线的样本数据通过 IrDA端口发送出去,这样,就可以取代遥控器对电器进行 控制。本系统可对多种电器(如电视、电扇、VCD、DVD 等 等)的遥控器进行这样的处理,这就可以把多种电器的遥控 器集成到一个PDA上。 本系统具有很大的应用价值。电器厂商只要把遥控所需 的红外线采样数据放到Internet网上供用户下载,PDA用 户 下载后,就可以通过PDA控制电器了,使各种需要进行遥控 的电器不必一定配备遥控器。从而降低了这类电器的成本。 1 PDA及其开发环境 随着PDA本身的不断发展,PDA在移动商务和日常生活 中发挥着越来越大的作用。目前最常见的PDA是Palm公司 的Palm系列产品。 本系统的开发所用的PDA为Palm Vx的系列产品。其硬 件配置为:20 MHz Motorola 68328;内存为8MB,2MB可 刷新内存;可支持串行口、USB接口、红外接口及其他无线 连接。其软件配置为:Palm OS32位的嵌入式操作系统(版 本 4.1),有英文手写识别系统。 开发环境是CodeWarrior。CodeWarrior是 Palm OS流 行 的开发工具,它的开发语言为 C/C++语言,编译时使用 Palm OS库连接。Palm OS库提供了操作掌上设备的各种 API,其中包括屏幕管理、数据存储和读取、串行端口和红 外控制以及信息交换等。CodeWarrior可以运行在Windows 95/98/NT/2000上。 2 系统的实现原理 2.1 IrDA标准及其应用 IrDA是Infrared Data Association的简称。目前Palm上面 使用的是 IrDA1.0的标准。 IrDA标准规定:接近 9.6kB/s~ 4MB/s的传送或接收数据速度,最长3m的距离,30°的接收 角。IrDA能达到的最大传输速率有所不同,一般可分为 SIR (SlowInfrared) 和 FIR(FastInfrared) 。 SIR 最 大 传 输 速 率 为 115.2kbps,而FIR的传输速率可以达到4Mbps。IrDA1.0版本 的规定最高速率由于受串口通信的限制,所以规定为比较低 的 SIR 传 输 模 式 。 基 于 IrDA 一 套 完 整 的 传 输 协 议 , 分 为 5 层,分别是:(1)SIR、FIR 是纯物理层协议,规定了传输的 速率;(2)IrLap 是红外连接访问协议;(3)IrLMP 是红外连接 管理协议;(4)TinyTP是传输协议,高层的红外连接协议可 以 通 过 它 , 更 方 便 地 进 行 红 外 口 的 读 写 ; (5)IrComm 、 IrLan、OBEX分别是建立于TinyTP之上的3种不同的红外传 输协议。IrComm是在红外连接之上建立一个虚拟的串行/或 并行口。IrLan是建立在红外连接之上的一个局域网连接协 议,但是目前并没有在 Palm OS中被支持。 OBEX(Object Exchange)是一个建立于红外连接之上的一个具体的比较高 级的实体传送协议。IrDA的各个协议层之间的一些关系如 图1所示。 图 1 IrDA各协议层关系 基 金 项 目 :广东省自然科学基金资助项目(001174) 作 者 简 介 :杨晋吉(1968-),男,博士生、讲师,研究方向为计算 机软件与理论、网络通信;陈容壮,学士 收 稿 日 期 :2002-07-17 —75— Palm OS从3.0开始便支持红外接口。PalmVx系列产品 均带有红外接口。Palm的红外接口遵守了IrDA1.0标准。其 编程接口有3种:(1)直接将红外接口映射到串口上,通过串 口的读写函数Srm系列函数进行操作,本系统采用的就是这 种方法;(2)通过Palm提供的IR Library进行操作;(3)通 过 Palm提供的Object Exchange族将红外接口封装成较高层的数 据读写参数。 2.2 系统的程序流程图 本系统的控制流程是事件驱动方式(如图2)。由于本程 序将所采集数据、界面的安排都归并到数据库中,因此对于 界面的安排和采样的多种性都可以比较灵活。 开始 初始化数据库和 红外口 界面布局和红外线数据库 设置和显示遥控 器界面 遥控器 FORM 和其它 FORM 的事件循环(接受、发射红 外线处理,响应接选收择、操作等) 结束 图2 系统的流程图 2.3 系统的数据结构 主要的数据结构如下: 名称 数据类型 说明 FldCategoryID Unit16 遥控器所属类型 ID FldFrequency Unit32 遥控器频率,一般家电频率均为39200 FldUpBtnMap 等 Unit16 下面6个键对应的按键的I D FldBtnID Unit16 按键ID,对于不同遥控器来说可以重复 FldBtnType ControlStyleType 按键的样式,其值由PalmOS里面规定 FldTrain Boolean 是否已经收集过红外样本 FldData[SampleLength] Unsigned char 收集到的红外数据 FldDataSize Unit16 收集到的红外数据的长度 FldX、FldY Unit16 按键在屏幕上的X坐标、Y坐标 FldWeight、FldHeight Unit16 按键的宽度、高度 2.4 系统中的几个重要的函数 (1)读红外口函数 err = SrmOpen('ircm', 39200, &newPortID); ErrNonFatalDisplayIf(err != 0, "Can't Open IrDA Port");// 打开红 外 //口显示提示的Form err = SrmReceiveWait(newPortID, 1, 3000);//等待红外信息 err = SrmReceiveCheck(newPortID, &numberReceived);// 检 测 接 //收到红外数据的长度 ErrNonFatalDisplayIf(err != 0, "Receive Check Err"); numberReceived = SrmReceive(newPortID, (void *)p, numberReceived, 3000, &err);//将在缓存中的数据读到内存中, // 抹去提示Form (2)写红外口函数 err = SrmOpen('ircm', 39200, &newPortID); //打开红外口 ErrNonFatalDisplayIf(err != 0, "Can't Open Port"); SrmSend(newPortID, (void *)p, sizeof(p), &err);//发送出在内存 中 //的数据 ErrNonFatalDisplayIf(err != 0, "Send Err"); —76— (3)Palm中的事件循环器(举遥控器Form为例): Boolean ControllerFormDoCommand(UInt16 command)//处 理 菜 单 //事件函数 { FormType* frmP; switch (command){ 对应菜单的指令做相应动作 } return true; } (4)各种循环事件处理 Boolean ControllerUIHandleEvent(EventType * eventP) { 各种变量说明 frmP = FrmGetActiveForm(); switch (eventP->eType) //根据事件类别处理 { case menuEvent: return ControllerFormDoCommand(eventP->data.menu. itemID);//若是菜单指令,跳转到相应菜单处理程序 break; case frmOpenEvent: 处理各种事件 default } return handled; } 3 系统的应用 本系统可以对任意多种(仅限制于内存容量)的带红外接 口的家电进行红外数据采集,然后形成对应的遥控器。当对 某种家电的遥控器发射的红外线进行过数据采集之后,便可 以用Palm方便地进行遥控了。 对于遥控器来说,如图3所示,可以直接按Palm 上对应 的按键来操作家电。而Palm下面的上下翻页键和其它的4个 按键都可以由用户自己定义与屏幕上的按键相对应。这样做 可以使得用户将几个常用的按键定义在下面的硬按键中,方 便使用,而不是一定要在屏幕上指点。 图3 PDA遥控器 对于数据采集,只要选取了对应的按键,然后将红外口 对准原来的遥控器,按下原来遥控器的对应按钮就可以将数 据采集起来了。 如果需要映射下面的6个硬按键(由于模拟器原因无法截 图),选择对应按键,然后再在遥控器界面上点取对应的按 键即可。 而当您希望创建多一个遥控器的时候可以简单地在主菜 单中选取Create A New Controller来创建.可以简单选择克隆 (复制)一个原有的遥控器界面或者是自己手绘一个遥控器界 (下转第160页) 的计算机操作技能和熟练的业务技能。这实际上也出现了新 的矛盾。由于一张中草药药方有十几味甚至几十味草药,相 对需要较多的划价时间,因此,也可以将中草药划价模块挂 到中药房。 (3)药房管理 包括中药房管理和西药房管理(图5)。药房发药包括门 诊发药和科室发药,对于住院处的发药一般按科室发药进 行,系统为此提供了灵活的切换功能。在药品的发放过程 中,如果某一种药的房存量低于房存下限,则自动给出报 警,提示药房及时进药。 图5 中西药房管理框图 日常工作:发药处理;退药处理;协定处方维护;未发 药处方浏览。门诊住院取药:科室取药;科室退药;科室取 药查询。药房统计报表:工作量统计;药房药品出房排名; 医生开药统计;药品出入房明细报表。药房入药申请:药房 入药申请;药品编码浏览;药房退药申请。综合查询:处方 查询;药房现有房存查询;公共信息等。 (4)住院管理(图6) 图6 住院管理框图 对外结算包括病人入院登记;打印预交款收据;续交预 收款;出院结算;打印出院发票。数据录入包括病人费用录 入;未取药处方修改;已取药处方退药;病人退常规费录入 等。数据查询包括在院、出院、出院未结病人数据查询;当 日费用清单、当日预交款信息、病人处方查询和病人常规费 查询等。 护士站管理包括医嘱查询;治疗数据录入;常用药品功 能、电子处方查询等。统计报表包括在院预交款报表;科室 预交款报表;住院费用记账单;收款员日汇总表、日清单; 医生开药统计等。 通过对住院病人费用和预交款的及时汇总、对比,能够 有效地减少住院费用的拖欠;可以随时打印出病人费用的三 级汇总单:明细费用汇总单、一级项目汇总单、发票项目汇 总单,这种收费透明度也是医院高质量为患者服务的体现, 更有利于减少医患纠纷。 (5)各职能科室管理 由医生完成电子处方建立与维护、医嘱录入;综合查询 等。领导查询系统可为院领导决策提供相关的各种准确及时 的分析数据;会计核算系统能够提供多种科室与医生的核算 报表,为财务部门制作分析报表提供了准确的统计数据。 (6) 系统管理 包括部门、医生、药品单位维护等;操作员工号与密码 的变更、数据备份等。 4 结语 ZYY_MIS系统投入运行以来,已经产生了明显的社会 效益和经济效益,并于2002年9月通过河南省科技厅鉴定。 该系统在对外Web数据交换、辅助决策等方面还需要进一步 完善。ZYY_MIS采用模块化结构设计方法,以中医院为背 景完成需求分析,能够突出中医院的业务特色。实际上,其 应用范围并不完全局限于中医院,可以根据医院的实际情况 以及投资规模进行灵活组合,满足不同类型医院的需求。 参考文献 1 Sybase Inc. PowerBuilder V8.0.2001-05 2 刘敏贤.SQL Server数据库应用系统中数据完整性的设计与实施.航 空计算技术,2002,(2) 3 Geigers.曹 康译.INSICE ODBC Microsoft Press:ODBC深入剖析. 北京:电子工业出版社,1996-10 4 齐建锋,鄢 琦,艾迪明等. 企业计算机网络中保护数据安全与完 整性的一种实用方法.计算机工程,2002,28(1):150 5 Stair.张 靖译.信息系统原理.北京:机械工业出版社,2000 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ (上接第76页) 面。当需要其他机器的控制器数据时可以通过以下两种方 式:(1)通过Palm上面的Beam功能进行传送;(2)通过Conduit 将数据以台式机为中介进行传送。 4 结束语 在本系统的开发过程中,比较麻烦的是Palm 没 有 关 系 式数据库这样一个概念,它本身只是一个可以说是一维的数 据库,读写起来比较不方便,而且,Palm的内存比较小,对 于数据库的设计耗费的功夫比较多。另外一点,由于目前的 模拟器本身还没有实现红外端口的仿真,因此调试起来比较 麻烦。 本系统目前还有些限制。例如,因为各种家电的接收功 率不同,所以本系统对于家电的遥控距离有所不同。另外, 对于一些带状态的家电,如空调等,由于记录状态及对应状 态红外数据不明确,而各大家电厂家对于这些数据并没有公 布,因此暂时无法进行编程。 随着Internet的普及、PDA的流行, 电器厂商只要把遥 控所需的红外线采样数据在网上公布,PDA用户下载后,利 用本系统接收,就可以通过PDA控制电器了。多种电器的遥 控器集成在一个PDA上,从而既降低了这类电器的成本又方 便控制电器。 参考文献 1 Foster L R.顾卫华,郑 煜译.Palm OS 编程实用大全.北京:中国水利 水电出版社,2001-08 2 IrDA Standard.www.irda.org 3 Palm OS Reference.www.palm.com 4 Palm OS Companion.www.palm.com 5 Development Tools Guide.www.palm.com —160—

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。