设置蓝牙主从机上电自动配对的方法

news/2024/10/18 18:14:08/

有时候,我们希望蓝牙的主机在上电之后自动完成与从机的连接,而无需在每次上电后都发送一些AT指令来完成主从机的配对,该怎么做呢?
1、首先完成从机的设置:
AT+ROLE=0 //设置为从机
AT+PSWD=xxxx //xxxx是配对密码,根据需要设定
AT+UART=115200,0,0, //波特率115200,根据自己需要改变,一位停止位,无校验
AT+CMODE=1 //任意蓝牙地址配对模式
2、设置蓝牙主机:
AT+INIT //初始化SPP规范库(作用在下面会讲述)
AT+ROLE=1 //设置为主机
AT+PSWD=xxxx //与从机配对密码一致
AT+UART=115200,0,0, //与从机的设置必须一致
AT+CMODE=1 //同样设置为任意蓝牙地址配对模式
注:这里的配对过程与我们通常所认为的配对过程不同,平常我们在使用手机蓝牙时,如果要与其他蓝牙设备配对时,需要输入从机的密码,正确输入才能完成配对,于是我们很自然地认为这个过程是主机向从机发送一条连接指令,指令中的参数包含了从机的配对密码。而实际上,并没有任何一条AT指令具有这个功能,要实现主从机的配对,需要通信双方约定好一个共同的配对密码,并通过AT+PSWD来设置,这也解释了为什么连接从机时主机也要设置配对密码。
3、主机与从机进行配对:
①获取从机的模块地址,参考https://blog.csdn.net/weixin_44509533/article/details/109034456
②从机完成步骤1的配置后,重新给从机上电,使其进入等待配对的工作模式(而非AT指令工作模式)
③实际上,两个未经配对的蓝牙模块,即便有相同的配对密码,在上电后也不能自动完成配对。要让两个蓝牙模块进行配对,需要向主机发送如下配对指令
在这里插入图片描述
举例说明:
与从机:12:34:56: ab: cd:ef 配对,最大配对超时20秒
AT+PAIR =1234,56,abcdef,20\r\n
返回
OK
注意:如果返回ERROR(16)表示你没有执行AT+INIT指令,请返回第2步重新执行。
我们获得的蓝牙从机的物理地址一般是以NAP:UAP:LAP(十六进制)形式返回的。在使用AT指令时,要求以4位,2位,6位形式给出蓝牙地址,如果通过查询蓝牙地址的方式获得的蓝牙地址不满足上述格式,则应该用0补齐。例如,查询得蓝牙从机地址2019:5:83686,则使用该地址时应表示为2019,05,083687。

执行上面的指令后等待数秒一般就能完成配对了。此时蓝牙模块指示灯连续闪两下,熄灭,再连续闪两下,表示配对成功。
可以通过向主机发送AT+STATE?来验证是否配对成功
在这里插入图片描述
4、如果成功连接,那么两个蓝牙模块工作在正常模式(而非AT指令模式)下,上电后将自动完成配对。
5、如果希望建立唯一的配对,即蓝牙主机上电后只搜索特定的从机并与之连接时,则可以通过以下方法实现:
(1)AT+BIND=Param Param:从机蓝牙地址
举例说明:
在指定蓝牙地址连接模式下,绑定蓝牙设备地址:12:34:56: ab: cd:ef 命令及响应如下:
AT+BIND=1234,56,abcdef\r\n
返回OK
(2)AT+CMODE=0 //上电后自动搜索绑定的蓝牙从机


http://www.ppmy.cn/news/836854.html

相关文章

蓝牙(一)蓝牙设置详解

一.蓝牙相关的类 1)BluetoothSettings.java 该类是蓝牙配置和连接管理界面,就是咱们常见的蓝牙界面。它管理着蓝牙界面的加载,蓝牙搜索,蓝牙连接,蓝牙重命名等管理功能。(顺便借用一下大牛做的图片:https:/…

软件工程——第12章面向对象实现知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1. 面向对象语言技术的特点? 2.选择面向对象程序设计语言时主要应该考虑哪些因素? 3.面向对象设计结果只能用面向对象语言实…

微信小程序音频播放问题createInnerAudioContext为何不调用onTimeUpdate

废话不多说,直接这么写就可以解决: innerAudioContext.play(); innerAudioContext.onCanplay(() > { innerAudioContext.play(); console.log(开始播放) }); innerAudioContext.onWaiting(() > { innerAudioCo…

Android上调用百度人脸识别接口

写了一个简单的调用百度人脸识别在线的JAVA接口,识别率挺高的,但是目前写得还不是很全面,然后打开相册选取图片那一部分,以及工具类代码,是有参考别人写的代码,具体是摘自哪里之前没有保存。 这里贴一些主…

Android 人脸识别了解一下 (中)

转载请注明作者及出处:https://www.jianshu.com/p/b41f64389c21 [25]——Android 人脸识别了解一下 (上) 在上文中我大致的介绍了官方 Demo 中人脸注册的流程,本文我们接着来看看,在完成了人脸注册之后我们该如何识别…

Adnroid 使用安卓自带的人脸识别API

缺点是精度不高,识别信息很少,只有眼睛的识别 MainActivity.java import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import and…

基于Android平台实现人脸识别

前言 在深度学习出现后,人脸识别技术才真正有了可用性。这是因为之前的机器学习技术中,难以从图片中取出合适的特征值。轮廓?颜色?眼睛?如此多的面孔,且随着年纪、光线、拍摄角度、气色、表情、化妆、佩饰挂…

安卓人脸检测之FaceDetector

最近看到一个APP的头像上传时,如果你设置的图片里面没有人脸,或者有两张以及以上人脸的时候,会提示你图片不符合规范,让你重新设置,这样是为了确保用户的头像是人! 然后我就在网上查看了一下资料&#xff0…