Linux 下Bluetooth开发包--BTX的开发的背景介绍
2012-07-04 17:23
155 查看
作者:Sam(甄峰) sam_code@hotmail.com
BTX背景介绍:
Sam所在公司需要Linux下与Bluetooth Game Control连接,Linux为操作系统的嵌入式设备使用USBBluetooth Dongle与Bluetooth GameControl连接,并收发数据。Sam评估后决定用以下结构:
1. HID,L2cap, hci 这三层protocol使用Linux下官方Bluetooth 协议栈--BlueZ.Bluez详细介绍见:[注1]
2. Bluetooth USB Dongle的驱动使用BlueZ提供的hci_usb 驱动。
3. 使用BlueZ提供的函数库和应用程序接口,创建一个针对手柄的连接库。即为BTX。这个手柄连接库提供的接口如下:
1>.Bluetooth USB Dongle初始化
2>.得到Bluetooth USB Dongle信息。
3>.查找周边Bluetooth Device设备。
4>.连接指定手柄。
5>.断开指定手柄。
6>.读取数据。
7>.写数据。
其中连接手柄是建立2个l2cap连接。PSM=0x11. 0x13.
这一层是提供给公司与所有手柄连接的库。任何一代手柄都将使用这个库作基本连接。
4. 使用BTX库和接口,开发一套针对某一代手柄所使用的库。BTRC--Bluetooth Remote Control.
因为每一代手柄连接过程中都有自己独特的加密与验证过程。并且数据格式也各不相同。所以使用这一层将这些不同与上层程序隔绝开来。
5.使用BTRC库,开发一套包含不同动作分析 的库供更上层程序使用。
注[1]:
BlueZ介绍:
Linux OS开放的bluetooth 协议栈主要包括IBM公司的BlueDrekar, Nokia公司的Affix,Axis公司的OpenBT和官方的协议栈BlueZ.
Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集。
其中内核代码由BlueZ核心协议和驱动程序组成;Bluetooth协议实现在内核源代码/net/bluetooth中。包括hci,l2cap,hid,rfcomm,sco,SDP,BNEP等协议的实现。驱动程序放在/driver/bluetooth中,包含Linux kernel对各种接口的Bluetoothdevice的驱动。例如:USB接口,串口等。
用户态程序及工具集包括应用程序接口和BlueZ工具集。BlueZ提供函数库以及应用程序接口,便于程序员开发bluetooth应用程序。BlueZutils是主要工具集,实现对bluetooth设备的初始化和控制。
BTX背景介绍:
Sam所在公司需要Linux下与Bluetooth Game Control连接,Linux为操作系统的嵌入式设备使用USBBluetooth Dongle与Bluetooth GameControl连接,并收发数据。Sam评估后决定用以下结构:
1. HID,L2cap, hci 这三层protocol使用Linux下官方Bluetooth 协议栈--BlueZ.Bluez详细介绍见:[注1]
2. Bluetooth USB Dongle的驱动使用BlueZ提供的hci_usb 驱动。
3. 使用BlueZ提供的函数库和应用程序接口,创建一个针对手柄的连接库。即为BTX。这个手柄连接库提供的接口如下:
1>.Bluetooth USB Dongle初始化
2>.得到Bluetooth USB Dongle信息。
3>.查找周边Bluetooth Device设备。
4>.连接指定手柄。
5>.断开指定手柄。
6>.读取数据。
7>.写数据。
其中连接手柄是建立2个l2cap连接。PSM=0x11. 0x13.
这一层是提供给公司与所有手柄连接的库。任何一代手柄都将使用这个库作基本连接。
4. 使用BTX库和接口,开发一套针对某一代手柄所使用的库。BTRC--Bluetooth Remote Control.
因为每一代手柄连接过程中都有自己独特的加密与验证过程。并且数据格式也各不相同。所以使用这一层将这些不同与上层程序隔绝开来。
5.使用BTRC库,开发一套包含不同动作分析 的库供更上层程序使用。
注[1]:
BlueZ介绍:
Linux OS开放的bluetooth 协议栈主要包括IBM公司的BlueDrekar, Nokia公司的Affix,Axis公司的OpenBT和官方的协议栈BlueZ.
Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集。
其中内核代码由BlueZ核心协议和驱动程序组成;Bluetooth协议实现在内核源代码/net/bluetooth中。包括hci,l2cap,hid,rfcomm,sco,SDP,BNEP等协议的实现。驱动程序放在/driver/bluetooth中,包含Linux kernel对各种接口的Bluetoothdevice的驱动。例如:USB接口,串口等。
用户态程序及工具集包括应用程序接口和BlueZ工具集。BlueZ提供函数库以及应用程序接口,便于程序员开发bluetooth应用程序。BlueZutils是主要工具集,实现对bluetooth设备的初始化和控制。
相关文章推荐
- [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】
- Linux下C++开发工具介绍
- LINUX下C++开发工具介绍
- Linux下服务器端开发流程及相关工具介绍(C++)
- Linux下C开发工具介绍
- 介绍的嵌入式软件开发的背景知识,基本逻辑和流程,基本名词、概念和理念
- iOS 蓝牙开发(四)BabyBluetooth蓝牙库介绍(转)
- <转>下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍
- Linux上面开发工具介绍以及开源学习方法
- java 木马开发(3)服务端判断为linux时的执行模块ServerLin (构造函数介绍)
- 9、Linux下C开发工具介绍
- 【Linux开发】linux线程同步方式信号量介绍及实例
- Linux驱动开发(一)——简单模块介绍
- U3D游戏开发—程序员转型篇(一)背景介绍
- Linux下服务器端开发流程及相关工具介绍(C++)
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-背景介绍
- [GEiv]JavaSE 游戏引擎Geiv开发背景介绍
- CentOS Linux系统搭建Android开发环境详细介绍
- Linux嵌入式开发环境的简单介绍
- Linux编程环境介绍(3) -- linux下的c/c++程序开发