大家好,我是小前,我来为大家解答以上问题。蓝牙开发工程师,蓝牙开发很多人还不知道,现在让我们一起来看看吧!
1、需要的基础:
(1)C语言开发基础
(2)了解基本的蓝牙使用知识,配对、连接、使用等。
(3)仔细阅读过蓝牙核心协议中基本蓝牙规范,包括SDP、GAP、RFCOMM等,和要实现的profile规范,例如HFP profile。
2、基本的开发环境:
(1)购买一个USB蓝牙适配器,10块钱左右。
(2)安装千月,确保千月可以连上蓝牙耳机。千月蓝牙软件网上有下载。
(3)可以用于进行连接测试的蓝牙设备,例如蓝牙耳机、手机等等,视你要实现的profile。
本例就是蓝牙耳机。
3、开发调试
(1)PC上安装C的开发环境,例如visual studio的VC++。
(2)基于Bluesoleil SDK建立测试工程,添加一个SDP实例,假设使用HFP的从机(HFP Side),编译通过后起动。正常情况下,手机蓝牙可以搜索到你写的这个服务,显示为蓝牙耳机。但是连接不上,因为还没有实现HFP连接方面的代码。
这一步的目的是测试整个环境。
(3)接下来就可以动手实现HFP的Audio Gageway了。
可以自己按profile规范实现,也可以直接从开源协议栈中直接移植一个HFP的Gateway代码。
代码中需要添加必要的日志,便于查看工作情况。否则,你需要写大量的代码去实现界面和功能,才知道工作情况。
界面中添加一个text框和一个连接按钮,text框用于输入要连接的设备的MAC地址,按钮用于连接。
添加一个连接后的测试功能。例如,用弹窗显示耳机端的当前操作。例如,当接收到手机的末位重拨操作(程序上是SPP收到AT+BLDN)后,弹窗显示。
(4)调试:
编译通过后启动,在程序的文本框输入耳机的MAC地址(可以用千月查到),点击连接。
正常连接后,在耳机端进行末位重拨操作,看程序能否正常接收到。
4、其他开发:
(1)实现SPP,分别装在两个电脑上,进行SPP连接。可以直接使用串口工具进行信息收发测试。
(2)实现A2DP,用你的程序,将歌曲从PC播放的蓝牙耳机。
(3)实现PBAP,将你手机的通讯录读到PC上来。
等等......
5、关于手机蓝牙开发:
(1)Android:
先看下android的SDK的蓝牙部分。android已经实现了RFCOMM接口的封装,实现基于RFCOMM的协议就很方便,例如SPP、HSP、HFP等。
但有个问题,android的phoneapp启动的时候,启动和bluetoothheadsetservice,注册了SCO连接,所以实现HSP/HFP可以启动和连接SPP,但无法连接SCO。
如果有可能,可以直接去google下载anroid源码,阅读一下蓝牙部分的代码,大有裨益!
android实现SPP,楼主另一个帖子有描述。
(2)IOS:
IOS目前的SDK中蓝牙部分的接口很少。IOS蓝牙对非MFI(made for ios)设备也仅仅用于蓝牙耳机,和ios设备之间蓝牙联机游戏。
不过,破解后就没这个限制了。btstack是IOS上比较好的开源协议栈。安装了任何一个btstack应用后,就有了btstack环境了,就可以开发各种应用了。
本文到此讲解完毕了,希望对大家有帮助。