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
| Send | Receive | Parameter |
|---|---|---|
| AT | OK/ER/Disconnect link | None |
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
| Send | Receive | Parameter |
|---|---|---|
| AT+ADDE? | OK+ Get: MAC | None |
3. Consultar endereço BLE do módulo
| Send | Receive | Parameter |
|---|---|---|
| AT+ADDB? | OK+ Get: MAC | None |
4. Consultar/Definir modo de Autenticação
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| AT+BONDE | OK+BONDE | Limpar informação de vinculação EDR |
| AT+BONDB | OK+BONDB | Limpar 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
| Send | Receive | Parameter |
|---|---|---|
| AT+CLEAE | OK+CLEAE | None |
9. Limpar endereço do último dispositivo BLE conectado
| Send | Receive | Parameter |
|---|---|---|
| AT+CLEAB | OK+CLEAB | None |
10. Consultar/Definir modo de trabalho DUAL do módulo
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| AT+HELP? | Help Information | None |
14. Consultar/Definir notificação de carregamento do módulo
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Send | Receive | Parameter |
|---|---|---|
| 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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâmetro |
|---|---|---|
| Q: AT+PIO[P1]? | OK+ Get:[P1][P2] | P1: 2 P2: 2 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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâmetro |
|---|---|---|
| AT+RENEW | OK+RENEW | Nenhum |
26. Reiniciar módulo
| Enviar | Receber | Parâmetro |
|---|---|---|
| AT+RESET | OK+RESET | Nenhum |
27. Consultar valor de RSSI BLE
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâmetro |
|---|---|---|
| AT+RADE? | OK+Get:MAC Address | Nenhum |
30. Consultar endereço do último dispositivo BLE conectado
| Enviar | Receber | Parâmetro |
|---|---|---|
| AT+RADB? | OK+Get:MAC Address | Nenhum |
31. Consultar/Configurar papel de Mestre e Escravo
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâ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
| Enviar | Receber | Parâmetro |
|---|---|---|
| AT+VERR? AT+VERS? | Informações da Versão | Nenhum |
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.
-
Testar conexão serial, enviar "AT", retornará "OK".
-
Restaurar configurações de fábrica, enviar "AT+RENEW", retornará "OK+RENEW".
-
Redefinir baud rate da porta serial, enviar "AT+BAUD2", retornará "OK+Set:2".
-
Habilitar autenticação, enviar "AT+AUTH1", retornará "OK+Set:1".
-
Resetar o Bluetooth, enviar "AT+RESET", retornará "OK+RESET".
-
Consultar versão do firmware, enviar "AT+VERS?", retornará "OK+Get:HMSoftV217".
-
Consultar MAC de EDR, enviar "AT+ADDE?", retornará "OK+Get:000E0E002074".
-
Consultar MAC de BLE, enviar "AT+ADDB?", retornará "OK+Get:000E0B002074".
-
Configurar o nome de EDR, enviar "AT+NAMEHM-13-EDR", retornará "OK+Set:HM-13-EDR".
-
Configurar o nome de BLE, enviar "AT+NAMEHM-13-BLE", retornará "OK+Set:HM-13-BLE".
-
Configurar a senha de EDR, enviar "AT+PINE123451", retornará "OK+Set:123451".
-
Configurar a senha de BLE, enviar "AT+PINB123451", retornará "OK+Set:123451".
-
Habilitar descoberta e conexão, enviar "AT+SCAN0", retornará "OK+Set:0".
-
Habilitar informações de notificação de conexão, enviar "AT+NOTI1", retornará "OK+Set:1".
-
Informações de notificação incluem endereço, enviar "AT+NOTP1", retornará "OK+Set:1".
-
Habilitar tecla de usuário, enviar "AT+PIO01", retornará "OK+Set:1".
-
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.




