树莓派怎么使用自带的蓝牙

这里讲到的是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就可以了

原创文章,切莫抄袭,切莫转发,各大网站到处盗用别人的文章,对作者不尊重,别人搜索出来一堆一个方案,真的是很恶心

树莓派怎么使用自带的蓝牙相关推荐

  1. Python rpi_ws281x 树莓派3B+ 控制灯带

    目录 Python rpi_ws281x 树莓派3B+ 控制灯带 python相关库安装 安装rpi_ws281x 代码编写 在文件中导入需要的类 初始化灯带 指定led灯并设置颜色 显示 运行 错误 ...

  2. 树莓派3B+与Arduino Mega 2560蓝牙通讯

    树莓派3B+与Arduino Mega 2560蓝牙通讯 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 树莓派3B+与Arduino Mega 2560蓝牙通讯 前言 一 ...

  3. 树莓派卸载系统自带应用增大硬盘空间

    树莓派在用久了之后,内存卡的容量可能不够用了,或者刚刷系统时可以卸载一些不常用的应用软件,可以增大硬盘空间. 首先,清除之前看一下存储情况: df -h 可以看到已经使用的情况,这是可以卸载不常用系统 ...

  4. 用树莓派连接有线音箱做一个蓝牙音箱

    原文地址:https://wangye.org/blog/archives/921/ 今天琢磨着如何在树莓派上挖掘出一些新玩意儿,正好上次为了试验iBeacon低功耗蓝牙基站买的一块USB蓝牙接收适配 ...

  5. 树莓派使用jdk自带的BufferedImage和Font输出点阵字体图片

    使用jdk自带的BufferedImage和Font输出点阵字体图片 B站本人相关指导视频 需要提前学习的材料 代码片段 代码输出 后记 目的: 为树莓派使用java控制ssd1306驱动12864o ...

  6. 手机蓝牙扫码怎么使用_手机自带的蓝牙功能那么好用,为什么使用的人却并不那么多?...

    手机蓝牙功能并不是没有人使用,而是使用的人不是那么多.手机蓝牙有很多应用场景:通过蓝牙耳机听歌曲打电话.移动手环需要蓝牙连接同步.扫码共享单车.通过蓝牙传送图片数据等等.虽然有这么多的应用场景,但是使 ...

  7. 树莓派连接天猫精灵音箱通过蓝牙播放音乐的方法

    使用bluealsa通过命令行指定某个蓝牙音箱播放 安装bluealsa有两种方法,第一种是通过apt安装,第二种是通过源码安装. 1. 通过apt安装bluealsa 1.1 安装并启动blueal ...

  8. 树莓派3B+做一个带智能语音的树莓派魔镜

    先上图

  9. 树莓派python蓝牙_用树莓派玩转蓝牙

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 蓝牙是一个使用广泛的无线通信协议,这两年又随着物联网概念进一步推广.我将介绍蓝牙协议,特别是低功耗蓝牙,并 ...

最新文章

  1. SHELL训练营--day5__shell脚本(1)
  2. 在项目中遇到的一些bug
  3. 稠密峰值聚类 - Science2014
  4. HDU 1520 Anniversary party(树形dp)
  5. JavaScript覆盖率统计实现
  6. QT实现图像处理-傅立叶变换、傅立叶反变换、平滑、锐化与模板匹配
  7. mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解
  8. HTTP协议详解(文档)
  9. 火狐firefox插件配合scrapy,注意tbody会导致empty
  10. markdown与latex:书写单边大括号左边或右边即在没有括号的一端加点
  11. 23种设计模式之代理模式(Proxy)
  12. 《设计模式之禅》--单例扩展:多例模式
  13. 测试用例(二)APP基本功能测试用例
  14. m180n 如何设置网络打印_不难!简单几步教你搞定网络打印机添加设置
  15. 【报告分享】 2020中国女性梦幻职业白皮书-COSMO数字100 (附下载)
  16. IT人物——冯诺依曼
  17. 未群发消息接腾讯服务器吗,腾讯企点如何群发消息 腾讯企点群发消息方法教程...
  18. 【BDTC 2016】蚂蚁金服人工智能部技术总监李小龙:人工智能驱动金融生活
  19. C语言写三子棋,冲冲冲!
  20. vue修改http请求头_vue-resouce设置请求头的三种方法

热门文章

  1. 灵感专题—2019年优秀电商网站设计作品赏析#5月
  2. GPBCON控制器控制LED显示
  3. 为什么要在MVC三层架构上再加一层Manager层?
  4. Android应用调试-BugReport
  5. 是时候发展“DCIM即服务”了
  6. JavaScript 懒癌患者福利
  7. 芜湖计算机姚明老师,2012安徽选调生申论热点:姚明的特别贡献
  8. Instapaper 使用经验和技巧
  9. HTML二级菜单,简易做法小毅博客
  10. mysql2005倒入数据库_「mssql2005」mssql2005数据导入mysql - seo实验室