文档章节

低功耗蓝牙测试工具BlueZ编译安装

木头释然
 木头释然
发布于 2018/08/05 20:40
字数 585
阅读 130
收藏 0

准备工作

去bluez官网 http://www.bluez.org
下载bluez最新源码,本次讲解版本为5.44。
下载glib源码 http://download.chinaunix.net/download/0004000/3822.shtml
本次讲解版本为2.34.0。
环境配置检测

解压bluez安装包,在该目录下,使用root权限执行下面命令检测系统环境:

./configure
会发现缺少一些依赖包,比如:

error: GLib >= 2.28 is required
因此我们需要按其提示,将所需依赖包一一安装完毕。我的linux是ubuntu 16.04 server版,缺少的依赖包依次是:

glib
libdbus-1-dev
libudev-dev
libical-dev
libreadline-dev
ps:每个人的开发环境不一样,可能会导致所需依赖包的不一致,只需按照configure检测提示,逐一“安装->检测->安装->检测”等等,直到不再提示error即可。

安装glib

环境检测

加压glib安装包,同样在该目录下使用root权限执行下面命令:

./configure
执行在安装glib的过程会发现,还是缺少一些依赖包,因此统统都给装上,我本地缺少的依赖包依次是:

libffi-dev
pkg-config
gettext
当不提示任何error时代表所有依赖均安装完毕。

编译

make
小技巧:在make后加-j[cpu核心数量],可以利用多核cpu优势,多线程快速编译。

安装

make install
以上几个环节,环境检测->编译->安装任何一个环节出现问题,均算失败,然后你就可以去请教@谷歌@百度或者@作者。

安装BlueZ

在检测通过以后,编译:

make
安装:

make install
如何没什么error意外的话,到此为止,恭喜你!全部安装成功了。否则。。。你就可以去请教@谷歌@百度或者@作者。

常用命令简介

hcitool
hciconfig
gatttool
这里具体不赘述了,在命令后面加-help会有非常详细的使用说明。

修改源码

Bluez是用C语言写的开源项目,感兴趣的同学可以在里面修改或者写一些新的功能,然后通过make->make install即可编译生效。

本文转载自:https://www.jianshu.com/p/0b22161952b7

木头释然
粉丝 17
博文 9
码字总数 5035
作品 0
西青
其他
私信 提问
raspberry pi蓝牙4.0低功耗

raspberry pi上有两个USB口,前面的文章已经用了一个USB wifi适配器实现了一个加载机,今天用另外一个USB口连接蓝牙适配器,在raspberry pi上实现蓝牙功能。硬件上在网上买了一个ORICO的蓝牙...

linuxhunter
2014/01/02
2.4K
1
ARM平台上蓝牙协议栈Bluez的移植使用和配置

参考 http://blog.csdn.net/lizzywu/article/details/7662110 http://blog.csdn.net/colorant/article/details/2590654 前言 blue简介 蓝牙(Bluetooth),或称为蓝芽,是一种新式的无线传送协......

WXXGoodJob
2018/10/31
0
0
Bluedroid与BluZ,蓝牙测试方法的变动(基于bludroid和BlueZ的对比)

android4.2以后,增加了bludroid,在做测试时,会发现与之前的bluez的测试,有着较大的变动。下面罗列一些bluedroid的不同点,以及之前bluez的测试命令验证(该部分是用bluez做的测试,针对b...

sflfqx
2014/08/12
3.2K
0
Android: Android Bluetooth

Android Bluetooth 一、Android Bluetooth现状 (1)Android2.2版 支持的蓝牙核心版本是Bluetooth 2.0 + EDR。 (2)Android 的蓝牙 使用了BlueZ协议栈,但只实现了 Handset/Handfree和A2DP/...

长平狐
2012/06/20
1K
0
Android 4.2蓝牙介绍

Tieto公司某蓝牙大牛写得《程序员》投稿文章 Android 4.2蓝牙介绍 蓝牙一词源于公元十世纪丹麦国王HaraldBlatand名字中的Blatand。Blatand的英文之意就是Blue tooth。这是因为这位让丹麦人引...

sflfqx
2014/08/12
354
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu 18.04搭建ngrok内网穿透服务

从公网访问内网部署的服务。大概步骤也比较简单(6步): 在阿里云控制台,开放需要的端口; 阿里云控制台域名解析到服务器IP上; 在公网主机上(我用的阿里云)部署ngrok源码; 生成证书; ...

雨中伊
46分钟前
2
0
JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
57分钟前
6
0
高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
14
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
2.6K
23
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
45
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部