众所周知,现在很多设备开始用上类蓝牙4.0技术,在linux上的蓝牙官方协议即为Bluez了。
但是关于BlueZ的文档和学习资料却非常少。
我最近需要在nao机器人的操作系统上(linux的gentooo发行版)接收ibeacon的信息(通过接收蓝牙4.0的数据报,然后进行解析)
然而因为各种原因我需要对Bluez的一些工具进行移植,C++蓝牙编程是我唯一的解决方案,经过学习和折腾之后,总算是有了些头绪,接下来将我的学习经验分享给大家,水平有限,欢迎大家指正。
首先贴出一些蓝牙的学习资源:
Bluez官网:http://www.bluez.org/,可查阅的资料非常少,但是源码都推荐在这个网站下载
Bluetooth的wiki(了解协议组成很有帮助):http://en.wikipedia.org/wiki/Bluetooth#Bluetooth_protocol_stack
Howto run Bluez:http://www.stlinux.com/kernel/bluetooth/how-to-run-BlueZ关于运行Bluez工具的一些说明不全
用hcitool以及hcidump解析ibeacon蓝牙数据报(对解析BLE设备的数据非常参考价值):
Linux下Bluez的编程实现:(国内比较详细介绍Bluez的博客,赞一个)
实战LinuxBluetooth编程:(国内关于Bluez很详细的博客,很赞):
http://blog.sina.com.cn/s/blog_602f87700100e0vb.html
AnIntordunction to BluetoothProgramming:(国外对蓝牙编程介绍很详细的博客,虽然比较老,但非常赞,很有参考意义,包括了C和python语言)
http://people.csail.mit.edu/albert/bluez-intro/c33.html
这是个非常好的工具,可以获取原始的蓝牙数据报,不过需要先用lescan工具开启le模式
Bluez相关的各种tools的使用(主要用到hcidump):http://blog.163.com/seven_7_one/blog/static/16260641220116892928675/
Bluez的移植和配置:http://blog.chinaunix.net/uid-20723653-id-1886857.html
Ubtuntu和BlueZBLE:http://wv1124.iteye.com/blog/2025637
pybluez(python蓝牙编程类库):https://code.google.com/p/pybluez/
————————————————
版权声明:本文为博主「舟」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上本声明。