找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

搜索附件  

BlueSoleil_SDK_2.0.1.zip

 

如何开始蓝牙软件开发?:
本帖最后由 goldenwater 于 2013-4-30 09:19 编辑

    本帖简单介绍了如何开始蓝牙软件开发的基础准备和环境搭建。不当之处,欢迎大家补充。

    本教程基于PC环境,是以学习蓝牙软件开发为目的而写的。虽然比不上上万块的开发板好用,但便宜啊,一个适配器搞定。
    如果你计划基于PC开发蓝牙应用,则开发环境直接可用。如果是非PC环境,则本环境可以用于学习和测试。
    本例以实现HFP的Audio Gateway side为例子说明。本例完成后,可以用蓝牙耳机连接到运行本例的PC上。

1、需要的基础:
(1)C语言开发基础
(2)了解基本的蓝牙使用知识,配对、连接、使用等。
(3)仔细阅读过蓝牙核心协议中基本蓝牙规范,包括SDP、GAP、RFCOMM等,和要实现的profile规范,例如HFP profile。

2、基本的开发环境:
(1)购买一个USB蓝牙适配器,10块钱左右。
(2)安装千月,确保千月可以连上蓝牙耳机。千月蓝牙软件网上有下载。
(3)可以用于进行连接测试的蓝牙设备,例如蓝牙耳机、手机等等,视你要实现的profile。
    本例就是蓝牙耳机。
(4)Bluesoleil SDK和文档。见附件。
   

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环境了,就可以开发各种应用了。
(3)windows phone:
    楼主暂时未设计windows phone 的蓝牙开发,但WP的封闭策略,蓝牙部分封闭到什么程度,欢迎大家补充。
donghailong 发表于 2013-5-4 11:08
看似很复杂啊


嗯,是需要花些时间。
如果之前就是做软件开发的,那就比较简单了。所以,不赞成没有软件开发基础的童鞋来做。
很好的资料,极力推荐!
很专业的蓝牙软件开发资料,谢谢楼主分享!
SDK的BIN中,只有一个LIB文件。
这个开发环境怎么用的?而且看是2008年写的文档。
现在4.0还能用吗?
TTblue 发表于 2013-5-25 22:30
SDK的BIN中,只有一个LIB文件。
这个开发环境怎么用的?而且看是2008年写的文档。
现在4.0还能用吗?


lib是库文件,引入到工程就可以使用里面的函数了。具体怎么引入,是C开发基础知识,也和开发工具有关。

2008年的文档,是和你的SDK对应的,应该不适合4.0,那时候4.0还没出来呢。你用的sdk中一般都包括有文档,如果SDK支持4.0,那对应的文档就支持。
有用且详细的指教。
没有蓝牙手机,IPad能不能用来进行连接测试?
本帖最后由 goldenwater 于 2013-5-31 10:22 编辑

emon 发表于 2013-5-30 23:12
有用且详细的指教。
没有蓝牙手机,IPad能不能用来进行连接测试?

最好不要用IOS移动设备,其蓝牙比较封闭,只能用做蓝牙耳机的Audio Gateway端。你可以自己实现耳机的耳机端,以耳机身份去连接ipad.
太专业了。不过还是得顶一个
研究研究,不知道好不好弄啊
很好的资料,极力推荐!
开发一定要有设备才行


我发的这个不支持4.0。

如果是专业开发,肯定最好是开发板了。如果是学习入门的话,蓝牙耳机、手机可以顶一下,做做HFP/SPP还是可以的。
谢谢分享,学习了!!!
呵呵蛮好的
好复杂呀,不过还是有点兴趣
看的云里雾里,看不明白!
云即是雾,雾即是云,只缘身在云雾里
很好的资源,学习了。
好贴 。入行一个月来 ,一直找不到方向 ,之前做单片机开发的 ,蓝牙的硬件是没啥好弄得 ,当然PCBLAYOUT还是很讲究的 ,现在一直在看那些蓝牙原理性的东西及应用,软件开发不知道如何下手··此贴有指导性的作用···
请教楼主,可否把“蓝牙核心协议”给共享下,最好有中文版的,可以对比的看下。

先谢谢了!
很好,很好,很好,很好!
谢谢楼主指导,,,,,,,,,,
很好的文章,正好需要这块.有机会切磋切磋.
厉害。真正的学习资料,赞!!!!!!1
软件真是很比较难懂,开发工具又挺多的
bluesoleil都是要收费的。
SDK的BIN中,只有一个LIB文件
学好了,月薪上万不再是梦
虽然还摸不着头脑,但还是学习下!
好!!总结得很好。学习了
楼主搞套视频教程来啊
咱做硬件的必须也要顶一个!
看起来,还有很长一段路要走啊。
还得自己写程序开发?好像很难啊,初学看来有难度啊
我是做硬件的,不過我想學,但不知如何下手,,煩中
一定要收藏,里面信息量蛮大的!
谢谢楼主分享,对于刚接触的来说很好的经验
很好的资料整理,极力推荐!
好难啊
但还是要慢慢学习
相信自己
十分感谢,正需要这个
很想学,望楼主不吝赐教
SDK的BIN中,只有一个LIB文件。
这个开发环境怎么用的?而且看是2008年写的文档。
现在4.0还能用吗?
支持楼主,很好很棒很强大!
楼主也要出书吗?出个吧
好好学习,天天向上!
又看了一遍,还是觉得很难
不错,斑竹,我关注你了。我是初学者
我是初学者.
非常不错,简直是 言简意赅。
哇貌似挺复杂的,不知道自己搞不搞得定
study hard and hard,up day and day
不知道樓主還有沒有關注回復:就是說,用這個方法,我們就不用再焊USB D+ D-線到usb再接到電腦?可以更改Rom裡面的參數?
那麼SPI那邊呢?是不是也可以用這個方法來開發?

小弟是新手,不肯定問的問題會不會錯得很搞笑...

study hard and hard,up day and day
好,支持,                 
很专业的蓝牙软件开发资料,谢谢楼主分享!
赞一个,详细,还可以免费下载资料。
台感谢了 只是为什么要viso studio开发呢
很好的資料
是要好好的消化一下
这个对初次接触蓝牙开发的确实不错~
下来学习学习,谢谢分享
黑暗中有明灯指路,谢谢楼主!
太专业了。不过还是得顶一个
论坛就是太缺少像楼主这样无私分享的大神了,,
新人路过,前辈学习了。
学习了,感谢楼主分享教程!
支持这个好帖子,受益匪浅啊!
很好,谢谢楼主分享!
好资料,可惜感觉有点老了。
不会软件,只搞硬件。学软件这么复杂看着都头疼!
很有用的资料,谢谢楼主
很好的资料,极力推荐!
没有蓝牙手机,IPad能不能用来进行连接测试?
很专业的蓝牙开发资料!谢谢
大佬  能不能带我  扣扣835610279  可以有偿
谢谢楼主分享,下载学习啦
很专业的蓝牙软件开发资料,谢谢楼主分享!
要深入的玩的话,可以去debug开源的协议栈,比如bluekitchen的btstack,移植到pc环境完全可以绕过千月,直接与dongle通讯,不过对新手不友好,老玩家有兴趣可以试试!之前移植过一部分,有兴趣可以拿去玩一下https://blog.csdn.net/ylangeia/article/details/103848938

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-5-16 01:25 , Processed in 0.068278 second(s), 10 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部