树莓派怎么使用自带的蓝牙
树莓派怎么使用自带的蓝牙
这里讲到的是pi3b+的一个使用,环境在linux openwrt的操作平台上
搭建
我们知道pi自带的有蓝牙功能,但是不管是百度,还是谷歌,都是使用的外设蓝牙,自带的蓝牙弃用,当然也与一定的道理,自带的蓝牙就没有外设的好,相对而言
搭建好系统之后,有时候在系统没有任何的bluetooth操作,或者命令,那么可能就是没有搭建好相关的环境,这里用openwrt做测试,其他ubuntu等平台应该是一个概念
首先我们需要用到opkg这个管理工具(ubuntu是apt-get)
opkg update
更新完毕之后,我们会发现几个包
opkg install packname
#packname换成上面四个包名即可
安装完成之后,怎么验证是否完成安装,我们输入hcitool,hciconfig,这些工具看看有没有,没有的可以重启一下
当然还不可能就这么完了
我们需要启动一个蓝牙设备,在/dev目录下可以看到这个设备ttyAMA0,其他操作系统应该也有与之对应的
/usr/bin/hciattach /dev/ttyAMA0 bcm43xx 115200 noflow-
这个如果你是pi3b+那么可能是有问题的,bluez上面我们安装的环境暂时不支持当前的蓝牙芯片,运行代码仔细阅读是有提示的
所以如果不处理,那么蓝牙就是我之前文章说到的,地址是aa:aa:aa:aa:aa,当然扫描操作是可以的,但是其他操作就会报错,这个我在网上也有看到有人出现这样的错误,没有找到原因,这里需要一个补丁
这个补丁放到:/lib/firmware/brcm#
然后在执行命令即可,这个时候
hciconfig hci0 up
查看蓝牙地址就是正常的
使用
搭建完毕之后,我们可以使用了
这个时候里面有很多简单的工具,我只介绍一种,bluetoothctl,因为其他的工具太老,问题多,hcitool之类的
root#bluetoothctl
Agent registered
[bluetooth]#
#当前模式下,使用以下命令扫描
scan on
[CHG] Controller 43:45:C0:00:1F:AC Discovering: yes
[NEW] Device 9C:19:C2:0B:D9:32 Redmi AirDots 3
[CHG] Device E2:DD:0F:35:56:0F RSSI: -72
[NEW] Device 18:A7:F1:D4:70:3D U-RFR703C
[CHG] Device C1:64:6D:CF:DA:58 Connected: yesscan off
#只有扫描出来的结果才能被使用进行连接操作#随后我们找到我们需要连接的设备
[bluetooth]# connect FF:DE:FC:D9:16:58
Attempting to connect to FF:DE:FC:D9:16:58
#这里会提示成功的信息
连接上之后,如果是开发者,可能还需要收发信息
menu gatt[已经连接的名字]# list-attributes
Primary Service/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e6e400001-b5a3-f393-e0a9-e50e24dcca9eNordic UART Service
Characteristic/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char00116e400003-b5a3-f393-e0a9-e50e24dcca9eNordic UART RX
Descriptor/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char0011/desc001300002902-0000-1000-8000-00805f9b34fbClient Characteristic Configuration
Characteristic/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char000f6e400002-b5a3-f393-e0a9-e50e24dcca9eNordic UART TX
Primary Service/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000a00001801-0000-1000-8000-00805f9b34fbGeneric Attribute Profile
Characteristic/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000a/char000b00002a05-0000-1000-8000-00805f9b34fbService Changed
Descriptor/org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000a/char000b/desc000d00002902-0000-1000-8000-00805f9b34fbClient Characteristic Configuration
#我们找到这个蓝牙设备的收发服务
#Characteristic
# /org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char000f
# 6e400002-b5a3-f393-e0a9-e50e24dcca9e
# Nordic UART TX
# 其中的tx就是发送[名字]# select-attribute /org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char000f
[名字:/service000e/char000f]#
[名字]# select-attribute /org/bluez/hci0/dev_C1_64_6D_CF_DA_58/service000e/char000f
[名字:/service000e/char000f]#
#这里注意一个地方,就是选择的时候我们支持select-attribute <attribute/UUID> 两种,但是,最好使用attribute因为是用uuid会出现 Failed to write org.bluez.Error.Failed
#其他错误,bluez报错,当然这个也不是一定出错,但是这个错误非常的坑爹
#选择之后
write "100 100"
#这样就可以发送内容了
#读取内容同样的,找到rt的服务,选择,然后read就可以了
原创文章,切莫抄袭,切莫转发,各大网站到处盗用别人的文章,对作者不尊重,别人搜索出来一堆一个方案,真的是很恶心
树莓派怎么使用自带的蓝牙相关推荐
- Python rpi_ws281x 树莓派3B+ 控制灯带
目录 Python rpi_ws281x 树莓派3B+ 控制灯带 python相关库安装 安装rpi_ws281x 代码编写 在文件中导入需要的类 初始化灯带 指定led灯并设置颜色 显示 运行 错误 ...
- 树莓派3B+与Arduino Mega 2560蓝牙通讯
树莓派3B+与Arduino Mega 2560蓝牙通讯 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 树莓派3B+与Arduino Mega 2560蓝牙通讯 前言 一 ...
- 树莓派卸载系统自带应用增大硬盘空间
树莓派在用久了之后,内存卡的容量可能不够用了,或者刚刷系统时可以卸载一些不常用的应用软件,可以增大硬盘空间. 首先,清除之前看一下存储情况: df -h 可以看到已经使用的情况,这是可以卸载不常用系统 ...
- 用树莓派连接有线音箱做一个蓝牙音箱
原文地址:https://wangye.org/blog/archives/921/ 今天琢磨着如何在树莓派上挖掘出一些新玩意儿,正好上次为了试验iBeacon低功耗蓝牙基站买的一块USB蓝牙接收适配 ...
- 树莓派使用jdk自带的BufferedImage和Font输出点阵字体图片
使用jdk自带的BufferedImage和Font输出点阵字体图片 B站本人相关指导视频 需要提前学习的材料 代码片段 代码输出 后记 目的: 为树莓派使用java控制ssd1306驱动12864o ...
- 手机蓝牙扫码怎么使用_手机自带的蓝牙功能那么好用,为什么使用的人却并不那么多?...
手机蓝牙功能并不是没有人使用,而是使用的人不是那么多.手机蓝牙有很多应用场景:通过蓝牙耳机听歌曲打电话.移动手环需要蓝牙连接同步.扫码共享单车.通过蓝牙传送图片数据等等.虽然有这么多的应用场景,但是使 ...
- 树莓派连接天猫精灵音箱通过蓝牙播放音乐的方法
使用bluealsa通过命令行指定某个蓝牙音箱播放 安装bluealsa有两种方法,第一种是通过apt安装,第二种是通过源码安装. 1. 通过apt安装bluealsa 1.1 安装并启动blueal ...
- 树莓派3B+做一个带智能语音的树莓派魔镜
先上图
- 树莓派python蓝牙_用树莓派玩转蓝牙
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 蓝牙是一个使用广泛的无线通信协议,这两年又随着物联网概念进一步推广.我将介绍蓝牙协议,特别是低功耗蓝牙,并 ...
最新文章
- SHELL训练营--day5__shell脚本(1)
- 在项目中遇到的一些bug
- 稠密峰值聚类 - Science2014
- HDU 1520 Anniversary party(树形dp)
- JavaScript覆盖率统计实现
- QT实现图像处理-傅立叶变换、傅立叶反变换、平滑、锐化与模板匹配
- mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解
- HTTP协议详解(文档)
- 火狐firefox插件配合scrapy,注意tbody会导致empty
- markdown与latex:书写单边大括号左边或右边即在没有括号的一端加点
- 23种设计模式之代理模式(Proxy)
- 《设计模式之禅》--单例扩展:多例模式
- 测试用例(二)APP基本功能测试用例
- m180n 如何设置网络打印_不难!简单几步教你搞定网络打印机添加设置
- 【报告分享】 2020中国女性梦幻职业白皮书-COSMO数字100 (附下载)
- IT人物——冯诺依曼
- 未群发消息接腾讯服务器吗,腾讯企点如何群发消息 腾讯企点群发消息方法教程...
- 【BDTC 2016】蚂蚁金服人工智能部技术总监李小龙:人工智能驱动金融生活
- C语言写三子棋,冲冲冲!
- vue修改http请求头_vue-resouce设置请求头的三种方法