树梅派应用27:通过USB蓝牙适配器连接BLE设备

20160410105402978-0

前言
最近打算将树莓派用于物联网网关设备,思路就是在树莓派上连接一个有蓝牙4.0的USB蓝牙适配器,然后通过这个适配器去连接外面的BLE设备,比如我这个BLE设备是采集各种环境相关数据的,而且有很多个这样的设备,这样我就可以通过树莓派对这些设备进行管理,当然最基本的就是进行数据传输了。

安装BlueZ
需要实验我们说的这个目的,首先我们的安装BlueZ库,其官网为:http://www.bluez.org/,下载最新版本的源码包到本地备用。(该工具在树莓派最新的系统(2016-03-18-raspbian-jessie)中已经集成,可以略过安装直接使用。若是之前的系统则需要参考下面的步骤安装。)
首先编辑/etc/apt/sources.list 文件,然后在里面添加如下内容:

1
2
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free

添加完毕并保存文件,然后执行

1
sudo apt-get update

若之前安装过BlueZ,可以通过如下命令删除老版本的BlueZ

1
2
sudo apt-get --purge remove bluez
sudo apt-get update

执行如下命令安装其依赖库

1
sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev

进入BlueZ源码包目录,使用如下命令解压源码包并进入解压后的目录

1
2
sudo tar xvf bluez-5.33. tar .xz
cd bluez-5.33

编译并安装BlueZ,编译的时间稍长,请耐心等待…

1
2
3
sudo . /configure --disable-systemd
sudo make
sudo make install

启动USB蓝牙适配器

1
sudo hciconfig hci0 up

通过如下命令扫描蓝牙设备

1
sudo hcitool lescan

扫描到设备后,通过如下命令连接设备

1
2
3
4
sudo gatttool -b 08:7C:BE:01:8C:E4 -I
[08:7C:BE:01:8C:E4][LE]> connect
Attempting to connect to 08:7C:BE:01:8C:E4
Connection successful

若能显示连接成功,那么基本就OK了,下一步研究如何收发数据。

若提示找不到gatttool,可以通过以下命令解决

1
sudo cp attrib /gatttool /usr/bin/

参考资料:
http://stackoverflow.com/questions/24853597/ble-gatttool-cannot-connect-even-though-device-is-discoverable-with-hcitool-lesc
http://blog.sina.com.cn/s/blog_7cedb56d0102v0qj.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值