Java ME和蓝牙技术的研究

2021-12-02 17:55方育红
科学与生活 2021年25期
关键词:蓝牙

方育红

摘要:蓝牙是一种低成本、短距离的无线通信技术,主要用途是为移动电话、掌上电脑、信息家电、计算机及外设提供连接,从而实现多媒体信息的无线传输。与最新出现的无线Wi-Fi、WiMAX和3G 等技术相比,蓝牙并非一项新的技术,但是利用Java 在MIDP 平台上开发蓝牙应用程序却是一项新技术。尤其,嵌入式蓝牙系统在功耗和芯片体积方面拥有优势。随着国内外专业人士对基于构件的开发CBD(Component-Based Development,CBD)和基于构件的软件工程CBSE(Component-Based Software Engineering,CBSE)技术的关注,使得各种应用系统的开发不再是以往地从零起步,而是越来越多地在软件构件复用的基础上进行,这样大大缩短了开发周期,同时也明显地降低了开发的复杂度和难度,很好地提高了软件开发的效率。

关键词:蓝牙,Java,MVC模式

1绪论

1.1 Java ME简介

Java ME是一种高度优化的Java运行环境,应用于大量的消费类电子设备,如Cellular Phones(蜂窝电话)、Screen Phones(可视电话)、Digital Set-top Boxes(数字机顶盒)、Car Navigation Systems(汽车导向系统)等,同时也广泛被移动通信设备所采用,如移动电话、双向寻呼机、智能卡、个人电脑记事本(Personal Organizer)和掌上电脑(Palmtop)等。Java ME 主要适用于小型嵌入式设备,这些设备与PC或是服务器设备相比没有统一的硬件标准、外观与操作方式,其功用也是千差万别。但是Java ME 在适用于这些设备的同时也保留了 Java 的传统特性,即任何时间和任何地点的代码具有可移植性、部署灵活性、安全的网络传输性,以及代码稳定性。

2蓝牙技术

2.1 Java ME软件架构

Java ME平台由多种配置(Configuration).简表(Profile).和可選包(Optional Package)组成。体系结构总的操作系统位于Java ME运行环境的最底层,操作系统可以是Linux,Symbian或者PalmOS.这充分体现了Java语言的跨平台性。配置由Java虚拟机和一系列的API集合组成,为某一范围内的嵌入式设备提供基本的功能,这些设备通常在硬件和软件上具有类似的特性。目前,J2ME平台主要包含两个配置:连接设备配置(ConnectedDeviceConfiguration.CDC)和连接受限设备配置(connectedLimitedDevice Configuration。CLDC)。简表位于配置之上,为运行环境提供高层的API,例如,应用程序模型和图形用户界面等。CLDC上采用最广泛的简表是移动信息设备简表(Mobile lnformationDeviceProfile,MIDP)。基于CLDC与MIDP的Java ME平台主要面对的目标设备是移动电话。Java ME平台可以通过添加可选包(OptionalPackage)进行扩展。可选包是针对特殊技术的实现。因此它定位的是特定范围的设备,而不适合作为一项固有功能定义在MIDP中。随着移动终端设备内存和处理器能力的提高,越来越多的可选包被添加到具体的Java ME平台上。

2.2 蓝牙技术

蓝牙技术采用跳频扩展技术( FHSS) ,跳频速率为每秒1600 次。其设备采用的是GFSK 调制技术,其最高传输速率为1Mbps,实际数据有效速率为721Kbps,话音采用连续可变斜率调制CVSD (ContinuousVariable Slope Delta Modulation连续可变斜率调制) 编码方式,CVSD 方式抗干扰能力很强,即使在误码率达到4 %时,仍然有可以接受的话音质量。通信协议则采用TDMA ( 时分多址) ,在2.4GHz 的ISM频带上设立79 个带宽为1MHz 的信道,用每秒钟切换1600 次的频率的跳频(Hobbing)扩展技术来实现信息的收发。蓝牙技术支持一个异步数据通道,或3 个并发的同步话音通道,或一个同时传送异步数据和同步话音的通道。每一个话音通道支持64kbps 的同步话音;异步通道支持最大速率721kbps、反向应答速率为57.6kbps 的非对称连接,或者是432.6kbps 的对称连接。这种连接的网络拓扑结构首先是由最多8 台独立的设备连成Piconet( 微微网) ,再由多个独立的,非同步的Piconet 组成一个独立的Scatternet( 分布网) 。在Piconet( 微微网) 内部,各设备单元分主、从工作方式运行,虽然所有的蓝牙设备都是对等的,以同样的方式工作。一个Piconet(微微网) 只有一个主设备,其它都是从设备,主设备利用其自身的时钟和跳频信号同步其它的从设备。在Piconet( 微微网) 内部各设备拥有一个3 bit 的MAC 地址来相互区分,组成ScatterNet后,各Piconet 通过其不同的频率和跳频信号相互区分。

2.3 Java 蓝牙应用模型

开发基于蓝牙通信的应用程序通常采用客户端- 服务器的应用程序模型。服务( Service) 是通信的核心所在,一个蓝牙服务就是一个作为服务器运行的应用程序,这个服务向客户端提供了某种功能性的服务。例如,客户端可以连接打印机,使用它提供的打印服务。开发者一旦创建了一个服务之后需要首先把这个服务注册到服务查找数据库( Service Discovery DataBase,SDDB) 中,然后等待客户端连接。

客户端必须首先通过服务发现协议( SDP) 查找到服务所在的设备,然后在设备上查询服务。一旦获得了服务,也就获得了连接服务器的URL。借助通用连接框架的方法即可获得相关的Connection实例,客户端就可以真正地使用服务器提供的服务了。

3总结

本游戏的蓝牙服务查找采用Java ME 通用的蓝牙服务查找方式,服务端开启服务,每条服务都有固定的UUID(通用唯一标识码)。客户端根据已经的UUID 实行自动查找服务。查找完毕后,则启动通信线程。(负责通信的线程,主要为接收线程,消息队列询问线程,临时发送线程在发送时创建通信完一次即时销毁。

游戏系统的主要目标是设计并实现一个Java ME 环境下的蓝牙手机游戏,并对实现手机游戏的一些关键技术进行研究。具体任务有以下几个方面:

(1)探索手机游戏开发的基本流程;

(2)基于MIDP2.0 游戏API 的基础上研究手机游戏的基本架构设计;

(3)在JSR82 的Java ME应用开发架构的基础上搭建蓝牙网络;

(4)在Java ME 和蓝牙技术的基础上设计并实现蓝牙手机游戏—中国象棋。

(5) 使用模型-视图-控制器(mvc)模式开发手机游戏。

(6)通过测试来完善程序,使其出现调试错误不合理的频率最小化,并进一步了解Java ME平台应用程序特点和其人性化的设计,与此同时熟悉软件开发的相关流程并深刻认识在编码时一些注意事项的重要性。

参考文献

[1]郭克华,Java ME程序设计,清华大学出版社,2011.

[2]詹建飞,J2ME开发精解,2007.

[3]王晓,王天顺,岳鹏,冼进,J2ME程序开发实用案例从入门到精通,2007.

猜你喜欢
蓝牙
古老无线再升级深入了解蓝牙5.0技术
帮你轻松找到AirPods的神奇工具
无线连接的飞跃 蓝牙技术4.2揭密
蓝牙4.0落地加速
蓝牙4.0:更快速更节能