当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Android健康服务终端蓝牙传输软件的设计

摘要 在一款基于Android操作系统的健康服务终端设计基础上,介绍了一种基于Android的蓝牙应用程序的设计方法。通过分析蓝牙及Andr oid操作系统,重点研究了在Android操作系统对蓝牙的支持,最后设计出了基于Android操作系统的蓝牙应用软件,运行测试,符合设计要求,具有一定应用性。
关键词 蓝牙;Android;健康服务终端

    随着物联网技术的不断推动,计算机、无线通信、消费类电子呈现快速发展。体现物联网应用的热点健康监护领域,各种传感器及无线的应用,更能体现出物联网技术的优势。作为当今市场支持范围最广泛、功能最丰富且安全的蓝牙技术与物联网技术。首先,蓝牙技术包含了传感器技术、识别技术、移动通信技术等,这些技术与物联网密切相关。其次,蓝牙的低功耗被看作消费电子产品、体育、健康护理、汽车、自动化等领域一大技术突破,也是物联网技术的重要组成部分。尤其是蓝牙4.0标准拥有着低耗能、传输范围更大、支持拓扑结构等特性。蓝牙技术的不断进步将为物联网的发展提供动力。而Android操作系统在两年多的时间里,飞速发展,成功超越了塞班、IOS、微软等操作系统,足以证明其发展潜力及OS未来的发展趋势。尤其是Android的开放性,大大降低了产品的成本,3.0版本及4.0版本对于平板电脑的支持,这足以使得Android在OS市场占有不败之地。本文结合两者的优势,详细分析了蓝牙技术和Android操作系统,并研究了在Android下如何对蓝牙进行应用,最后设计出一款基于Android健康服务终端的蓝牙传输软件。

1 蓝牙技术
    蓝牙技术联盟(Bluetooth SIG)成立于1998年,是由爱立信、英特尔、联想、微软、摩托罗拉、诺基亚及东芝等公司发起成立。总部设在美国柯克兰州,从建立之初到现在共有13 528个全球成员,这些成员之间进行广泛的合作,为蓝牙技术的发展提供指导意见,推动蓝牙的发展。同时在香港、北京、台北和日本东京、韩国首尔和瑞典的马尔摩都有办事机构。
    蓝牙无线通信技术工作在工业、科学以及医学上公用的2.4 GHz ISM公用频段,这一频段全球通用且无需授权。蓝牙系统采用全双工分时传输信息技术,信息以分组结构的方式进行数据交换。在传输过程中,各信息分组用不同的跳频算法实现信息传输。“跳频”技术是把频带分成若干个跳频信道,在一次连接中,无线电收发器按一定的码序列不断地从一个信道“跳”到另一个信道,只有收发双方按这个规律进行通信,而其他的干扰不可能按同样的规律进行干扰;跳频的瞬时带宽很窄,这就使得来自同样工作在2.4 GHzISM频段的家用电器,如微波炉等带来干扰的可能性变得很小。与其他工作在相同频段的无线系统相比,蓝牙跳频每秒可以达到1 600次,速度更快,而且数据包更短,从而使蓝牙比其他系统更稳定。此外,蓝牙通信还具有以下优点:(1)消耗功率极低。(2)辐射小,对人体安全影响不大。(3)成本低廉,容易实现。
    目前,蓝牙技术已经得到普遍的应用,全球大约80%以上的手机使用了蓝牙技术。蓝牙技术的普及为物联网的发展提供了一种技术选择,具有极大的发展空间。

2 Android操作系统
    Android是专为移动终端打造的开放、完整的移动平台,它是一款基于Linux内核的开源操作系统,由操作系统、中间件、用户界面和应用程序组成。由Google及其开放手机联盟共同研发,并在2008年9月份推出了Android第一版。
    Android操作系统架构从下到上有5部分组成:Linux内核、Android Runtime、库、应用程序框架、应用程序。Android系统架构如图1所示。


    Linux内核(Linux Kernel)。Android基于Linux2.6提供核心系统服务,这是Android平台开放的基础,它提供了例如安全机制、内存管理、进程管理、网络堆栈、驱动模型等内容。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务,使得应用开发人员无需关心硬件细节。[!--empirenews.page--]
    Android Runtime。Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalv ik虚拟机中的实例,运行在他们自己的进程中。Dalvik被设计成在一个设备可以高效地运行多个虚拟机。Dalvik VM虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。
    Libraries。Android包含一个C/C++库的集合,这些库供Android系统的不同组件使用。这些功能通过Android的应用程序框架(Applica tion Framework)暴露给开发者。
    Application Framework。通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。
    应用层(Applications)。Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。
    Android作为第一款完整的、开放的、免费的平台,在仅仅两年多的时间,从最初的1.0版本到现在主流的2.3版本,以至刚刚发布的4.0版本,每个版本的发布对于Google来说都是一个质的飞跃,根据市研机构Gartner在2011年第二季度的OS份额调查数据显示,Android市场占有率达43.4%,成为最大的智能手机系统,随着Android手机的普及,Android应用的需求必定会越来越大,这将是一个有着巨大潜力的市场。

3 Android操作系统下蓝牙的研究
    Android平台支持蓝牙协议栈,因此支持在两个蓝牙设备之间进行数据的传输。Android应用框架层提供了允许蓝牙进行连接的API,通过这些API可以实现通过蓝牙的应用程序是无线连接,建立端到端的连接模式。使用蓝牙API,可以实现应用的如下功能:
    (1)寻找其他蓝牙设备。
    (2)查询与本地蓝牙适配器配对的设备。
    (3)建立RFCOMM信道。
    (4)在两个不同的蓝牙设备之间传输数据。
    (5)管理多个蓝牙连接。
    下面详细介绍几个重要的API:
    BluetoothAdapter:代表本地的蓝牙适配器,是所有蓝牙交互的的人口点。利用它可以发现其他蓝牙设备,查询已经绑定的设备,使用已知的MAC地址实例化一个蓝牙设备和建立一个BluetoothServerSocket来监听来自其他设备的连接。
    BluetoothDevice类:代表远端的蓝牙设备,使用它请求远端蓝牙设备连接或获取远端蓝牙设备的名称、地址、种类和绑定状态。
    Bluetoothsocket类:代表蓝牙套接字的接口,它是应用程序通过输入、输出流与其他蓝牙设备通信的连接点。
    Blueboothserversocket类:代表打开服务连接来监听可能到来的连接请求,为连接两个蓝牙设备必须有一个设备作为服务器打开一个服务套接字。当远端设备发起连接请求,并且已经连接到了的时候,Blueboothserversoeket类将会返回一个bluetoothsocket。
    Bluetoothclass类:描述了蓝牙设备的一般特点和能力。它的只读属性集定义了设备的主、从设备类和一些相关服务。

4 蓝牙传输软件的实现
4.1 软件功能描述
    蓝牙传输软件主要实现对各个模块的管理,模块数据的接收、分析、存储、发送及复杂的人机交互等任务。为能够合理分配硬件资源、提供更人性化的界面以及使用通用的硬件设备,在软件设计时,健康服务终端采用Android操作系统为用户界面。
4.2 图形用户界面设计
    程序界面主要包括3个与用户进行交互的Activity:(1)模块显示。(2)血氧历史记录。(3)血压历史记录。
    为减少应用所需的内存量,项目没有添加任何图片及声效。界面简单直观,便于操作。首先将各模块列表作为应用程序的主界面。程序运行的最开始加载此项。
    当应用程序启动后,第一个显示出各个模块的列表和当前测试数据。界面设计通过XML的资源文件进行定义。
    历史记录模块采用了专为Android系统设计的图形库AChartEngine,可以用于绘制多种图表。
    历史记录的显示主要通过不同的线条颜色,点的形状来区分显示的不同内容。
4.3 软件功能设计
    软件功能设计包括蓝牙管理,连接建立,数据传输及数据处理。
    蓝牙部分设计
    在Android操作系统下,提供了对蓝牙管理的API,蓝牙开发流程如图2所示。首先要判断设备是否支持蓝牙,并且保证蓝牙可用。

[!--empirenews.page--]
    mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
    如果蓝牙可用,则mBluetoothAdapter不为空,然后判断蓝牙是否打开,若未打开,则提示用户打开蓝牙。

    到此,蓝牙设备已经打开。
    在Android应用程序开发中,若要建立两个蓝牙设备的连接,必须实现客户端和服务器端代码。一个用来开启服务监听,一个发送连接请求。当它们都拥有一个蓝牙套接字在同一RFECOMM信道上时,说明它们之间已经建立好连接。服务器端采用accept()方法来建立连接。由于accept()方法是一种阻塞调用,因此不应该放在主Acitvity里,要新建一个线程来管理。
   
    而客户端则采用connect()方法来建立连接。同样也是一种阻塞调用,同样需要新建一个线程来管理。

    当设备连接上以后,每个设备都拥有各自的Bluetoothsocket。现在就可以实现设备之间数据共享了。同样读取和写操作都是阻塞调用,需要建立一个专用的线程来管理。
   
    [!--empirenews.page--]
    在两个Activity之间,可以用Handler传递信息,使用getInputStream()获得由传感器传来的数据并显示在主界面中。

4.4 蓝牙传输软件的运行与测试
    由于蓝牙不能在虚拟机中测试,所以将程序打包后,安装到支持蓝牙的Android手机中,然后点击血压按钮,将与血压模块建立连接,同时实时显示当前血压值。点击历史记录按钮,则会显示一周内测试结果,并以图片形式显示出来。程序运行结果如图3和图4所示。

         



5 结束语
    Android在OS市场份额的不断增加,足以体现出Android的优势,而蓝牙4.0版本低功耗技术更适合于远程控制、医疗保健及运动感应器等新兴市场。文中结合两者的优势,设计出一款基于android的蓝牙传输软件,主要应用于健康服务领域,在实际生活中具有很强的应用性。论文介绍了软件的初步设计,还有很多功能需要完善,比如界面的美化,更方便快捷地管理蓝牙设计,数据传输的稳定性及准确性等,这些将是以后研究的重点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月22日 /美通社/ -- 恶性的攻击和意外事件总是防不胜防,提前部署灾备方案可以在遭遇意外时尽可能减少企业损失。那么面对无处不在的勒索病毒和潜在风险,为什么依然有很多企业还会遭遇数据丢失?

关键字: 勒索病毒 软件 电脑 群晖数据

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

业内消息,日前欧洲软件巨头SAP宣布了一项重组计划推动人工智能增长,该计划将涉及大约8000名员工的岗位调整,这些员工将被纳入自愿休假计划和内部再培训措施,即鼓励员工自愿离职或进行内部转岗。

关键字: AI 重组 软件 裁员 SAP

全新的卡片式设计:整个控制中心以卡片形式展现第三方连接状态,对应设备的相关功能以及其它硬件的终端设置,可在控制中心中进行统一管理。

关键字: 硬件 设备 终端

广大终端厂商朋友,有没有想过,您仓库中的呆料,为什么那么“难”处理?

关键字: 终端 库存

业内消息,国家工信部近日公布了今年前三季度我国软件和信息技术服务业的具体情况,整体运行态势平稳,软件业务收入两位数增长,利润总额保持较快增长,软件业务出口降幅收窄。

关键字: 工信部 软件
关闭
关闭