Linux(RaspberryPi)上使用BLE低功耗蓝牙
来源:互联网 发布:淘宝手机上购物支付 编辑:程序博客网 时间:2024/05/22 13:53
在树莓派3上进行的以下操作。
- 常用工具安装
BlueZ是Linux中最常用的蓝牙协议栈。
先安装BlueZ常用工具:
可以直接通过apt安装:
sudo apt-get install pi-bluetoothsudo apt-get install bluetooth bluez blueman
也可以通过源码安装
获取最新的Bluez源代码:
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.18.tar.xz
注意:如果已经安装,请确保您卸载了Bluez。(apt-get没有非常新的版本)要检查它是否已经安装,请运行以下命令:
dpkg --get-selections | grep -v deinstall | grep bluez
提取源
tar xvf bluez-5.18.tar.xz
安装依赖关系
sudo apt-get install libglib2.0-dev libdbus-1-dev libusb-dev libudev-dev libical-dev systemd libreadline-dev
运行配置
.configure --enable-library
注意: -enable-library将启用库的使用,以便您可以使用Bluez堆栈创建自己的应用程序
编译并安装源代码
make -j8 && sudo make install
安装脚本不会复制gatttool到您的/usr/local/bin/目录。您必须手动执行此操作:
sudo cp attrib/gatttool /usr/local/bin/
- 常用工具
hcitool
通过hcitool查看自己的蓝牙设备扫描可用设备
hcitool dev
hci0是我的树莓派上的蓝牙设备名,后面跟的是物理地址。
hcitool scan
扫描可用的蓝牙设备
返回的是扫描到的蓝牙设备物理地址和设备名。
hcitool lescan
扫描可用的低功耗蓝牙设备(BLE)
返回的同样是扫描到的蓝牙设备物理地址和设备名。
gatttool
链接到想要的BLE设备
打开gatttool
sudo gatttool -b <BLE ADDRESS> -I
是你想要连接的设备的物理地址
打开后输入connect连接
连接成功此时我的被连接设备连接指示灯亮表示连接成功
常用命令
primary
获得BLE设备提供的服务(server)信息
在我的设备中可以看到一共有4个服务,每个服务所包含的属性句柄值(handle)及其UUID
characteristics
查看设备服务的特性,其中handle是特性的句柄,char properties是特性的属性值,char value handle是特性值的句柄,uuid是特性的标识。
char-desc
配合查看服务特性使用,可以查看该设备所有服务特性的值,该值类型为键值对
char-write
更新特性的值,该更新类似于键值对,一个uuid匹配一个value
char-write-req <handle> <value>
读取notifications里的内容,可以设置listen来开启监听否则每次只读一次,监听读取notifications时需要向该handle写入一个1,在命令行中16进制的表示为0100,若向该handle写入0200的话则改为读取indications的内容
- Linux(RaspberryPi)上使用BLE低功耗蓝牙
- 低功耗蓝牙BLE
- 蓝牙低功耗(BLE)
- 蓝牙低功耗(BLE)
- 【蓝牙低功耗BLE】按键的使用
- 【蓝牙低功耗BLE】引言
- 低功耗蓝牙(BLE)
- [BLE]低功耗蓝牙介绍
- 低功耗蓝牙(BLE)
- 低功耗蓝牙(BLE)
- 低功耗蓝牙(BLE)
- 低功耗蓝牙Ble外围设备
- Linux(RaspberryPi)上通过Python进行蓝牙BLE通信
- android 蓝牙4.0 ble 低功耗蓝牙
- TI低功耗蓝牙(BLE)介绍
- TI ble低功耗蓝牙 bluetooth4.0
- TI低功耗蓝牙(BLE)介绍
- TI低功耗蓝牙(BLE)介绍
- Linux下查看文件创建时间
- 怎么查看是否一个插入的usb3.0 U盘启用了UASP功能。
- jquery实现复选框全选和全不选
- PL SQL 怎么比较2个数据库的差异
- SpringMVC 之 @RequestMapping
- Linux(RaspberryPi)上使用BLE低功耗蓝牙
- Retrofit 请求参数类型
- Hyperledger Fabric 1.0 链码(chaincode)的原理、接口和结构
- BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
- Vue + webpack 项目实践
- 关于路虎中汽油发动机DS2协议的理解
- [Leetcode从零开刷]292.Nim Game
- SSL_1125 合集
- 查看应用SHA1值