基于安卓与PC间蓝牙技术的数据通信首先分为蓝牙部分,上位机部分以及安卓手机部分。蓝牙部分是作为上位机与安卓手机之间的互联设备。蓝牙设备可以通过串口连接与PC通信,也可以通过蓝牙无线传输与安卓手机进行数据交换。用VS2013在电脑上编译一个打电话的上位机程序,可以直接实现上位机对于手机的操控。再用Eclipse编译一个安卓的手机应用,可以通过这个应用实现打电话的这个功能[4,5]。

如图4-1分析总体的系统结构:

系统结构

4。2硬件设计

4。2。1蓝牙通讯过程

如图4-2所示,首先是主设备发起呼叫,查找周围的从设备,找到从设备后,与从设备进行配对,并输入PIN码(PIN:个人识别码),配对完成后,从设备记录主设备的信任信息,链路就建立成功了,就可以进行双向通讯。发现蓝牙设备需要用到startDiscovery()函数,然而连接蓝牙设备需要用到connect()函数。连接步骤如下:在发现后到远程设备Address,根据Addresss得到代表远程设备的BluetoothDevice,然后创建BluetoothSocket,最后connect()[5,6,7]。

蓝牙在通讯连接下,有4种状态。四种状态分别是激活ACTIVE、呼吸SHIFF、保持HOLD、休眠PARK。其中激活是正常工作状态,另外三种是节能规定的低功耗模式。 “呼吸”模式就是在一个微微网内,从设备降低了“ 监听”信息的速率。“保持”模式就是从设备和主设备还在连接中,只是没有数据传送,只有一个计数器在工作。从节能来说呼吸>保持>休眠。

蓝牙通讯过程

4。2。2 蓝牙设备地址的获取

蓝牙地址的组成分为 LAP(24位地址低端部分)、UAP(8位地址高端部分)和NAP(16位无意义地址部分)。其中,NAP和UAP是生产厂商的唯一标识码,必须由蓝牙权威部门分配给不同的厂商。而LAP是由厂商内部自由分配。对于某一种型号的手机或者设备,所有个体的NAP、UAP是固定的,可变的是LAP。

安卓软件获得蓝牙设备地址步骤有:蓝牙具体的搜索,连接均由android底层驱动软件完成。在蓝牙建立连接时,安卓设备系统会保存关于设备的详细信息,比如设备地址,设备类型,设备profile等。这些信息被保存成文件形式保存在/data/misc/bluetoothd文件下。安卓系统已经在固件层中封装好了获取这些文件信息的方法。使用如下方法即可获得连接过的蓝牙设备的地址信息。

获取本地的蓝牙适配器中配对过的蓝牙设备方法是BluetoothAdapter。 getDefaultAdapter()。 etBondedDevices(),遍历所有配对过的蓝牙设备,使用device。getAddress()语句获得单独某个设备的地址。使用for (BluetoothDevice device : pairedDevices) {device。getAddress(); }语句实现。

上一篇:asp.net大棚植物生长环境监测数据采集与分析系统设计+源代码
下一篇:LeapMotion体感控制应用在实验学习系统中的研究与实现

考证平台静态网页设计与制作

java+mysql通用试题库系统后台设计与实现

数据挖掘的主题标绘数据获取技术与实现

基于网络的通用试题库系...

间谍软件之危害及其防范對策【1382字】

论高职计算机應用专业課...

电子政务建设与民营企业...

互联网教育”变革路径研究进展【7972字】

张洁小说《无字》中的女性意识

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

新課改下小學语文洧效阅...

老年2型糖尿病患者运动疗...

我国风险投资的发展现状问题及对策分析

网络语言“XX体”研究

麦秸秆还田和沼液灌溉对...

安康汉江网讯