Pular para o conteúdo principal

BLE (dual) Bee v1.0

BLE (dual) Bee v1.0 usa o chip Bluetooth de modo duplo CSR, com o microcontrolador de arquitetura ARM que suporta instruções AT. Os usuários podem desenvolver com flexibilidade de acordo com a taxa de baud serial, o nome do equipamento e a senha de pareamento.

Recursos

  • Versão BT: Bluetooth Specification V4.0 & BLE
  • O máximo de bytes de envio e recebimento UART é 512
  • Outro dispositivo para o módulo em modo SPP: 90 bytes por pacote
  • Outro dispositivo para o módulo em modo BLE: 20 bytes por pacote
  • Dois modos de transmissão de dados, modo balanceado e modo de alta velocidade
  • Frequência de trabalho: banda ISM de 2,4 GHz
  • Método de modulação: GFSK (Gaussian Frequency Shift Keying)
  • Potência de RF: -23 dBm, -6 dBm, 0 dBm, 6 dBm.
  • Velocidade: Assíncrona: 3K bytes
  • Síncrona: 3K bytes
  • Segurança: Autenticação e criptografia
  • Serviço: Escravo SPP, Periférico BLE, UUID FFE0, FFE1
  • Alimentação: +3,3VDC 50mA
  • Longo alcance: SPP 30 metros, BLE 60 metros
  • Consumo de energia: SPP 13,5mA, BLE 9,5mA
  • Temperatura de trabalho: –5 ~ +65 graus Celsius

Especificação

  • U1: U1 é o módulo sem fio, ele inclui circuito automático de reset de energização.
  • D3: O LED exibe dois modos de trabalho: dormindo com ele piscando lentamente; status conectado com ele aceso continuamente.
  • JP1&JP3: O conector Bee padrão.

Cuidados

A tensão de alimentação deste módulo é 2,5V ~ 3,7V, maior que isso pode causar danos permanentes ao dispositivo. A velocidade de transmissão BLE é mais lenta do que a transmissão SPP, então selecionamos a mais baixa no projeto, de acordo com o planejamento de velocidade de um produto BLE de modo duplo.

Instalação de Hardware

Conectando o Bluetooth ao PC através do Uart Bee

Conectando o Bluetooth ao Arduino

Instruções de Software

Convenções

  • No modo EDR, apenas o escravo pode ser configurado, enquanto no modo BLE tanto mestre quanto escravo podem ser usados.
  • Configuração padrão de fábrica:
    • Nome EDR HMSoft, função Escravo, PinCode 1234
    • Nome BLE HMSoft, função Escravo, PinCode 000000
    • Baud: 115200, N, 8, 1;
  • Formato de comando AT:
    • Formato de comando AT em maiúsculas, formato de string, sem qualquer outro símbolo (por exemplo, \r ou \n).
    • Qualquer comando incorreto não terá resposta.

Comandos AT

1. Comando de Teste

SendReceiveParameter
ATOK/ER/Disconnect linkNone

Se o módulo não estiver conectado a um dispositivo remoto, receberá: "OK"

Se o módulo tiver um erro, receberá: "ER"

Se o módulo estiver conectado, o módulo será desconectado do dispositivo remoto; se "AT + NOTI" estiver configurado para 1, receberá uma string de informação

2. Consultar endereço EDR do módulo

SendReceiveParameter
AT+ADDE?OK+ Get: MACNone

3. Consultar endereço BLE do módulo

SendReceiveParameter
AT+ADDB?OK+ Get: MACNone

4. Consultar/Definir modo de Autenticação

SendReceiveParameter
Q: AT+AUTH?OK+ Get:[P1]P1: 0, 1, (Default: 0)
0 – Sem autenticação
1 – Deve ter autenticação
S: AT+AUTH[P1]OK+ Set:[P1]

AT+AUTH0: permite fazer uma conexão insegura.

AT+AUTH1: toda conexão deve ter autenticação.

5. Consultar/Definir modo A para B

SendReceiveParameter
Q: AT+ATOB?OK+ Get:[P1]P1: 0, 1, (Default: 0)
0 – Não abrir ATOB
1 – Abrir modo ATOB
S: AT+ATOB[P1]OK+ Set:[P1]

Este comando deve funcionar com o comando AT+MODE0. Quando o dispositivo A (modo SPP) se conecta ao módulo e o dispositivo B (modo BLE) também se conecta ao módulo, a string de dados enviada do dispositivo A para o módulo será enviada para o dispositivo B. A string de dados enviada do dispositivo B para o módulo também será enviada para o dispositivo A.

6. Consultar/Definir taxa de baud

SendReceiveParameter
Q: AT+BAUD?OK+ Get:[P1]P1: 1~7, (Default: 6).
1 - 4800
2 – 9600
3 – 19200
4 – 38400
5 – 57600
6 – 115200
7 - 230400
S: AT+BAUD[P1]OK+ Set:[P1]

7. Limpar informações de vinculação

SendReceiveParameter
AT+BONDEOK+BONDELimpar informação de vinculação EDR
AT+BONDBOK+BONDBLimpar informação de vinculação BLE

O modo BLE ainda não oferece suporte a isso.

8. Limpar endereço do último dispositivo EDR conectado

SendReceiveParameter
AT+CLEAEOK+CLEAENone

9. Limpar endereço do último dispositivo BLE conectado

SendReceiveParameter
AT+CLEABOK+CLEABNone

10. Consultar/Definir modo de trabalho DUAL do módulo

SendReceiveParameter
Q: AT+DUAL?OK+ Get:[P1]P1: 0, 1, (Default: 0)
0 – Permitir conexão dupla.
1 – Permitir uma conexão.
S: AT+DUAL[P1]OK+ Set:[P1]

AT+DUAL0: permite duas conexões ao mesmo tempo (SPP e BLE).

AT+DUAL1: permite apenas uma conexão ao mesmo tempo (SPP ou BLE)

11. Consultar/Definir chave de controle de fluxo de hardware

SendReceiveParameter
AT+FIOW?OK+ Get:[P1]P1: 0, 1,(Default: 0)
0: Controle de fluxo de hardware desligado
1: Controle de fluxo de hardware ligado
AT+FIOW[P1]OK+ Set:[P1]

12. Consultar/Definir modo de velocidade de transmissão de dados do módulo

SendReceiveParameter
AT+HIGH?OK+ Get:[P1]P1: 0, 1,(Default: 0)
0: Modo balanceado
1: Modo de alta velocidade
AT+HIGH[P1]OK+ Set:[P1]

No modo balanceado, equilibramos SPP e BLE com uma velocidade estável.

No modo de alta velocidade, não controlamos a velocidade, então o modo SPP terá alta velocidade.

No modo de alta velocidade, o módulo perde a função do pino RESETB, mas você ainda pode usar o comando "AT+RESET" para reiniciar o módulo.

13. Informações de Ajuda do Sistema

SendReceiveParameter
AT+HELP?Help InformationNone

14. Consultar/Definir notificação de carregamento do módulo

SendReceiveParameter
AT+INIT?OK+ Get:[P1]P1: 0, 1,?, (Default: 0)
0: Notificação de carregamento desligada
1: Notificação de carregamento ligada
AT+INIT[P1]OK+ Set:[P1]

Quando "AT+INIT1" estiver configurado, após o módulo carregar, o módulo irá enviar a string "OK+INIT" pela UART.

15. Consultar/Definir modo de trabalho do módulo

SendReceiveParameter
Q: AT+MODE?OK+ Get:[P1]P1: 0, 1, (Default: 0)
0 – Transmissão de dados.
1 – Controle remoto.
S: AT+MODE[P1]OK+ Set:[ P1]

AT+MODE0: apenas transfere dados quando a conexão é estabelecida.

AT+MODE1: Transfere dados e responde a comandos AT.

16. Consultar/Definir informações de notificação

SendReceiveParameter
Q: AT+NOTI?OK+ Get:[P1]P1: 0, 1, (Default: 0)
0: Não notificar
1: Notificar
S: AT+NOTI[P1]OK+ Set:[ P1]

Após AT+NOTI1, o módulo enviará a string de conexão ou desconexão através da

UART quando o estado do módulo mudar:

OK+CONE ======== conexão EDR

OK+LSTE ========= desconexão EDR

OK+CONB========= conexão BLE

OK+LSTB ========= desconexão BLE

OK+LSTA ========= exceto desconexão, o módulo será reiniciado após 500 ms.

17. Consultar/Definir modo de notificação

SendReceiveParameter
Q: AT+NOTP?OK+ Get:[P1]P1: 0, 1; default: 0
0: sem endereço
1: com endereço
Q: AT+NOTP[P1]OK+ Set:[ P1]

Este comando deve funcionar com "AT+NOTI1", se esta chave estiver aberta, quando o módulo conectar ou desconectar, a string de aviso incluirá o endereço remoto.

18. Consultar/Configurar nome EDR do módulo

EnviarReceberParâmetro
Q: AT+NAME?OK+ Get:[P1]P1: nome EDR do módulo,
Comprimento máximo é 12.
Padrão: HMSoft
Q: AT+NAME[P1]OK+ Set:[ P1]

19. Consultar/Configurar nome BLE do módulo

EnviarReceberParâmetro
Q: AT+NAMB?OK+ Get:[P1]P1: nome BLE do módulo,
Comprimento máximo é 12.
Padrão: HMSoft
S: AT+NAMB[P1]OK+ Set:[ P1]

20. Consultar/Configurar status de saída de PIO1 (LED do Sistema)e

EnviarReceberParâmetro
Q: AT+PIO1?OK+ Get:[P1]P1: 0, 1
0: Saída desconectada 500 ms Alta 500 ms Baixa, Saída conectada Alta.
1: Saída desconectada Baixa, Saída conectada Alta.
Padrão: 0
S: AT+ PIO1 [P1]OK+ Set:[ P1]

21. Consultar/Configurar status de saída de PIO

EnviarReceberParâmetro
Q: AT+PIO[P1]?OK+ Get:[P1][P2]P1: 2B (HM-12)
P2: 2
3 (HM-13)
0: Saída Baixa
1: Saída Alta
?: Consultar
S: AT+ PIO[P1][P2]OK+ Set:[P1][P2]

22. Consultar/Configurar código PIN EDR

EnviarReceberParâmetro
Q: AT+PINE?OK+ Get:[P1]P1: Código EDR do módulo
Comprimento máximo: 6
Padrão: 1234
S: AT+PINE[P1]OK+ Set:[P1]

23. Consultar/Configurar código PIN BLE

EnviarReceberParâmetro
Q: AT+PINB?OK+ Get:[P1]P1: Código BLE do módulo
000000~999999
Padrão: 000000
S: AT+PINB[P1]OK+ Set:[P1]

24. Consultar/Configurar bit de paridade da UART

EnviarReceberParâmetro
Q: AT+PARI?OK+ Get:[P1]P1: 0, 1, 2, (Padrão: 0)
0: Sem paridade
1: Paridade par
2: Paridade ímpar
S: AT+PARI[P1]OK+ Set:[P1]

25. Restaurar todos os valores de configuração para os de fábrica

EnviarReceberParâmetro
AT+RENEWOK+RENEWNenhum

26. Reiniciar módulo

EnviarReceberParâmetro
AT+RESETOK+RESETNenhum

27. Consultar valor de RSSI BLE

EnviarReceberParâmetro
AT+RSSB?OK+RSSB: [P1]P1: valor RSSI
9999: Sem conexão
9998: Tente mais tarde
9997: Erro de leitura
Xxxx: valor RSSI

Este comando deve ser usado depois que "AT+MODE1" estiver configurado. Este comando é usado apenas por dispositivo Bluetooth remoto. 28. Consultar valor de RSSI EDR

EnviarReceberParâmetro
AT+RSSE?OK+RSSE: [P1]P1: valor RSSI
9999: Sem conexão
9998: Tente mais tarde
9997: Erro de leitura
Xxxx: valor RSSI

29. Consultar endereço do último dispositivo EDR conectado

EnviarReceberParâmetro
AT+RADE?OK+Get:MAC AddressNenhum

30. Consultar endereço do último dispositivo BLE conectado

EnviarReceberParâmetro
AT+RADB?OK+Get:MAC AddressNenhum

31. Consultar/Configurar papel de Mestre e Escravo

EnviarReceberParâmetro
AT+ROLB?OK+ Get:[P1]P1: 0, 1 (padrão: 0)
0: Peripheral
1: Central
AT+ROLB[P1]OK+ Set:[P1]

Este comando terá efeito após o próximo energizar ou resetar o módulo. 32. Consultar/Configurar modo de trabalho EDR

EnviarReceberParâmetro
Q: AT+SCAN?OK+ Get:[P1]P1: 0, 1, (Padrão: 0)
0: Descoberta e conectável
1: Apenas conectável
S: AT+SCAN[P1]OK+ Set:[P1]

33. Consultar/Configurar bit de parada da UART

EnviarReceberParâmetro
Q: AT+STOP?OK+ Get:[P1]P1: 0, 1, (Padrão: 0)
0: 1 bit de parada
1: 2 bits de parada
S: AT+STOP[P1]OK+ Set:[P1]

34. Consultar versão do Software

EnviarReceberParâmetro
AT+VERR?
AT+VERS?
Informações da VersãoNenhum

Programação

Configurar o módulo Bluetooth com Serial no Windows

Esta seção mostra como configurar o Bluetooth com PC, alguns métodos básicos de configuração podem ser aprendidos. Configure a conexão de hardware consultando a seção "Instalação de Hardware". Você verá que o LED azul no módulo pisca indicando que nenhuma conexão está estabelecida.

Abra um terminal serial e configure Baud Rate:115200, Databits: 8, Stopbits: 1 e No Flow Control. Envie "AT" para o Bluetooth com o terminal serial e "OK" será retornado se tudo correr bem. O Bluetooth só responde a comandos AT quando nenhuma conexão foi estabelecida, caso contrário todos os comandos serão vistos como string e enviados. Você pode distinguir o status através da indicação do LED.

Então algumas configurações úteis podem ser enviadas. Aqui estão alguns exemplos de comandos e respostas.

  1. Testar conexão serial, enviar "AT", retornará "OK".

  2. Restaurar configurações de fábrica, enviar "AT+RENEW", retornará "OK+RENEW".

  3. Redefinir baud rate da porta serial, enviar "AT+BAUD2", retornará "OK+Set:2".

  4. Habilitar autenticação, enviar "AT+AUTH1", retornará "OK+Set:1".

  5. Resetar o Bluetooth, enviar "AT+RESET", retornará "OK+RESET".

  6. Consultar versão do firmware, enviar "AT+VERS?", retornará "OK+Get:HMSoftV217".

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

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

  9. Configurar o nome de EDR, enviar "AT+NAMEHM-13-EDR", retornará "OK+Set:HM-13-EDR".

  10. Configurar o nome de BLE, enviar "AT+NAMEHM-13-BLE", retornará "OK+Set:HM-13-BLE".

  11. Configurar a senha de EDR, enviar "AT+PINE123451", retornará "OK+Set:123451".

  12. Configurar a senha de BLE, enviar "AT+PINB123451", retornará "OK+Set:123451".

  13. Habilitar descoberta e conexão, enviar "AT+SCAN0", retornará "OK+Set:0".

  14. Habilitar informações de notificação de conexão, enviar "AT+NOTI1", retornará "OK+Set:1".

  15. Informações de notificação incluem endereço, enviar "AT+NOTP1", retornará "OK+Set:1".

  16. Habilitar tecla de usuário, enviar "AT+PIO01", retornará "OK+Set:1".

  17. Configurar para modo Central, enviar "AT+ROLB1", retornará "AT+ROLB1".

Ou configurar para modo Peripheral, enviar "AT+ROLB0", retornará "AT+ROLB0".

Usamos dois módulos Bluetooth conectados ao PC, um foi configurado como Central enquanto o outro é Peripheral. Alguns segundos depois eles se encontram e o LED para de piscar, conectado!

Comunicar com iPhone

Este tipo de módulo Bluetooth possui dois protocolos: Bluetooth EDR (Enhanced Data Rate) e Bluetooth Low Energy. Ele pode se comunicar com qualquer dispositivo que tenha um desses protocolos. Alguns telefones Android com SO superior a 4.3 e iPhone4 ou posterior têm capacidade BLE. Usamos um iPhone para demonstrar como usar um celular para interagir com o Bluetooth.

Alimente o Bluetooth e configure-o como papel Peripheral. Procure por LightBlue na Apple Store e instale-o. Inicie o aplicativo, você poderá encontrar "HM-13-BLE", que acabamos de renomear. Toque nele para conectar, depois toque em "Properties" para controlá-lo. A tecla "Hex" no canto superior direito serve para mudar o formato dos dados, talvez String seja mais fácil de visualizar. Toque em "Listen for notifications" para habilitar o recebimento de dados. Então podemos enviar dados para o PC através de BLE, toque em "Write new value" e escreva algumas palavras. Também o PC pode transferir dados para o iPhone com o terminal serial.

Transmissão de dados entre dois Arduinos

Pronto para programar? É hora de fazer algo depois da prática. Prepare um par de módulos Bluetooth e Arduino ou outra plataforma para controlá-los. Aqui usamos dois Arduino Uno. Configure a conexão como mencionado na seção "Instalação de Hardware".

O programa de Central e Peripheral usa o mesmo código, a única diferença é o micro define no início do programa. Para atribuir o papel Central ao Bluetooth, só é necessário modificar o texto para "#define MASTER 1", ou "#define MASTER 1" se o papel Peripheral for atribuído.

O fluxo do programa de inicialização pode ser consultado no fluxograma a seguir. Primeiro, precisamos distinguir a taxa de baud predefinida do Bluetooth. Depois disso, envie comandos para restaurar as configurações de fábrica e altere a taxa de baud de 115200 para 9600, pois a serial por software não funcionará bem em taxa de baud alta. Em seguida, outros parâmetros são configurados no Bluetooth, finalizando com o comando Reset.

Após a inicialização, o Central e o Peripheral farão coisas diferentes: o Central enviará mensagens para o Peripheral em intervalos e imprimirá o que recebeu do Peripheral, enquanto o Peripheral apenas responderá ao Central.

Após baixar o programa, abra duas janelas de terminal serial, os LEDs no Bluetooth piscarão; alguns segundos depois, eles param de piscar e permanecem acesos, o que indica que estão conectados um ao outro. De acordo com o programa escrito, o Central envia mensagens continuamente ao Peripheral e obtém um retorno todas as vezes.

Visualizador de Esquemático Online

Recursos

Suporte Técnico e Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...