使用恰当的通信链接和现成的开发工具,可以将一台现成的智能手机改变成一种低成本的移动用户界面,用于你的下一代嵌入系统项目。 要 点 一台现成智能手机可以代替某些嵌入式设计的用户界面部分,大大减少开发工作。 虽然高速蜂窝状数据传输是规范,但设计者也可以为智能手机界面选择短程的蓝牙和 802.11 网络。 低成本网页服务器模块为设备制造商提供了一种将嵌入设备升级成具备智能手机兼容性的简单方法。 大多数手机供应商提供的集成式开发工具方便了对智能手机用户界面设计的定制编程要求。 随着智能手机的销量上升,设计者将自己的目光投向内置的可编程图形、增长的处理功能,还有通信选项,以替换或增强最具挑战性和最昂贵的嵌入系统部件之一:用户界面。经过正确的设置,在便携智能手机上点击几下,你就能连接到并管理任何嵌入设备。如果再增加一些专用软件,一部智能手机可以复制出专利产品的外观和感觉,只要付出少量开发费用和时间,就可以具备类似一种定制嵌入硬件界面的用户体验。
智能手机作为嵌入设备的控制器可以有多种应用,如工业控制器、门禁控制产品、医疗仪器、安保系统、环境控制,甚至家居自动化设备。例如, MP4 Solutions 提供 Airstrip OB 智能手机应用,产科医生可以远程访问到胎儿的实时心跳曲线,以及从 General Electric 的Centricity Perinatal信息系统获得宫缩图(图 1)。智能手机的实时显示可以消除护士转述时的可能错误,医生也可以更频繁地查看病人情况。Airstrip OB 支持多个医生访问多个病人,并能保证医疗保险信息交流与责任法案所要求的隐私保护。当然,医生要为 Airstrip OB 许可每年支付 300 美元,或每月支付 30 美元。
智能手机或聚合型移动设备技术能在一个口袋大小的外形尺寸中,组合有 PDA功能、多媒体记录机和播放机、数字通信以及互联网接入等功能。同时,这些设备也能完成电话呼叫功能。智能手机实际上已消灭了便携 PDA 市场,因为它们有更大的处理功能,能完成很多以前笔记本电脑才能做的任务。IDC 报告说,2006 年第二季度,全球聚合移动设备的出货量达到创纪录的 1930 万台,连续增长1.9%,年增长42.1%。IDC 将聚合移动设备定义为一种拥有如 BlackBerry、Linux、Palm、Symbian 或 Windows Mobile高级操作系统的移动电话。
灵活的手机
智能手机为嵌入系统设计者提供了很多优于定制硬件的优点。除了明显的价格与体积优势以外,智能手机还具备设计灵活性。一台智能手机可以控制多个嵌入设备,反之,多个授权用户可以控制一台嵌入设备。根据嵌入系统和手机的能力,用户交换无线数据可以采用短程技术如红外或蓝牙;中程技术的 802.11 网络;或长距离的蜂窝系统。但智能手机的使用也带来了很多问题。例如,对安全与隐私的关注使软件大大复杂化。另外,每个用户都需要有一台包含应用软件和数据服务的智能手机。智能手机有各种体积、屏幕尺寸、处理器速度和操作系统。这些不同选项使用户能够根据自己的需要做出恰当的选择,但却为嵌入系统设计者带来了集成与互操作性问题。最后,在多数大型企业中,信息技术部门都要指定手机策略与选择运营商。
多数智能手机工作在 CDMA(码分多址)或 GSM(全球移动通信系统)蜂窝网络上。采用 CDMA 时,传输信号的频率会根据一个规定码作跳跃,只有遵循相同频率组的一台接收机才可以检测到它。CDMA 可以使多个无线电共享相同的频道。GSM 是最常见的手机标准:200 多个国家中的 20多亿人正在使用它。大多数手机技术都有第三代发展路径,可以为大带宽系统应用扩展数据速率。具体例子有 EDGE(针对 GSM 发展的增强型数据速率)和 EV-DO(数据形成优化)。
有很多种方法可以通过现有通信链路实现智能手机与嵌入设备的接口。基本的设计挑战是将通信软、硬件集成到嵌入设备中,并可能要为手机开发一种定制应用程序。一种常用的方法是为嵌入设备增加网站服务器功能,使之具有互联网连接能力。如果嵌入产品有过剩的处理能力和一个通信端口,则设计者可以直接在固件中增加网站服务器软件。例如,采用面向嵌入设备和应用程序的小尺寸开放源 AppWeb 网站服务器。该软件有 GNU 开放源许可,并且有一个支持它的开发者团体。它提供一个标准的动态网页创建环境。可以从 www.appWebserver.org 下载免费的 AppWeb 软件以及全部源码。
为了对扩展能力有限的产品进行翻新改造,可以选择一种嵌入式的网站服务器模块,它的一端是连接到嵌入设备的串行接口,另一端则是以太网接口。网站服务器带有连网软件,设计者能将精力集中在嵌入系统应用程序上。NetMedia 公司 30 美元的 SitePlayer 模块和 Lantronix 公司50 美元的 Xport 嵌入式以太网设备服务器都是这种添加式网站服务器的实例。每台设备都能创建出采用标准 HTML(超文本标记语言)编写工具的智能手机兼容网页,并直接将它们下载到内置的闪存里。然后可以与设备通信,并用任何标准浏览器或智能手机浏览器控制设备。
短程链接
短程无线链接也能为嵌入设备的控制与监控提供所需的连接,如红外、蓝牙和 Wi-Fi。多数智能手机都提供内置的蓝牙收发器,可以无线连接到邻近的设备实现同步,如耳机、GPS(全球定位系统)模块、其它智能手机和 PC。有了一台集成有蓝牙收发器的嵌入设备(用于定制智能手机应用),就可以为短程交互应用建立一个用户界面。通过红外通道也可以建立类似的通信链接,但比较难以掌握双方不同位置传感器的对准。虽然 Wi-Fi 收发器能提供一个较长距离的连接,但智能手机运营商不愿意提供这种功能,因为 VoIP(互联网协议语音传输)连接会使他们损失按分钟的收费。
尽管简单地通过在智能手机浏览器选择网站服务器地址,就可以调出一个嵌入用户界面,但通过一些软件的修改, 就可以产生更定制化的外观和感觉,简化过程。多数智能手机供应商都提供开发工具,鼓励第三方开发附加软件,增加手机销售量或提高每分钟收费额。尽管嵌入设备通常有很多软件供应商,以及自己的定制软件,但智能手机软件的来源非常有限。主要的手机平台操作系统无非是嵌入式 Linux、以及来自Symbian、Windows Mobile、Palm及 Research in Motion的系统。
大型手机制造商都拥有和支持 Symbian的操作系统,包括诺基亚(Nokia)、爱立信(Ericsson)、索尼(Sony)和三星(Samsung),Symbian 占有最大的智能手机市场份额。Symbian OS 包括一个实时、多线程、具有优先权的内核,并支持大多数电话、消息传输和多媒体协议。Symbian 开发者的目标是资源有限的手持设备,因而极其重视内存和功率的保持。Symbian 网站上提供一套完整的开发工具,包括付费版和免费版。
Palm 操作系统开发工具比任何其它智能手机软件供应商的都要成熟。PalmOne 是 Palm 派生出的硬件,PalmSource 最近由 Access 收购,负责维护 Palm 操作系统以及与第三方开发者的工作。应用开发人员可以选择 C、C++、Visual Basic 或 Java 编程语言,再加上 Freescale CodeWarrior 或 Eclipse 集成开发环境。在 PalmSource 网站上可以找到开发工具、文档和指导内容。
Linux 是增长最快的智能手机操作系统,它为开发者提供开放源代码,免除了许可限制,还有免费的开发工具以及一个庞大的支持团体。为支持它的快速增长,摩托罗拉一位发言人近日宣布,该公司今后两年内出货的手机中,一半以上将采用 Linux。Evans 数据集团报告说,2005 年售出的几乎四分之一智能手机都采用了 Linux 操作系统。但是,Linux 也存在着某些问题。批评者称,Linux 智能手机平台有着断片和互操作性问题,因为开发者群体可以很方便地修改自己的代码。LIPS(Linux 电话标准)论坛与 OSDL(开放源开发实验室)最近联手定义了一些标准,准备将 Linux 转为一个即插即用的手机平台。
Windows 在前进
为了支持用于 Pocket PC 和智能手机的最新操作系统 Windows Mobile 5,微软公司更新了自己的工具结构,将 Visual Studio 2005 设计为主要的集成开发环境,用以建立所有的 Windows 移动应用程序。开发者可以选择 C++、C# 和 Visual Basic 语言,以及用于移动设备的一组扩展应用编程接口。Visual Studio 2005 亦提供设备仿真器,可以直接在 PC 工作站上模拟应用软件的运行。你可以在 Windows Mobile 开发者中心找到微软的工具、教程和应用示例。
由于我刚接手了一台基于 Windows Mobile 5 平台的较新型Motorola Q 智能手机,我决定用它来建立一个基本的用户界面,监视和控制一个简单的嵌入设备。 Motorola Q 含有一个 320×240 像素的显示屏、一个完整的 QWERTY 键盘、支持 EV-DO、集成的蓝牙、扬声器、一个 130 万像素相机,以及大量多媒体功能。通过一个内置网页浏览器和 e-mail 功能,Motorola Q 具备了作为一个嵌入用户界面所必需的全部通信功能。
我的第一个任务是为在Motorola Q 上建立定制应用程序寻找必需的开发工具。我从微软的开发人员网站着手,下载了智能手机 SDK(软件开发者工具)和一个 90 天试用期的 Visual Studio 2005。但我发现下载总量接近 3GB,于是勉强付 13 美元让微软邮寄 DVD 给我,并且作好了长期等待的准备。出乎我的意料,只过了两天我就在邮箱中发现了微软寄来的包裹。安装很顺利,数小时内我就能开始测试一些应用示例了。然后我转向摩托罗拉开发人员网站,在那里发现了Motorola Q 开发者指南,以及将该公司的定制仿真器图像安装到 Visual Studio 2005 中的说明。
现在,我就拥有了一个Motorola Q 的完整开发环境,下面还需要一个控制用的嵌入系统。幸好我手边有一个 SitePlayer 网页服务器的开发者工具包,它可以仿真一台基本的嵌入设备。100 美元的工具包中包括一个有 LED 和开关的主板、一个温度传感器和一个 SitePlayer 模块(图 2)。工具包中还带有软件示例和一个图形化旋钮、开关、LED 库,以及帮助网页开发的其它用户界面工具。我把它用串行方式连接到我的笔记本上,再通过一个以太网链接进入我的家庭网络,我就可以与 Site Player 预装的网页交互操作了。我可以用标准的浏览器点击进入 SitePlayer 出厂设置的 IP 地址,通过开发工具包控制两只 LED,并读出两个开关的状态。
网络浏览
为了创建下载到 SitePlayer 的定制网页,我需要一个 HTML 编辑工具,用于修改 NetMedia 提供的样品码。快速Google搜索后,我找到并下载了免费的 Nvu(New View)网页编辑系统。Nvu 可以完成 WYSIWYG 式的网页编辑,无需涉及 HTML 结构,它的功能类似于微软的 FrontPage 和 Adobe 的 Dreamweaver。经过短暂的学习过程,我就能完成装入示例式页面,保持硬件连接等工作,并且创建出适合于智能手机小型图形显示器的所有新网页。开放源的 Nvu 系统是在 Mozilla 公共许可下有效。
过程的最后一步是建立一个Motorola Q 专用的智能手机应用程序,当我调用应用程序时,它将跳过正常的网页地址导航步骤,直接显示 SitePlayer 的用户界面页。开始时,我考虑到这些工具和功能都内建在 Visual Studio 和 Windows Mobile 5 的 Compact Framwork内,因此预计要有一个很长的学习曲线。但是,看了一些微软开发人员网站上的在线教程后,我发现自己的应用程序很简单,只需要一行代码就能识别 SitePlayer 的 URL。安装好智能手机 SDK 后,我可以拖拽自己的控件(WebBrowser)到被模拟的显示上,增加自己的代码,建立目标代码,并且直接从 Visual Studio 编程环境中将结果用到Motorola Q 仿真器上(图 3)。当然,也许事件并不是这么简单。我在识别设备控制、将仿真器连接到自己网络,以及为 320×240 像素显示器作网页时都遇到了一些问题。
尽管应用程序要比我原先想像的简单,我可以选择相应的连接并点击智能手机仿真器中五路开关的中心,使应用程序中的 LED 点亮或熄灭(图 4)。系统还可以显示开关设置,虽然不是实时的。我编写的应用程序需要作一个页面刷新,才能读出当前的开关状态,这种方式销售人员可能难以接受。虽然我的应用软件中有缺陷,但智能手机用户界面的概念对于降低嵌入系统项目成本和缩短开发周期仍有着巨大的潜能。 |