Bluetooth程序设计(二)传统蓝牙.ppt
《Bluetooth程序设计(二)传统蓝牙.ppt》由会员分享,可在线阅读,更多相关《Bluetooth程序设计(二)传统蓝牙.ppt(27页珍藏版)》请在课桌文档上搜索。
1、手机短距离通信技术,第7讲 Bluetooth程序设计(二),1、检查上次作业2、检查预习题目3、上次课程的总结4、Bluetooth的应用实现5、应用示例6、本次课的作业7、下次预习及课后需要上交的文档,1、上次课的作业,编写一个能与蓝牙串口模块进行字符传输软件。能在蓝牙连接建立好后,利用BluetoothSocket来进行数据传输。,1、检查上次作业2、检查预习题目3、上次课程的总结4、Bluetooth的应用实现5、应用示例6、本次课的作业7、下次预习及课后需要上交的文档,第7讲 Bluetooth程序设计(二),2、上次课预习内容,android中与蓝牙设备扫描和连接建立相关的类和方法
2、,1、检查上次作业2、检查预习题目3、上次课程的总结4、Bluetooth的应用实现5、应用示例6、本次课的作业7、下次预习及课后需要上交的文档,第7讲 Bluetooth程序设计(二),3、Android.bluetooth包,Android平台提供了一个android.bluetooth的包,里面有蓝牙API去实现蓝牙设备之间的通信,只有8个类。常用的四个类:BluetoothAdapter类:代表了一个本地的蓝牙适配器。它是所有蓝牙交互的入口点。利用它你可以发现其他蓝牙设备,查询绑定了的设备,使用已知的MAC地址实例化一个蓝牙设备和建立一个BluetoothServerSocket(作为
3、服务器端)来监听来自其他设备的连接。BluetoothDevice类:代表了一个远端的蓝牙设备,使用它请求远端蓝牙设备连接或者获取远端蓝牙设备的名称、地址、种类和绑定状态(其信息是封装在BluetoothSocket中)。BluetoothSocket类:代表了一个蓝牙套接字的接口(类似于TCP中的套接字),它是应用程序通过输入、输出流与其他蓝牙设备通信的连接点。BlueboothServerSocket类:代表打开服务连接来监听可能到来的连接请求(属于server端),为了连接两个蓝牙设备必须有一个设备作为服务器打开一个服务套接字。当远端设备发起连接连接请求的时候,并且已经连接到了的时候,B
4、lueboothServerSocket类将会返回一个BluetoothSocket。,1、检查上次作业2、检查预习题目3、上次课程的总结4、Bluetooth的应用实现5、应用示例6、本次课的作业7、下次预习及课后需要上交的文档,第7讲 Bluetooth程序设计(二),4、Bluetooth的应用实现,蓝牙设备之间的通信主要包括了四个步骤:设置蓝牙设备寻找局域网内可能或者匹配的设备连接设备设备之间的数据传输具体编程实现1.启动蓝牙功能 2.查找设备3.查询匹配好的设备 4.扫描设备5.使能被发现 6.连接设备7.服务端的连接 8.客户端的连接9.管理连接 10.权限设置,1.启动蓝牙功能,
5、首先通过调用静态方法getDefaultAdapter()获取蓝牙适配器BluetoothAdapter,如果返回为空,则无法继续执行了。例如:BluetoothAdapter mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();if(mBluetoothAdapter=null)/Device does not support Bluetooth 其次,调用isEnabled()来查询当前蓝牙设备的状态,如果返回为false,则表示蓝牙设备没有开启,接下来你需要封装一个ACTION_REQUEST_ENABLE请求到intent里面,
6、调用startActivityForResult()方法使能蓝牙设备,例如:if(!mBluetoothAdapter.isEnabled()Intent enableBtIntent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableBtIntent,REQUEST_ENABLE_BT);,2.查找设备,使用BluetoothAdapter类里的方法,你可以查找远端设备(大概十米以内)或者查询在你手机上已经匹配(或者说绑定)的其他设备了。当然需要确定对方蓝牙设备已经开启或者已经开启了
7、“被发现使能”功能(对方设备是可以被发现的是你能够发起连接的前提条件)。如果该设备是可以被发现的,会反馈回来一些对方的设备信息,比如名字、MAC地址等,利用这些信息,你的设备就可以选择去向对方初始化一个连接。如果你是第一次与该设备连接,那么一个配对的请求就会自动的显示给用户。当设备配对好之后,他的一些基本信息(主要是名字和MAC)被保存下来并可以使用蓝牙的API来读取。使用已知的MAC地址就可以对远端的蓝牙设备发起连接请求。匹配好的设备和连接上的设备的不同点:匹配好只是说明对方设备发现了你的存在,并拥有一个共同的识别码,并且可以连接。连接上:表示当前设备共享一个RFCOMM信道并且两者之间可以
8、交换数据。也就是是说蓝牙设备在建立RFCOMM信道之前,必须是已经配对好了的。,3.查询匹配好的设备,在建立连接之前你必须先查询配对好了的蓝牙设备集以便选取一个设备进行通信,例如你可以你可以查询所有配对的蓝牙设备,并使用一个数组适配器将其打印显示出来:Set pairedDevices=mBluetoothAdapter.getBondedDevices();/If there are paired devices if(pairedDevices.size()0)/Loop through paired devices for(BluetoothDevice device:pairedDev
9、ices)/Add the name and address to an array adapter to show in a ListViewmArrayAdapter.add(device.getName()+n+device.getAddress();建立一个蓝牙连接只需要MAC地址就已经足够。,4.扫描设备,扫描设备,只需要调用startDiscovery()方法,这个扫描的过程大概持续是12秒,应用程序为了ACTION_FOUND动作需要注册一个BroadcastReceiver来接受设备扫描到的信息。对于每一个设备,系统都会广播ACTION_FOUND动作。/Create a Br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Bluetooth 程序设计 传统 蓝牙
链接地址:https://www.desk33.com/p-236169.html