小编典典
我得到了运行BlueZ 5.31的示例GATT服务器(截至本文的最新信息):
我的环境: 作为来宾OS(版本14.04 32位操作系统)的
Vagrant
Virtual Box
Ubuntu Trusty Tahr
更新到linux内核3.19
已安装的软件包:
libglib2.0-dev libdbus-1-dev
libudev-dev libical-dev
* libreadline-dev
从此处下载BlueZ
5.31:https :
//www.kernel.org/pub/linux/bluetooth/bluez-5.31.tar.xz
安装更新的内核(v.3.19):
sudo apt-get update
sudo apt-get install- -建议安装linux-generic-lts-vivid
必须重新启动。我正在使用Vagrant,并且失去了共享文件夹的访问权限。如果您遇到这种情况,请等待流浪者报告错误并以任何方式进入VM(流浪ssh)。在VM中,发出以下命令来解决共享文件夹问题:
sudo /etc/init.d/vboxadd setup
我将再次重新启动(可能没有必要),以检查共享文件夹是否再次处于活动状态。
一旦在VM回来,继续5.31的BlueZ的安装:
CD〜
命令和apt-get安装libglib2.0-dev的libdbus-1-dev的libudev-dev的libical-dev的libreadline-
dev的
wget的https://www.kernel.org/ pub / linux / bluetooth /
bluez-5.31.tar.xz
tar xvf bluez-5.31.tar.xz
cd bluez-5.31
./configure –prefix = / usr –mandir = / usr / share / man –sysconfdir = /等
–localstatedir = / var –disable-systemd –enable-experimental –enable-
maintainer-mode
make
sudo make install
sudo cp attrib / gatttool / usr / bin
安装完成。进行如下检查:
hciconfig
您应该得到以下响应(或类似的响应):
hci0:类型:BR / EDR总线:USB
BD地址:00:1A:7D:DA:71:0C ACL MTU:310:10 SCO MTU :64:8
向下
RX字节:15528 acl:126 sco:0事件:683错误:0
TX字节:6459 acl:146 sco:0命令:234错误:0
配置蓝牙适配器,启动广告,启动示例示例GATT服务器(心率服务),并启用详细信息(我的适配器为hci0):
cd BlueZ 5.31目录
sudo tools / btmgmt -i hci0 power
sudo tools / btmgmt -i hci0 le on
sudo工具/ btmgmt -i hci0连接上
须藤工具/ btmgmt -i hci0名“ 一些友好名称 ”
须藤工具/上btmgmt -i hci0广告
上须藤工具/ btmgmt -i hci0动力
工具/ btgatt服务器-i hci0 -s低-t公共-r -v
转到另一台设备(我使用的是iPod,Android –三星Galaxy
5S和Nexus平板电脑–以及另一台运行BlueZ的PC)并连接到该服务。这是我在另一台运行BlueZ的PC上执行的操作:
gatttool -b GATT服务器的MAC地址 -我
连接
主要
特征
您可以发出其他命令来读写GATT服务器。
我还通过复制和编辑以下文件创建了一个自定义GATT服务器(您的原始请求): tools / btgatt-server.c
。您可以编辑Makefile.tools文件,以将自定义服务器包括在构建中。您必须运行automake,make和sudo make
install才能使其运行。
2020-06-07