Índice:

Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4: 9 etapas
Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4: 9 etapas

Vídeo: Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4: 9 etapas

Vídeo: Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4: 9 etapas
Vídeo: #15 HC 05 Bluetooth Modbus Android HMI | Внешний ПЛК Arduino 2024, Novembro
Anonim
Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4
Guia do usuário do módulo de comunicação UART Bluetooth HC-08 V2.4

Introdução de Produto

Modem Bluetooth - Módulo de passagem mínima HC08 é um módulo de transmissão de dados de nova geração baseado no protocolo Bluetooth Specification V4.0 BLE. Sua banda de frequência de trabalho sem fio é 2.4 GHz ISM com método de modulação GFSK. A potência máxima de transmissão é 4d Bm. Sua sensibilidade de recepção é de -93d Bm. Em ambiente aberto, pode chegar a 80m de comunicação de longo alcance com iphone4s. Possui orifícios integrados para pacotes de selos e orifícios para soldagem de pinos. Você pode montar o pacote e os pinos de soldagem. É muito conveniente ser incorporado ao sistema de aplicativos. Com o indicador LED embutido, você pode ver visualmente o status da conexão do Bluetooth. Este módulo adota o núcleo CC2540F256 configurado 256K bit. Suporta comandos AT. Os usuários podem alterar funções (modo mestre / escravo), bem como parâmetros como taxa de transmissão e o nome do dispositivo de acordo com seus próprios requisitos. É muito flexível de usar.

Etapa 1: Tamanho do produto

Definição de pin

O módulo HC-08 possui 30 pinos integrados. As definições específicas de pinos estão listadas na tabela a seguir:

Etapa 2: Pin

Alfinete

Definição

I / O

Explique

1 TXD saída Saída UART, nível 3.3V TTL
2 RXD entrada, puxar fraco para cima Entrada UART, nível 3.3V TTL
3 NC
4 NC
5 NC
6 DC entrada Depurar relógio
7 DD Entrada / saída Dados de depuração
8 PIO20 entrada, puxar fraco para cima NC
9 PIO17 input, fraco pull down NC
10 PIO16 Entrada, puxar fraco para baixo NC
11 RST entrada, puxe para cima Pino de reinicialização do módulo, um nível baixo de reinicialização não inferior a 10 ms
12 VCC entrada Pino de alimentação, os requisitos de fonte de alimentação de 3,3 Vcc,
a corrente de alimentação não é inferior a 100mA
13 GND Chão
14 LEDCON entrada Pino de controle de LED (Nota 3)
15 PIO14

input, fraco pull down

NC
16 PIO13 saída Saída LED (Nota 1)
17 PIO11 input, fraco pull down NC
18 PIO12 input, fraco pull down O módulo mestre limpa a memória (Nota 2)
19 PIO10 input, fraco pull down NC
20 PIO07 entrada, puxar fraco para cima NC
21 USB_D- NC
22 USB_D + NC
23 PIO06 entrada, puxar fraco para cima NC
24 PIO01 entrada, puxar fraco para cima NC
25 PIO15 input, fraco pull down NC
26 PIO00 entrada, puxar fraco para cima
27 VCC entrada Pino de alimentação, os requisitos de fonte de alimentação de 3,3 Vcc,
a corrente de alimentação não é inferior a 100mA
28 GND Chão
29 RXD entrada, puxar fraco para cima Entrada UART, nível 3.3V TTL
30 TXD saída Saída UART, nível 3.3V TTL

Etapa 3: Nota 1:

PIO13 indica o pino de saída do LED, saída de alto nível. Conecte o LED com resistência em paralelo.

Antes da conexão:

Quando o módulo mestre não registra o endereço do módulo escravo, ele acenderá por 100 ms por segundo;

Quando o módulo mestre registrar o endereço do módulo escravo, ele acenderá por 900ms por segundo;

No módulo escravo, o LED acende por 1 segundo a cada 2 segundos.

Após a conexão: as luzes LED estão sempre acesas.

Nota 2:

Pino de entrada, pull-down interno. Este pino está conectado ao alto nível elétrico. O módulo mestre é usado para limpar o endereço registrado do módulo escravo.

Nota 3:

Pino de entrada, usado para controlar o LED. Se este pino estiver aterrado, LED apagado. Se este pino for deixado pendurado, LED aceso.

Etapa 4: Características elétricas:

Parâmetro Condição de teste Valor Representativo
Tensão de trabalho - DC2,0V ~ 3,6V
Mestre não conectado / conexão 21mA / 9mA
Corrente de Trabalho

MODE0, não conectado / conexão

8,5mA / 9mA
MODE1, não conectado / conexão 340μA / 1,6mA
(Não LED) Escravo
MODE2, não conectado / conexão 0,4μA / 1,6mA
MODE3, não conectado / conexão 1,2μA-160μA / 1,6mA

Etapa 5: Comando AT manual

O comando AT é usado para definir os parâmetros do módulo. Antes da conexão, o módulo pode operar sob o comando AT. Após a conexão, ele entra no modo de transmissão transparente da porta serial.

O tempo de inicialização deste módulo é de cerca de 150ms. Portanto, é melhor operar o comando AT após ter sido ligado por 200ms. Salvo indicação em contrário, a configuração do parâmetro do comando AT entra em vigor imediatamente. Ao mesmo tempo, a modificação de parâmetros e funções não será perdida após o desligamento.

Após a modificação bem-sucedida do comando AT, ele retorna uniformemente para OK (exceto para comandos de verificação de informações como "AT + RX, AT + VERSION"). Sem sucesso alcançado, não retornará a nenhuma informação.

⑴ Lista de Comando AT

Comando AT

Função

Predefinição

Função

("X" - parâmetro)

1 NO Comando de teste - EM
2 AT + RX Verifique os parâmetros básicos - EM
3 AT + PADRÃO Restaurar configuração de fábrica - EM
4 AT + RESET Reinicialize o módulo - EM
5 AT + VERSION Verifique a versão e a data - EM
6 AT + ROLE = x Alterar papel mestre / escravo S EM
7 AT + NAME = xxxxxxxxxxxx Revisar nome HC-08 EM
8 AT + ADDR = xxxxxxxxxxxx Revisar endereço Hardware EM
Morada
9 AT + RFPM = x Revise a potência de RF 0 (4dBm) EM
10 AT + BAUD = x, y Rever baud UART 9600, N EM
11 AT + CONT = x Definir conectividade 0 (pode ser EM
conectado)
12 AT + MODE = x Definir modo de trabalho 0 S
13 AT + AVDA = xxxxxxxxxxxx Altere os dados de transmissão - S
14 AT + TIME = x Ciclo de transmissão do modo 3 5 (s) S
O módulo mestre para limpar
15 AT + CLEAR o endereço do módulo escravo - M
foram gravados.

Observação:

1. O comando AT atrás de nenhuma nova linha; se não houver instruções especiais, todos os comandos AT não são transmitidos usando nova linha.

2. Os últimos 4 comandos seniores, devem ser usados em combinação, podem desempenhar seu devido papel BLE Bluetooth de baixa energia. Usando um Bluetooth de baixo consumo de energia, haverá instruções e programas especiais apresentados nas seções a seguir.

Etapa 6: Explicação do comando

1. Comando de teste

Comando: AT

Retorno: OK.

Verifique os parâmetros básicos

Visualize os parâmetros básicos, como nome do Bluetooth, função mestre / escravo, taxa de transmissão UART, endereço e senha.

Comando: AT + RX

Retornar:

Nome: HC-08 ------ >>> nome bluetooth

Função: Escravo ------ >>> função mestre / escravo

Baud: 9600, NONE ------ >>> Taxa de baud UART

Addr: xx, xx, xx, xx, xx, xx ------ >>> endereço bluetooth

PIN: 000000 ------ >>> senha bluetooth

Nota: Temporariamente não suporta alteração de senha!

  1. Restaurar ao padrão

    Comando: AT + DEFAULT

    Retorno: OK

    O módulo irá reiniciar automaticamente, execute uma nova operação no reinício 200ms!

  2. Reinicialize o módulo

    Comando: AT + RESET

    Retorno: OK

    O módulo será reiniciado automaticamente, execute uma nova operação no restart200ms!

    5. Verifique a versão e a data

    Comando: AT + VERSION

    Retorno: HC-08V2.0, 2014-08-22

    6. Alterar o conjunto de funções mestre / escravo

    comando: AT + ROLE = x Query

    comando: AT + ROLE =? X: função (M ou S), M: mestre; S: escravo. A configuração padrão é S (escravo).

    Enviar: AT + ROLE = M

    Retorno: OK

    Defina a função de mestre, o módulo será reiniciado automaticamente!

    Enviar: AT + ROLE =?

    Retorno: Mestre

    Você pode ver a função é o módulo mestre.

  3. Revisar o nome

    Definir comando: AT + NAME = xxxxxxxxxxxx

    Comando de consulta: AT + NAME =?

    O nome padrão é HC-08, você pode definir o outro nome (válido em 12 caracteres, suporta o código ASCII visualizado e parte do caractere de escape. O módulo suporta chinês, mas os dispositivos Android devem ser convertidos para "código UTF8" para exibir normalmente. Mais de 12 caracteres, então ele lerá apenas os primeiros 12 caracteres.). A configuração está completa, efetiva após a reinicialização automática do módulo!

    Exemplo:

    Enviar: AT + NAME = HCKJ

    Retorno: OKsetNAME

    Enviar: AT + NAME =?

    Retorno: HCKJ

    8. Revisar endereço

    Definir comando: AT + ADDR = xxxxxxxxxxxx

    Comando de consulta: AT + ADDR =?

    O endereço deve conter caracteres maiúsculos "0 ~ F" de 12 bits, ou seja, caracteres hexadecimais.

    Exemplo:

    Enviar: AT + ADDR = 1234567890AB

    Retorno: OKsetADDR

    A configuração está completa, efetiva após a reinicialização automática do módulo!

    Enviar: AT + ADDR =?

    Retorno: 1234567890AB

    Enviar: AT + ADDR = 000000000000

    Retorno: OKsetADDR

    Envie "000000000", módulo para restaurar o endereço de hardware padrão. O padrão de fábrica do módulo é o endereço de hardware.

    9. Revisar a potência de RF

    Definir comando: AT + RFPM = x

    Comando de consulta: AT + RFPM =?

    X: potência de RF, conforme mostrado na tabela a seguir:

    Parâmetro

    potência de RF

    ? Veja a potência de RF atual
    0 4dBm (padrão)
    1 0dBm
    2 -6dBm
    3 -23dBm

    Exemplo:

    Enviar: AT + RFPM = 2

    Retorno: OK

    Potência RF modificada -6dBm.

    Enviar: AT + RFPM =?

    Retorno: -6dBm

    A potência de RF é de -6dBm.

    Quando a corrente de pico é superior a 30mA (quando a potência RF é 4dBm) e a corrente das baterias de botão é pequena (abaixo de 20mA), se quisermos carregar com a bateria de botão, é melhor definir a potência de RF para -6dBm ou -23dBm.

    10. Revisar a taxa de transmissão UART

    Definir comando:

    AT + BAUD = x (Modificou apenas a taxa de transmissão UART)

    AT + BAUD = x, y (Modifique a taxa de transmissão UART e o bit de paridade)

    Comando de consulta: AT + BAUD =?

    x: taxa de transmissão UART, y: bit de paridade, conforme mostrado na tabela a seguir:

    Parâmetro

    Baud UART: x

    Parâmetro

    bit de paridade: y

    ? Veja a taxa de transmissão atual
    1200 1200bps N Sem paridade
    2400 2400bps E Paridade par
    4800 4800bps O Paridade ímpar
    9600 9600bps (padrão)
    19200 19200bps
    38400 38400bps
    57600 57600bps
    115200 115200bps

    Exemplo:

    Enviar: AT + BAUD = 19200

    Retorno: OK19200

    Taxa de transmissão UART modificada para 19200 bps.

    Enviar: AT + BAUD = 4800, E

    Retorno: OK4800, EVEN

    Taxa de transmissão UART modificada para 4800 bps e paridade uniforme.

    Enviar: AT + BAUD =?

    Retorno: 4800, EVEN

    Visualize a taxa de transmissão UART e o bit de paridade.

    Durante a transmissão transparente do módulo mestre e escravo, cada pacote com taxa de bauds de 9600bps não deve exceder o número máximo de 500 bytes. Para cada pacote com taxa de transmissão acima de 19200 bps, consulte a tabela a seguir. Entre os pacotes de dados, deve haver um determinado intervalo de tempo. A tabela a seguir é uma variedade de taxas de transmissão de comunicação, o valor de referência para o intervalo de tempo:

    taxa de transmissão (bps) 1200 2400 4800 9600 19200 38400 57600 115200
    Intervalo de tempo de 500 bytes (ms) 6800 3600 2000 1000
    Intervalo de tempo de 300 bytes (ms) 4200 2400 1200 600 400
    Intervalo de tempo de 100 bytes (ms) 1500 800 400 160 100 120
    Intervalo de tempo de 80 bytes (ms) 1000 650 320 120 80 60 100
    Intervalo de tempo de 60 bytes (ms) 800 500 250 100 60 60 60 100
    Intervalo de tempo de 20 bytes (ms) 200 100 50 20 20 20 20 20

    1. O acima é os dados medidos. A velocidade total teórica mais rápida do transceptor: 2500 bytes / seg, com a velocidade controlada dentro de 2.000 bytes / seg.

    2. Bytes de cada pacote deve ser um múltiplo inteiro de 20.

    3. O módulo envia dados de subcontratação automática em um múltiplo inteiro de 20 bytes. É usado para enviar um pacote de 100 bytes e receberá uma pluralidade de pacotes em outra extremidade. Cada pacote de dados é um múltiplo inteiro de 20 bytes. O número total de bytes é 100.

    11. Definir conectividade

    Definir comando: AT + CONT = x

    Comando de consulta: AT + CONT =?

    As funções do parâmetro X são as seguintes:

    Parâmetro Papel Mestre Papel de escravo
    Central Periférico
    0 Pode ser conectado, a conexão Pode ser conectado, a conexão
    (Predefinição) depois de entrar transparente comum depois de entrar transparente comum
    modo de transmissão modo de transmissão
    Observador Locutor de rádio
    O módulo não pode ser conectado Não conectado com a função de mestre,
    1 para outro equipamento, mas será mas pode ser combinado com baixo consumo de energia
    escaneie o HC-08 maticamente a partir do modo 3, a realização da transmissão
    pacote de broadcast datamachine, pacotes enviados.
    tempo de atualização fixo de 2 seg.

    Exemplo:

    Enviar: AT + CONT = 1

    Retorno: OK

    A configuração está completa, efetiva após a reinicialização automática do módulo!

    Enviar: AT + CONT =?

    Retorno: Não Conectável

    O comando pode ser usado com o comando "AT + MODE", "AT + AVDA" e "AT + TIME" com o uso de.

    Observação:

    1. O módulo mestre / escravo "CONT = 1" é usado principalmente para transmitir dados de transmissão. Enviando dados de broadcast do módulo escravo, o módulo mestre receberá os dados correspondentes por meio da saída serial.

    2. Este modelo é para o usuário pegar este pacote de dados de broadcast apenas por si mesmo. O protocolo de comunicação específico não é descrito aqui. Se você quiser saber, visite o seguinte site oficial para consulta:

    www.hc01.com/

Etapa 7: 12. Defina o modo de trabalho (apenas módulo escravo)

Definir comando: AT + MODE = x

Comando de consulta: AT + MODE =?

Comando Parâmetro Retornar Função
=? 0/1/2/3 Obtém o modo atual.
=0 Modo de energia total (padrão), LED aberto.
Modo de economia de energia de nível 1, LED fechado.
=1 Sem conexão, a corrente é 340μA, a conexão
velocidade como mode0.
Modo de economia de energia de nível 2, LED fechado.
=2 Sem conexão, a corrente é 0,4 μA.
AT + Não pode ser encontrado, não conectado para acordar
MODO OK antes, depois de despertar pode ser conectado.
Modo de economia de energia de nível 3, LED fechado.
Sem conexão, a corrente é de 1,2μA ~ 160μA (sobre

32μA padrão)

=3 Combinado com "AT + TIME" para definir a transmissão
tempo, assim para reduzir o consumo de energia.
O uso de métodos específicos, consulte o
Comando "AT + TIME".

Observação:

  • O Modo 3 é usado principalmente para:

    A. Usado para reduzir o consumo de energia.

    B. O módulo escravo envia os dados de transmissão para o módulo mestre, pode alcançar uma comunicação unilateral de um para muitos (teoricamente, pode ser de um módulo escravo para um módulo mestre infinito).

    C. Como alarme anti-perda, cartão de presença, medidor de frequência cardíaca ou outro dispositivo sem fio.

    2. Os modos 1/2/3 estão disponíveis por meio da porta UART para enviar dados de 1 byte para despertar, mas alguns bytes anteriores de dados podem ser distorcidos após a ativação. Portanto, recomendamos o envio de código hexadecimal de 10 bytes de "0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF" para despertar o módulo, evitando que vários bytes de dados frontais fiquem truncados. Desde então, os módulos funcionam no modo de velocidade total, a porta UART pode ser normal para enviar e receber dados.

    No estado desconectado, o módulo após ser despertado para o modo de velocidade total, que se mantém por 5 minutos, e depois retorna ao modo original. Contanto que 5 minutos no UART tenham recebido dados e, em seguida, retime.

    Se o módulo estiver no estado conectado, após despertar, ele permanecerá no modo de velocidade total. Antes da conexão, o módulo retornará ao modo de energia original.

    3. Além do modo0, o outro modo é fechar o LED. Porém, após a conexão, o LED acenderá.

    Exemplo: Enviar: AT + MODE =?

    Retorno: 0

    Veja o modo atual.

    Enviar: AT + MODE = 2

    Retorno: OK

    Modo de configuração 2, efetivo imediatamente.

  • Altere os dados de transmissão (Apenas módulo escravo)

    Comando: AT + AVDA = xxxxxxxxxxxx

    O parâmetro "xxxxxxxxxxxx" pode ser qualquer 1 ~ 12 bytes de dados do usuário. Se neste ponto o

    estado do módulo mestre de AT + CONT = 1, então a porta UART do módulo mestre produzirá os dados "xxxxxxxxxxxx". Os dados de transmissão não serão preservados permanentemente. Ele será excluído após a reinicialização.

    Exemplo:

    Envio de função de escravo: AT + AVDA = 1234567890AB

    Retorno: OK

    Se neste ponto o estado do módulo mestre de AT + CONT = 1, a porta UART produzirá: 12345 67890AB.

    14. Ciclo de transmissão do Modo 3 (Apenas escravos)

    Definir comando: AT + TIME = x

    Comando de consulta: AT + TIME =?

    O intervalo de configuração do parâmetro x é o seguinte:

    x 1 2 3 4 5 6 7 8 9 UMA B C D E F
    Tempo/ 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60
    s (predefinição)
    x F G H eu J K
    Tempo/ 1 2 5 10 30 60
    min

    Exemplo:

    Enviar: AT + TIME = F

    Retorno: OK

    Configurando o modo 3 do ciclo de transmissão por 60 segundos. A cada 60 segundos, envie uma transmissão de dados.

    Enviar: AT + TIME =?

    Retorno: 60s

    Solução de modo de baixa energia (módulo escravo):

    1. A necessidade de despertar sem fio:

    Insira "AT + MODE = 1" ou "AT + MODE = 3", o módulo entrará em modo de baixa energia até que o módulo mestre solicite a conexão. Após a conexão, a corrente é de 1,6mA. O módulo de troca de dados entrará automaticamente no modo de velocidade total antes de ser conectado, enquanto depois de conectado, ele retornará ao modo de baixo consumo de energia.

    2. Pode ativar o caso de conexão:

    Insira "AT + MODE = 2", ele entrará em um modo de baixo consumo de energia2. O módulo entrou no estado de sono profundo. Não pode ser descoberto pelo módulo mestre. Quando você se conecta, pode enviar dados arbitrários para despertar o módulo e, em seguida, ele pode enviar e receber dados uma vez conectado.

    Solução de modo de transmissão de baixa potência:

    A primeira função mestre definida: AT + CONT = 1 -> AT + ROLE = M

    E, em seguida, defina a função de escravo: AT + CONT = 1 -> AT + AVDA = 1234 (≦ dados de 12 bytes)

    O MCU do usuário envia um código hexadecimal de 10 bytes de "0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF" para o módulo da porta UART a fim de despertar o módulo para o modo de potência total. Neste ponto, os usuários podem definir razoavelmente de acordo com suas necessidades. O acima "AT + CONT = 1, AT + AVDA = xxxx, AT + MODE = 3, AT + TIME = 5" está definido para: "transmitir e não pode conectar". Os dados de transmissão são XXXX, modo3 (período de 5 segundos). De acordo com o exposto acima, a corrente média é inferior a 4 μA, o TEMPO será superior a 1 minuto. Quanto mais tempo, menor o consumo de energia.

    O usuário deseja transmitir dados com freqüência, proposto para entrar no modo 2 em tempo ocioso, precisa transmitir dados para mudar para o modo correspondente.

    15. O módulo mestre para limpar o endereço do módulo escravo foi gravado (Somente mestre)

    Definir comando: AT + CLEAR

    Comando de consulta: OK

    O módulo mestre, uma vez conectado ao módulo escravo, lembrará o endereço MAC do módulo escravo da última vez. Se quiser conectá-lo a outro módulo escravo, você deve remover a memória atual. A primeira forma é colocar o módulo de 18 pinos em nível elétrico alto de 200ms, a outra forma é usar o comando "AT + CLEAR".

Etapa 8: Esquema de Referência

Etapa 9: Fonte

Este artigo é de:

Se você tiver alguma dúvida, pode entrar em contato com : [email protected].

Recomendado: