Skip to main content

Grove - BLE (modelo dual) v1.0

Grove - BLE (modelo dual) v1.0 utiliza el chip Bluetooth de modo dual CSR. El chip está basado en arquitectura ARM y soporta instrucciones AT. Los usuarios pueden desarrollar de manera flexible según la velocidad de baudios serie, nombre del dispositivo, contraseña de emparejamiento.

Características

  • Versión BT: Especificación Bluetooth V4.0 & BLE
  • Máximo de bytes de envío y recepción UART es 512
  • Otro dispositivo al módulo en modo SPP: 90 Bytes por paquete
  • Otro dispositivo al módulo en modo BLE: 20 Bytes por paquete
  • Dos modos de transmisión de datos, modo balanceado y modo de alta velocidad
  • Frecuencia de trabajo: banda ISM de 2.4GHz
  • Método de modulación: GFSK(Gaussian Frequency Shift Keying)
  • Potencia RF: -23dbm, -6dbm, 0dbm, 6dbm.
  • Velocidad: Asíncrono: 3K Bytes
  • Síncrono: 3K Bytes
  • Seguridad: Autenticación y encriptación
  • Servicio: Esclavo SPP, Periférico BLE, UUID FFE0,FFE1
  • Alimentación: +3.3/+5.0VDC 50mA
  • Largo alcance: SPP 30 metros, BLE 60 metros
  • Potencia: SPP 13.5mA, BLE 9.5mA
  • Temperatura de trabajo: –5 ~ +65 Centígrados
tip

Más detalles sobre los módulos Grove consulte Sistema Grove

Plataformas Soportadas

ArduinoRaspberry Pi
caution

Las plataformas mencionadas anteriormente como soportadas son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.

Descripción del Hardware

K2: Durante el estado conectado, se puede desconectar presionando el botón K2 por más de 100ms. Durante el modo de suspensión, se puede restaurar presionando el botón K2 (configuración de fábrica).

U1: U1 es el módulo inalámbrico, incluye circuito de reinicio automático al encender.

D1: El LED funciona en dos modos: Suspendido se indica parpadeando lentamente y el estado Conectado se indica con iluminación continua.

J1: El conector Grove estándar.

Precaución

La velocidad de transmisión BLE es más lenta que la transmisión SPP, por lo que seleccionamos la más baja en el diseño, de acuerdo con la velocidad de una planificación de producto de modo dual BLE.

Instalación del Hardware

Conectando Bluetooth a PC a través de UART Bee

El Bluetooth proporciona un puerto serie con socket Grove estándar, se puede usar la mayoría de convertidores USB-UART. Aquí usamos un UartSBee V5 para conectar Bluetooth y PC.

Conectando Bluetooth a Arduino

Dado que Arduino Uno no tiene socket Grove, usamos Seeeduino Lotus en su lugar. También podrías usar Arduino con Grove Base Shield V2. Como ejemplo, D2 y D3 se usan como UART por software. Entonces, conecta el cable Grove en el socket "D2"

Instrucciones de Software

Convenciones

  • En modo EDR, solo se puede configurar esclavo mientras que tanto maestro como esclavo pueden estar en modo BLE.
  • Configuración predeterminada de fábrica:
    • Nombre EDR HMSoft, rol Esclavo, PinCode 1234
    • Nombre BLE HMSoft, rol Esclavo, PinCode 000000
    • Baud: 115200, N, 8, 1;
  • Formato de comando AT:
    • Formato de comando AT en mayúsculas. formato de cadena, sin ningún otro símbolo. (ej. //r o //n).
    • Cualquier comando incorrecto no obtendría respuesta.

Comandos AT

1. Comando de Prueba

EnviarRecibirParámetro
ATOK/ER/Disconnect linkNinguno

Si el módulo no está conectado al dispositivo remoto recibirá: "OK"

Si el módulo tiene un error, recibirá: "ER"

Si el Módulo se ha conectado, el módulo se desconectará del dispositivo remoto, si "AT + NOTI" está configurado a 1, recibirá cadena de información

2. Consultar dirección EDR del módulo

EnviarRecibirParámetro
AT+ADDE?OK+ Get: MACNinguno

3. Consultar dirección BLE del módulo

EnviarRecibirParámetro
AT+ADDB?OK+ Get: MACNinguno

4. Consultar/Configurar modo de autenticación

Enviar

Recibir

Parámetro

Q: AT+AUTH?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0 – Sin autenticación 1 – Debe autenticar

S: AT+AUTH[P1]

OK+ Set:[P1]

AT+AUTH0: permite realizar una conexión insegura. AT+AUTH1: cada conexión debe tener autenticación.

5. Consultar/Configurar modo A a B

Enviar

Recibir

Parámetro

Q: AT+ATOB?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0 – No abrir ATOB 1 – Abrir modo ATOB

S: AT+ATOB[P1]

OK+ Set:[P1]

Este comando debe funcionar con el comando AT+MODE0. Cuando el dispositivo A (modo SPP) se conecta al módulo y el dispositivo B (modo BLE) también se conecta al módulo, la cadena de datos del dispositivo A enviada al módulo se enviará al dispositivo B. La cadena de datos del dispositivo B enviada al módulo también se envía al dispositivo A.

6. Consultar/Configurar velocidad de baudios

Enviar

Recibir

Parámetro

Q: AT+BAUD?

OK+ Get:[P1]

P1: 1~7, (Por defecto: 6). 1 - 4800 2 – 9600 3 – 19200 4 – 38400 5 – 57600 6 – 115200 7 - 230400

S: AT+BAUD[P1]

OK+ Set:[P1]

7. Borrar información de enlace

EnviarRecibirParámetro
AT+BONDEOK+BONDEBorrar información de enlace EDR
AT+BONDBOK+BONDBBorrar información de enlace BLE

El modo BLE aún no lo soporta.

8. Borrar Dirección del Último Dispositivo EDR Conectado

EnviarRecibirParámetro
AT+CLEAEOK+CLEAENinguno

9. Borrar Dirección del Último Dispositivo BLE Conectado

EnviarRecibirParámetro
AT+CLEABOK+CLEABNinguno

10. Consultar/Configurar Modo de Trabajo DUAL del Módulo

Enviar

Recibir

Parámetro

Q: AT+DUAL?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0 – Permitir conexión dual. 1 – Permitir una conexión.

S: AT+DUAL[P1]

OK+ Set:[P1]

AT+DUAL0: permite dos conexiones al mismo tiempo (SPP y BLE). AT+DUAL1: Solo permite una conexión al mismo tiempo (SPP o BLE)

11. Consultar/Configurar interruptor de control de flujo de hardware

Enviar

Recibir

Parámetro

AT+FIOW?

OK+ Get:[P1]

P1: 0, 1,(Por defecto: 0) 0: Control de flujo de hardware desactivado 1: Control de flujo de hardware activado

AT+FIOW[P1]

OK+ Set:[P1]

12. Consultar/Configurar modo de velocidad de transmisión de datos del módulo

Enviar

Recibir

Parámetro

AT+HIGH?

OK+ Get:[P1]

P1: 0, 1,(Por defecto: 0) 0: Modo equilibrado 1: Modo alta velocidad

AT+HIGH[P1]

OK+ Set:[P1]

En modo equilibrado, equilibramos SPP y BLE con una velocidad estable. En modo alta velocidad, no controlamos la velocidad, por lo que el modo SPP obtendrá alta velocidad. En modo alta velocidad, el módulo pierde la función del pin RESETB, pero aún puedes usar el comando "AT+RESET" para reiniciar el módulo.

13. Información de Ayuda del Sistema

EnviarRecibirParámetro
AT+HELP?Información de AyudaNinguno

14. Consultar/Configurar notificación de carga del módulo

Enviar

Recibir

Parámetro

AT+INIT?

OK+ Get:[P1]

P1: 0, 1,?, (Por defecto: 0) 0: Notificación de carga desactivada 1: Notificación de carga activada

AT+INIT[P1]

OK+ Set:[P1]

Cuando se configura "AT+INIT1", después de que el módulo se carga, el módulo enviará la cadena "OK+INIT" a través de UART.

15. Consultar/Configurar Modo de Trabajo del Módulo

Enviar

Recibir

Parámetro

Q: AT+MODE?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0 – Transmisión de datos. 1 – Control remoto.

S: AT+MODE[P1]

OK+ Set:[ P1]

AT+MODE0: Solo transferir datos cuando se establece la conexión. AT+MODE1: Transferir datos y responder comandos AT.

16. Consultar/Configurar información de notificación

Enviar

Recibir

Parámetro

Q: AT+NOTI?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0: No notificar 1: Notificar

S: AT+NOTI[P1]

OK+ Set:[ P1]

Después de AT+NOTI1, el módulo enviará una cadena de conexión o desconexión a través de UART cuando el estado del módulo cambie:

OK+CONE ======== conexión EDR

OK+LSTE ========= desconexión EDR

OK+CONB========= conexión BLE

OK+LSTB ========= desconexión BLE

OK+LSTA ========= excepto desconexión, el módulo se reiniciará después de 500 ms.

17. Consultar/Configurar modo de notificación

Enviar

Recibir

Parámetro

Q: AT+NOTP?

OK+ Get:[P1]

P1: 0, 1; predeterminado: 0 0: sin dirección 1: con dirección

Q: AT+NOTP[P1]

OK+ Set:[ P1]

Este comando debe funcionar con "AT+NOTI1", si este interruptor está abierto, cuando el módulo se conecte para desconectar, la cadena de aviso incluirá la dirección remota.

18. Consultar/Configurar nombre EDR del módulo

Enviar

Recibir

Parámetro

Q: AT+NAME?

OK+ Get:[P1]

P1: nombre EDR del módulo, La longitud máxima es 12. Por defecto: HMSoft

Q: AT+NAME[P1]

OK+ Set:[ P1]

19. Consultar/Configurar nombre BLE del módulo

Enviar

Recibir

Parámetro

Q: AT+NAMB?

OK+ Get:[P1]

P1: nombre BLE del módulo, Longitud máxima es 12. Por defecto: HMSoft

S: AT+NAMB[P1]

OK+ Set:[ P1]

20. Consultar/Configurar estado de salida PIO1 (LED del sistema)

Enviar

Recibir

Parámetro

Q: AT+PIO1?

OK+ Get:[P1]

P1: 0, 1 0: Desconectado Salida 500ms Alto 500ms Bajo, Conectado salida Alto. 1: Desconectado salida Bajo, Conectado salida Alto. Por defecto: 0

S: AT+ PIO1 [P1]

OK+ Set:[ P1]

21. Consultar/Establecer estado de salida PIO

Enviar

Recibir

Parámetro

Q: AT+PIO[P1]?

OK+ Get:[P1][P2]

P1: 2B (HM-12) P2: 23 (HM-13) 0: Salida Baja 1: Salida Alta ?: Consulta

S: AT+ PIO[P1][P2]

OK+ Set:[P1][P2]

22. Consultar/Establecer Código PIN EDR

Enviar

Recibir

Parámetro

Q: AT+PINE?

OK+ Get:[P1]

P1: Código EDR del módulo Longitud máxima: 6 Por defecto: 1234

S: AT+PINE[P1]

OK+ Set:[P1]

23. Consultar/Configurar Código PIN BLE

Enviar

Recibir

Parámetro

Q: AT+PINB?

OK+ Get:[P1]

P1: código BLE del módulo 000000~999999 Por defecto: 000000

S: AT+PINB[P1]

OK+ Set:[P1]

24. Consultar/Configurar bit de paridad UART

Enviar

Recibir

Parámetro

Q: AT+PARI?

OK+ Get:[P1]

P1: 0, 1, 2, (Por defecto: 0) 0: Sin paridad 1: Paridad par 2: Paridad impar

S: AT+PARI[P1]

OK+ Set:[P1]

25. Restaurar todos los valores de configuración a la configuración de fábrica

SendReceiveParameter
AT+RENEWOK+RENEWNone

26. Reiniciar módulo

SendReceiveParameter
AT+RESETOK+RESETNone

27. Consultar valor RSSI de BLE

SendReceiveParameter
AT+RSSB?OK+RSSB: [P1]P1: Valor RSSI

9999: Sin conexión
9998: Intentar más tarde
9997: Error de lectura
Xxxx: Valor RSSI

Este comando debe usarse después de configurar "AT+MODE1". Este comando solo es usado por dispositivo Bluetooth remoto.

28. Consultar valor RSSI EDR

EnviarRecibirParámetro
AT+RSSE?OK+RSSE: [P1]P1: Valor RSSI

9999: Sin conexión
9998: Intentar más tarde
9997: Error de lectura
Xxxx: Valor RSSI

29. Consultar Dirección del Último Dispositivo EDR Conectado

EnviarRecibirParámetro
AT+RADE?OK+Get:MAC AddressNinguno

30. Consultar Dirección del Último Dispositivo BLE Conectado

EnviarRecibirParámetro
AT+RADB?OK+Get:MAC AddressNinguno

31. Consultar/Configurar Rol Maestro y Esclavo

Enviar

Recibir

Parámetro

AT+ROLB?

OK+ Get:[P1]

P1: 0, 1 (predeterminado: 0) 0: Periférico 1: Central

AT+ROLB[P1]

OK+ Set:[P1]

Este comando tendrá efecto después del próximo encendido o reinicio del módulo.

32. Consultar/Configurar modo de trabajo EDR

Enviar

Recibir

Parámetro

Q: AT+SCAN?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0: Descubrible y conectable 1: Solo conectable

S: AT+SCAN[P1]

OK+ Set:[P1]

33. Consultar/Configurar bit de parada UART

Enviar

Recibir

Parámetro

Q: AT+STOP?

OK+ Get:[P1]

P1: 0, 1, (Por defecto: 0) 0: 1 bit de parada 1: 2 bits de parada

S: AT+STOP[P1]

OK+ Set:[P1]

34. Consultar Versión del Software

EnviarRecibirParámetro

AT+VERR?

AT+VERS?

Información de VersiónNinguno

Programación

Configurar el módulo Bluetooth con Serial bajo Windows

Esta sección muestra cómo configurar Bluetooth con PC, se pueden aprender algunos métodos básicos de configuración. Configure la conexión de hardware refiriéndose a la sección "Instalación de Hardware". Encontrará que el LED azul en el módulo parpadea indicando que no se ha establecido conexión.

Abra una terminal serial y configure Velocidad de Baudios: 115200, Bits de datos: 8, Bits de parada: 1 y Sin Control de Flujo. Envíe "AT" al Bluetooth con la terminal serial y "OK" será devuelto si todo va bien. El Bluetooth solo responde comandos AT cuando no se ha establecido conexión, o todos los comandos fueron vistos como cadena y enviados. Puede distinguir el estado a través de las indicaciones del LED.

Entonces se pueden enviar algunas configuraciones útiles. Aquí hay algunas muestras de comandos y respuestas.

  1. Probar conexión serial, enviar "AT", devolverá "OK".

  2. Restaurar configuraciones de fábrica, enviar "AT+RENEW", devuelve "OK+RENEW".

  3. Restablecer velocidad de baudios del puerto serial, enviar "AT+BAUD2", devuelve "OK+Set:2".

  4. Habilitar autenticación, enviar "AT+AUTH1", devuelve "OK+Set:1".

  5. Restablecer el Bluetooth, enviar "AT+RESET", devuelve "OK+RESET".

  6. Consultar versión de firmware, enviar "AT+VERS?", devuelve "OK+Get:HMSoftV217".

  7. Consultar MAC de EDR, enviar "AT+ADDE?", devuelve "OK+Get:000E0E002074".

  8. Consultar MAC de BLE, enviar "AT+ADDB?", devuelve "OK+Get:000E0B002074".

  9. Establecer el nombre de EDR, enviar "AT+NAMEHM-13-EDR", devuelve "OK+Set:HM-13-EDR".

  10. Establecer el nombre de BLE, enviar "AT+NAMEHM-13-BLE", devuelve "OK+Set:HM-13-BLE".

  11. Establecer la contraseña de EDR, enviar "AT+PINE123451", devuelve "OK+Set:123451".

  12. Establecer la contraseña de BLE, enviar "AT+PINB123451", devuelve "OK+Set:123451".

  13. Habilitar descubrimiento y conectable, enviar "AT+SCAN0", devuelve "OK+Set:0".

  14. Habilitar información de notificación de conexión, enviar "AT+NOTI1", devuelve "OK+Set:1".

  15. La información de notificación incluye dirección, enviar "AT+NOTP1", devuelve "OK+Set:1".

  16. Habilitar tecla de usuario, enviar "AT+PIO01", devuelve "OK+Set:1".

  17. Establecer a modo Central, enviar "AT+ROLB1", devuelve "AT+ROLB1".

O Establecer a modo Periférico, enviar "AT+ROLB0", devuelve "AT+ROLB0".

Usamos dos Bluetooth conectados con PC, uno fue configurado como Central mientras el otro es Periférico. Varios segundos después se encuentran entre sí y el LED deja de parpadear, ¡conectados!

Comunicarse con iPhone

Este tipo de módulo Bluetooth tiene dos protocolos: Bluetooth EDR (Enhanced Data Rate) y Bluetooth Low Energy. Puede comunicarse con cualquier dispositivo que tenga uno de estos protocolos. Algunos teléfonos Android con OS superior a 4.3 e iPhone4 o posterior tienen capacidad BLE. Usamos un iPhone para demostrar cómo usar un teléfono celular para interactuar con Bluetooth.

Alimente el Bluetooth y configúrelo como rol Periférico. Busque LightBlue en Apple Store e instálelo. Lance la aplicación, puede encontrar "HM-13-BLE" que acabamos de renombrar. Tóquelo para conectar, luego toque "Properties" para controlarlo. La tecla "Hex" en la parte superior derecha es para cambiar el formato de datos, tal vez String sea fácil de ver. Presione "Listen for notifications" para habilitar la recepción de datos. Entonces podemos enviar datos a PC a través de BLE, presione "Write new value" y escriba algunas palabras. También PC puede transferir datos a iPhone con terminal serial.

Transmisión de datos entre dos Arduinos

¿Está listo para codificar? Es hora de hacer algo después de la práctica. Prepare un par de Bluetooth, y Arduino u otra plataforma para controlarlos. Aquí usamos dos Arduino Uno. Configure la conexión como se menciona en la sección "Instalación de Hardware".

El programa de Central y Periférico usan el mismo código, la única diferencia es la definición de macro al comienzo del programa. Para asignar el Bluetooth al rol Central, solo necesita modificar el texto a "/#define MASTER 1", o "/#define MASTER 1" si se asignó el rol Periférico.

El flujo del programa de inicialización por favor refiérase al siguiente diagrama de flujo. Primero que todo necesitamos distinguir la velocidad de baudios preestablecida del Bluetooth. Después de esto, enviar comandos para restaurar configuraciones de fábrica, y cambiar velocidad de baudios de 115200 a 9600 ya que el serial por software no funcionará bien a alta velocidad de baudios. Entonces otros parámetros fueron configurados al Bluetooth con comando Reset al final.

Después de la inicialización, el Central y Periférico harán cosas diferentes, el Central enviará mensaje al Periférico por intervalos e imprimirá lo que recibió del Periférico mientras el Periférico solo responde al Central.

Haga clic aquí para descargar el código de prueba y abrir HM-13/_SW.ino con Arduino IDE, compilar y descargar a Arduino Uno. Recuerde configurar el Bluetooth a diferente rol modificando la macro al comienzo. Si tiene algún problema sobre cómo iniciar Arduino, por favor haga clic aquí para obtener ayuda.

Después de descargar el programa, abra dos ventanas de terminal serial, los LEDs en Bluetooth parpadearán, varios segundos después, dejan de parpadear y se mantienen encendidos, esto indica que se conectaron entre sí. Según el programa está escrito, el Central envía mensaje al Periférico continuamente y obtiene retroalimentación cada vez.

Visor de Esquemas en Línea

Recursos

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...