linux 安装bluez并编写小demo运行
之前学了DBus并成功实现简单的通信,现先安装bluez试试,看看能否也可以实现bluez的c语音编程实现广播或者接收等功能
参考博客
博客1:蓝牙bluez进行HCI编程
博客2:基于BlueZ的C语言蓝牙编程
第一步:前往官网下载bluez最新版
http://www.bluez.org/download/.
第二步:下载成功后进行解压
tar xvf bluez-5.66.tar.xz
第三步:安装bluez
首先执行以下指令
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var
如果过程中出现错误,例如下图
则安装相关的东西即可
1.error: GLib >= 2.28 is required sudo apt install libglib2.0-dev 2.error: D-Bus >= 1.6 is required sudo apt install libdbus-1-dev 3.error: libudev >= 172 is required sudo apt install libudev-dev 4.error: libical is required sudo apt install libical-dev 5.error: readline header files are required sudo apt install libreadline-dev 6.error: rst2man is required sudo apt install python-docutils sudo which rst2man sudo apt-get install libdw-dev ./bootstrap: 5: libtoolize: not found 注意,每安装一次需要执行一下./configure文件
出现这样就成功了
嫌上面这些步骤麻烦也可以直接通过apt-get安装
sudo apt-get install bluez -y
第四步:安装相关库文件
sudo apt-get install libbluetooth-dev -y
第五步:找个demo进行测试
下面是调用HCI
的API
来获取蓝牙设备的ID的程序
#include <stdio.h> #include <bluetooth/bluetooth.h> #include <bluetooth/hci.h> #include <bluetooth/hci_lib.h>
int main(int argc, char* argv[]) { int dev_id; dev_id = hci_devid("hci0"); // 函数hci_devid的声明在头文件bluetooth/hci_lib.h中 printf("dev_id: %d\n", dev_id); }
编译运行的时候记得加上 -lbluetooth关联库如下
gcc test.c -o test -lbluetooth