春天适合努力和拥抱,也适合创客和造物图片图片今天小编得空,继续跟大家分享蓝牙模块的AT指令的相关用法。
AT指令
1.什么是AT指令
在使用蓝牙模块的时候,我们经常想修改蓝牙模块的名字、密码,甚至蓝牙模块的波特率、工作模式等属性,这些操作都要通过蓝牙模块的AT指令来实现。
AT指令是用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)-------摘自某度。
实际上,用我们自己的话说就是可以利用PC端的软件将一条AT指令发给蓝牙模块,从而改变蓝牙模块的名字、密码等属性。
2.HC05蓝牙模块的AT指令
我们先了解一下HC05蓝牙模块常见的几个AT指令:
注意:由于蓝牙模块的版本和型号不同,它们的AT指令集也不一样,所以不同蓝牙模块的AT指令集需要查询对应的手册,这里小编只跟大家分享HC05蓝牙模块的几个常用的AT指令,至于其他型号的蓝牙模块,各位童鞋自行上网查询吧。
AT指令的应用
1.进入AT指令的方法
小编使用的传统蓝牙模块的型号是HC05,进入AT指令的方法是先按住蓝牙模块上的小按钮,然后上电(接+5V电压),当蓝牙模块的指示灯慢速闪烁时(亮灭间隔大约1秒)再松开小按钮,此时蓝牙模块进入AT指令模式。
2.发送AT指令的方法
很多开发者都喜欢用上位机给蓝牙模块发送AT指令,这需要使用USB转TTL模块将蓝牙模块连接到电脑上,然后打开上位机软件,直接给蓝牙模块发送AT指令即可修改蓝牙的相关属性,这种方法虽然简单,但是对于初学者来说,还要拥有一个USB转TTL模块才可以。
今天小编就特立独行一次,给没有USB转TTL模块的童鞋送个“福利”,我们直接用Arduino作为媒介,通过ArduinoIDE的串口监视器给蓝牙模块发送AT指令,这种方法需要编写程序,使用软串口才能实现。
3.程序设计
在设计程序之前我们先把蓝牙模块连接到Arduino上面,接线方式如下:
Arduino UNO 蓝牙模块
VCC ---------------- +5V (暂时不连接)
GND ---------------- GND
10 ---------------- TXD
11 ---------------- RXD
示例程序:
#include<SoftwareSerial.h>
SoftwareSerial softSerial = SoftwareSerial(10, 11);
String s="";
void setup() {
Serial.begin(9600); //串口监视器的波特率
softSerial.begin(38400); //蓝牙模块的波特率
}
void loop() {
if (Serial.available() > 0) {//判断串口监视器是否有指令发送
softSerial.write(Serial.read());//从串口监视器读取指令并发送给蓝牙模块
}
while (softSerial.available() > 0) {//判断蓝牙模块是否有指令发送过来
s = softSerial.readString();//读取蓝牙模块返回的信息
Serial.println(s);//把信息输出到串口监视器
}
}
注意:HC05蓝牙模块在AT指令模式下的波特率是38400,在正常通讯下默认波特率是9600,所以程序中要把软串口的波特率设置为38400,用来和蓝牙模块通信。
我们使用ArduinoIDE的串口监视器时可以使用9600波特率,所以程序中把串口监视器的波特率设置成了9600。
然后把程序下载到Arduino板以后就可以打开串口监视器发送AT指令了!
修改蓝牙属性
我们按照上面说的方法,先按住蓝牙模块的小按钮,然后再把VCC引脚连接到Arduino的+5V引脚上,当蓝牙模块的指示灯慢速闪烁时(亮灭间隔大约1秒)再松开小按钮,这时蓝牙模块就进入AT指令模式了。
然后打开ArduinoIDE的串口监视器,设置好结束符和波特率就可以发送AT指令了
我们先发送一个AT指令,串口监视器中返回OK就表示蓝牙模块已经成功进入AT指令模式了。
然后我们再按照HC05的AT指令表发送相关的指令即可查询或修改蓝牙模块的属性了。
注意:使用AT指令修改/查询HC05蓝牙模块的名称时,需要将模块的EN引脚接入3.3v电压,使蓝牙模块进入完全AT模式。只有HC-05的蓝牙模块是这样的,其他蓝牙模块要查数据手册。
本期分享就到这里咯,撰文不易,欢迎各位小伙伴持续关注我的公众号:初芯未来,更多内容分享等着你哦~!