1、蓝牙演示开发平台,Bluetooth Demonstration and Development Platform,背景,蓝牙技术及其应用发展迅速,逐渐渗入到各种场合 国内外蓝牙开发工具较少,而且价格很高 广大研发人员迫切需要稳定可靠、价格适中的蓝牙开发平台 为了推动蓝牙技术在国内的发展,我公司推出了拥有自主知识产权的蓝牙演示开发平台(Bluetooth DDP,Bluetooth Demonstration and Development Platform)可以作为蓝牙研发、学习平台,为研发人员迅速开发蓝牙产品提供全方位的技术支撑,包括硬件、软件平台和解决方案。通过使用DDP,研发人员可以比
2、较容易地快速掌握蓝牙的原理和关键技术,并在该平台上进行基于蓝牙技术的各类产品的开发。,DDP的特点,根据开发蓝牙技术应用的用户的需要,可以提供蓝牙语音*、数据传输,点对点、一点对多达七点*的相关演示程序或完整的硬件、软件平台和解决方案; DDP软件包括主机控制器接口(HCI)组件和基本核心协议(BCP)组件 HCI组件包括基带、射频、HCI接口功能 BCP组件还包括基本的蓝牙核心协议(L2CAP、RFCOMM、SDP)和管理实体(ME) 每个组件都提供演示程序(演示程序源代码)和开发(开发使用的动态链接库及其接口),目前DDP软件部分运行于Windows98/2000操作系统上 DDP基带射频
3、硬件电路提供与计算机的USB、RS-232两种连接方式*,可以提供语音输入、输出端口,DDP型号,HCI组件,使用DDP的HCI组件可以进行基于较低层次HCI接口的开发 DDP HCI组件支持HCI接口的基本功能,演示程序可以实现: 搜索设备 建立和拆除ACL、SCO连接 语音通话演示 文件传输演示,DDP HCI开发,应用程序首先要向HCI_DLL注册,上层应用程序通过调用HCI_DLL提供的接口函数使用HCI命令。 HCI_DLL通过向应用程序窗口或线程发送注册的消息来报告事件和数据,包括基带或LMP执行HCI命令的结果、错误状态和接收到对方设备请求的向上指示和接收到的数据。,启动关闭命令
4、 DLL_HCIStart DLL_HCIEnd链路控制命令 DLL_HCIInquiry DLL_HCIReqInquiryCancel DLL_HCIReqAuthentication DLL_HCIReqConnect DLL_HCIReqDisconnect DLL_HCIReqRemoteName DLL_HCIRspConnect DLL_HCIRspLinkKey DLL_HCIRspPincode DLL_HCIReqAddSco,链路政策命令 DLL_HCIReqQoSSetup主机控制器及基带命令 DLL_HCIReset DLL_HCISetEvtFilter DLL_H
5、CIWriteAuthenticationMode DLL_HCIWriteConnectTimeOut DLL_HCIWriteEncryptionMode DLL_HCIWriteScanEnable DLL_HCIWriteVoiceSetting,信息命令 DLL_HCIReqReadBDADDR数据命令 DLL_HCIFlush DLL_HCIDataAlloc DLL_HCISendBroadCastData DLL_HCIDataFree DLL_HCIDataSend DLL_HCIReqDataInfo,BCP组件,使用DDP的BCP组件可以进行蓝牙高层应用程序开发,实现查询
6、附近设备、服务发现、语音和数据传输等功能。 DDP的BCP组件包含蓝牙的一些基本核心协议,它们是:逻辑链路控制及适配协议(L2CAP)服务发现协议(SDP)串口仿真协议(RFCOMM) 此外还包括用于处理和管理链路的管理实体(ME)。,DDP 3303演示程序界面,Start BCP:初始化并启动蓝牙协议栈。 Register RFCOMM Channel:向RFCOMM服务器端注册本地 RFCOMM信道号Register Service:向本地服务管理器注册本地服务Inquiry Devices:查询附近的蓝牙设备Create ACL connection:与所选设备建立ACL连接Termi
7、nate ACL connection:断开ACL连接Service Search:发现远端设备注册的服务Create RFCOMM channel:在建立的ACL连接基础上,建立 RFCOMM信道Disconnect RFCOMM channel:断开RFCOMM信道Send Data:传送数据 l Add SCO:在已存在的ACL连接上建立SCO连接Remove SCO:断开SCO连接,DDP BCP开发,上层应用程序通过调用BCP_DLL提供的接口函数使用BCP组件的各项功能 BCP_DLL则通过向应用程序线程发送消息来传递信息,包括协议栈报告的错误状态、接收到对方设备请求的向上指示和接
8、收到的数据。,初始化与注册操作 BCP_Init BCP_Register BCP_DeRegister BCP_Modify启动和关闭BCP组件 BCP_Start BCP_Exit 本地服务注册与注销 BCP_RegisterService BCP_UnRegisterService,设备搜索 BCP_Inquiry BCP_ ReqRemoteName BCP_ReqAddAttribute建立和拆除ACL连接 BCP_ReqLink BCP_UnLink服务发现 BCP_ServiceSearch BCP_ServiceAttribute BCP_ServiceSearchAttribute,建立和拆除RFCOMM信道 BCP_RegisterChannel BCP_ReqConnect BCP_RspConnect BCP_ReqDisconnect 利用RFCOMM信道传送数据 BCP_SendData增加和删除SCO连接 BCP_AddSCO BCP_RemoveSCO对应于每个函数接口都有相应的返回消息,此外还包括一些指示消息和事件消息,利用DDP可以进行一些上层应用的开发,缩短开发周期 可以根据用户的实际需要,提供更多的接口 提供技术支持,