BLE4.0蓝牙模块JDY-08的简单使用
摘要
本篇简单记录和介绍一下有关蓝牙模块的简单使用,作为自己使用BLE过程的记录,同时为初次接触的人提供一点点帮助。
此处选用的模块为一款规格为:JDY-08的蓝牙模块,支持蓝牙4.0协议,相比HC-05这种蓝牙2.0的模块,首先在手机蓝牙搜索那里你无法配对,会提示你通过相应的应用程序来连接,这样的话就无法像HC-05那样使用手机端的蓝牙串口APP来进行连接它。
想要连接到手机,使用手机进行控制的,可以使用Blinker这么一款应用APP,当然有新的东西,相对于蓝牙2.0,BLE4.0是更先进更高级的玩意,那就有更高级的玩法,具体不再深入,有兴趣可以深入研究。
以上JDY-08的蓝牙模块官方性的介绍,在功能方面支持很多,也不知道到底怎么用,有兴趣的可以深入。
一、基本连接
使用模块首先就需要进行简单基本的配置,比如改名字,配置连接的密码;基本的配置就是AT指令,这个就跟HC-05模块类似了。
硬件连接
AT指令是通过串口发送“AT+***”的字符串进行模块基本信息和功能配置的。将模块连接到串口有很多方法,只要是可以连接到串口的方法都理论上是可以的,常见的方法有:
1.使用TTL串口工具连接
2.利用单片机开发板连接
对此我专门测试了一下,使用arduino uno板,蓝牙模块连接到0,1引脚,对板子刷了一个空的工程,使用arduino IDE的串口监视器发送AT命令,没有返回值;考虑到串口发送的命令可能进入到了板子芯片串口缓冲区,想着去除板子芯片连接,但是贴片的芯片,不好处理!用了两块不一样的51的开发板,1块粤嵌的,一块普中科技的,都在拔除芯片的情况连接,但是都没有回应,也不知道哪里出了问题,理论上是可以的。使用TTL串口模块连接测试有OK。
软件连接
说了硬件连接,还有要说的就是软件了,硬件连接好了以后,发送指令必须要使用到的就是串口调试工具了,串口调试工具app一搜一大把,五花八门,都可以用。这里分享几个!
关注公众号“痴人听梦”回复“串口调试”获取相关下载链接。
二、连接测试
本人在这里使用的是arduino uno的板子,硬件串口(0,1)用作PC与arduino通讯,使用软串口将(4,5)引脚转化为串口连接蓝牙模块。指令的发送就是通过arduino IDE的串口监视器发送命令到arduino uno,uno接收到命令后再转发到蓝牙模块,蓝牙模块返回值再被uno接收并转发到串口监视器打印。
具体代码:
#include <SoftwareSerial.h>
/*
* 使用arduino uno板做测试
* 串口(0,1)作为PC连接uno通讯串口
* 将串口4,5引脚使用软串口处理连接BLE蓝牙模块
*/
SoftwareSerial BT_Serial(4,5);// 使用软串口设置蓝牙连接串口
String str="";
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
BT_Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
//监控串口,将串口接收到的字符串传送给蓝牙模块
//将蓝牙模块返回的内容串口打印到串口监视器进行显示
str = "";
while(Serial.available()>0)
{
str += char(Serial.read());
delay(10);
}
if(str.length()>0)
{
Serial.print(F("命令行发送内容:"));
Serial.println(str);
BT_Serial.print(str);
delay(10);
str = "";
while(BT_Serial.available()>0)
{
str += char(BT_Serial.read());
delay(10);
}
if(str.length()>0)
{
Serial.print(F("BT 返回内容:"));
Serial.println(str);
}
else
{
Serial.println(F("BT 无返回内容:"));
}
}
}
特别注意:
1.AT指令后不用换行
2.JDY-08的波特率是115200
3.AT模式必须是模块未连接状态,即状态灯闪烁
三、AT指令集