Hoy recomiendo un módulo Bluetooth PW02 (Pengwei IoT) de tamaño pequeño y bajo consumo de energía basado en el protocolo BLE5.0 .
Primero, echemos un vistazo al módulo Bluetooth y su tamaño de paquete .
El módulo es un puerto serie Bluetooth, la velocidad en baudios predeterminada es 9600 y es compatible con el conjunto de comandos AT . Una cosa es que el módulo Bluetooth no guarda la información de configuración de tareas. Una vez que el módulo está apagado , toda la información se restaurará a los valores predeterminados datos .
La distancia de transmisión puede alcanzar los 30 ~ 50 m .
El modo predeterminado es el modo de transmisión transparente después del encendido , y puede saltar al modo de comando AT a través del conjunto de comandos AT .
El diagrama de conexión entre el módulo Bluetooth y la MCU es el siguiente: (P03 puede controlar si es modo de baja potencia o modo de velocidad completa. RESET es la función de reinicio. P05 y P01 son RX y TX respectivamente )
En la actualidad, si lo usa como un dispositivo de depuración (interconecte con su teléfono móvil para ver la información de impresión), solo necesita comprender las instrucciones para estos días.
Entrar y salir del modo de conjunto de comandos AT
Modificar el nombre del módulo
Modifique el procedimiento específico de velocidad en baudios
para realizar la modificación.
Primero defina el comando Bluetooth que se enviará
unsigned char BlueToothCmd[4][20]=
{
{
"AT:STR\x0d\x0a"},
{
"AT:NAME=10001\x0d\x0a"},
{
"AT:BAUD=7\x0d\x0a"},
{
"AT:END\x0d\x0a"},
};
Después de eso, se juzga si los datos devueltos son correctos para salir del juicio . Puede usar la función strstr . Si la cadena recuperada contiene la cadena, significa que la recuperación es correcta, salte del juicio y ejecute la siguiente instrucción.
int8_t StateCheck(char *data)
{
char *point;
point = strstr(data, "Changed"); // ERR
if(point != NULL)
{
return 20;
}
point = strstr(data, "OK+Set"); // ERR
if(point != NULL)
{
return 21;
}
point = strstr(data, "AT:END"); // ERR
if(point != NULL)
{
return 22;
}
point = strstr(data, "Cpri"); // ERR
if(point != NULL)
{
return 23;
}
point = strstr(data, "Opri"); // ERR
if(point != NULL)
{
return 24;
}
point = strstr(data, "GetSig"); // ERR
if(point != NULL)
{
return 25;
}
point = strstr(data, "ERR"); // ERR
if(point != NULL)
{
return 0;
}
// rtn:1
point = strstr(data, "OK"); // OK
if(point != NULL)
{
return 1;
}
return -1;
}
Nota: El módulo Bluetooth actualmente solo admite como esclavo para conectarse a un teléfono móvil o computadora, y no admite la conexión entre el módulo y el módulo .