首先要了解的一个概念是,gattlib是基于bluez实现的,bluez协议栈是linux的标准的蓝牙协议栈。
最好先安装 build-essential
一.首先安装bluez
1.1树莓派4平台:
树莓派4默认系统已经装了Bluez协议栈。无需再安装
1.2 如果是其他linux系统:
Bluez安装编译前必须安装如下支持库:
sudo apt-get install
libusb-dev
libdbus-1-dev
libglib2.0-dev
libudev-dev
libical-dev
libreadline-dev
二.安装gattlib
下载gattlib源码,从GitHub - labapart/gattlib: Library to access GATT information from BLE (Bluetooth Low Energy) devices
下载。
gattlib安装编译前必须安装如
下支持库:
libbluetooth-dev
libreadline-dev
然后编译gattlib: (注意,具体的特需编译方式请看github链接上的官方介绍)
cd <gattlib-src-root>
mkdir build && cd build
cmake ..
make
三.解决cmake版本过低的问题:
编译gattlib可能会提示cmake版本必须大于等于3.22。赶巧不巧我的树莓派4cmake版本是3.18。但是sudo apt-get
gattlib需要cmake版本大于3.22 。可以去cmake官网下载预编译包。
解压后放到/opt/cmake-x.y.z/目录下,
并且修改~/.bashrc启动脚本
export PATH=/opt/cmake-x.y.z/bin:$PATH
重新刷新下脚本:
source ~/.bashrc
然后看下cmake --version版本是不是变成新的了。