linux 安装bluez并编写小demo运行

之前学了DBus并成功实现简单的通信,现先安装bluez试试,看看能否也可以实现bluez的c语音编程实现广播或者接收等功能

参考博客

博客1:蓝牙bluez进行HCI编程

博客2:基于BlueZ的C语言蓝牙编程

博客3:Ubuntu 20.04编译安装BlueZ-5.6

第一步:前往官网下载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进行测试

下面是调用HCIAPI来获取蓝牙设备的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

 

posted on 2023-06-29 15:10  foorun  阅读(1610)  评论(0编辑  收藏  举报