Pular para o conteúdo principal

Grove BLE v1

Grove - BLE v1 (Grove - Bluetooth Low Energy v1) usa um módulo Bluetooth de baixo consumo -- HM-11, baseado no chip TI CC2540, que tem suporte a comandos AT. Como um produto Grove, é conveniente usar o Grove - BLE com uma placa Arduino via Base Shield.

Parâmetros

EspecificaçõesNome
Versão BTBluetooth Specification V4.0 BLE
Frequência de trabalhoBanda ISM de 2,4GHz
Método de modulaçãoGFSK(Gaussian Frequency Shift Keying)
Potência de RF-23dbm, -6dbm, 0dbm, 6dbm, pode ser modificada via comando AT AT+POWE
VelocidadeAssíncrona: 6K Bytes, Síncrona: 6K Bytes
Sensibilidade≤-84dBm a 0,1% BER
SegurançaAutenticação e criptografia
ServiçoCentral & Peripheral UUID FFE0,FFE1
Tensão de alimentação3.3v - 5v
Temperatura de trabalho–5 ~ +65 graus Celsius
Tamanho40cm x 20cm
Corrente de trabalho< 10 mA
Corrente de fornecimento< 20 mA
Corrente em modo de espera< 1 mA
nota

A tensão de alimentação do HM-11 é 3.3v, mas o Grove - BLE é 3.3V a 5V.

dica

Para mais detalhes sobre módulos Grove, consulte o Grove System

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Pinout

O conector Grove tem quatro fios: GND, VCC, RX, TX.

Características do Projeto

Usamos o chip TD6810 como regulador de tensão, então a faixa da tensão de alimentação pode ser de 3.3v a 5v. Além disso, há um circuito de mudança de nível que garante a precisão da transmissão de dados.

Comandos AT

1)Consultar endereço do módulo

Enviar: AT+ADDR?

Receber:OK+LADD:address

2) Consultar taxa de baud

Enviar:AT+BAUD?

Receber:OK+Get:[para1]

Faixa: 0~8; 0--9600,1--19200,2--38400,3--57600,4--115200,5--4800,6--2400,7--1200,8--230400

Padrão: 0--9600.

Configurar taxa de baud

Enviar:AT+BAUD[para1]

Receber:OK+Set:[para1]

Ex.:Enviar :AT+BAUD1 ,Receber:OK+Set:1. A taxa de baud foi configurada para 19200

nota

Se configurar para o valor 7, após a próxima energização, o módulo não aceitará nenhum comando AT até que PIO0 seja pressionado; então o módulo mudará a taxa de baud para 9600.

3) Tentar conectar a um endereço

Enviar:AT+CON[para1]

Receber:OK+CONN[para2]

Faixa :A,E,F

Ex.:Tentar conectar a um dispositivo cujo endereço MAC é 00:17:EA:09:09:09

Enviar: AT+CON0017EA090909

Pode receber uma resposta: OK+CONNA --> Aceitou a solicitação, conectando ; OK+CONNE --> Erro de conexão ; OK+CONN --> Conectado, se AT+NOTI1 estiver configurado ; OK+CONNF --> Falha na conexão, após 10 segundos

nota

Apenas o papel central é usado. Se o dispositivo remoto já estiver conectado a outro dispositivo ou desligado, “OK+CONNF” será recebido depois de cerca de 10 segundos.

4) Limpar endereço do último dispositivo conectado

Enviar:AT+CLEAR

Receber:OK+CLEAR

5) Consultar modo de trabalho do módulo

Enviar:AT+MODE?

Receber:OK+Get:[para]

Faixa: 0~2;

0--Modo de transmissão, 1--Modo de coleta PIO + Modo 0, 2--Modo de controle remoto + Modo 0 .

Padrão: 0

Configurar modo de trabalho do módulo

Enviar:AT+MODE[]

Receber:OK+Set:[para]

6) Consultar nome do módulo

Enviar:AT+NAME?

Receber:OK+NAME[para1]

Configurar nome do módulo

Enviar:AT+NAME[para1]

Receber:OK+Set:[para1]

Ex.:Enviar: AT+NAMESeeed, Receber : OK+Set:Seeed

nota

O nome será alterado após a próxima energização.

7) Consultar código PIN

Enviar:AT+PASS?

Receber:OK+PASS:[para1]

Faixa : 000000~999999.

Padrão : 000000.

Configurar código PIN

Enviar: AT+PASS[para1]

Receber:OK+Set:[para1]

8) Restaurar todos os valores de configuração para os de fábrica

Enviar:AT+RENEW

Receber:OK+RENEW

9) Reiniciar módulo

Enviar:AT+RESET

Receber:OK+RESET

10)Consultar função de Mestre e Escravo

Enviar:AT+ROLE[para1]

Receber:OK+Set:[para1]

Faixa : 0~1;

0--Peripheral : 1--Central : Padrão: 0.

Para mais comandos AT, consulte o Datasheet do módulo BLE.

Comunicação SoftwareSerial

O Grove - BLE pode ser usado como mestre ou escravo, você pode usar qualquer um deles por meio de diferentes demos.Se você for usar o seguinte programa SoftwareSerial, consulte a forma de conexão na imagem anterior. TX-->D2, RX-->D3.

Abra o Arduino IDE, copie o programa a seguir e faça o upload para a placa Arduino/Seeeduino. Em seguida, dois módulos BLE podem se comunicar entre si.

Demo : BLE Escravo

    #include <SoftwareSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3

#define DEBUG_ENABLED 1

SoftwareSerial BLE(RxD,TxD);

void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();

}

void loop()
{
char recvChar;
while(1){
if(BLE.available()){//check if there's any data sent from the remote BLE
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}

void setupBleConnection()
{
BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
BLE.print("AT+CLEAR"); //clear all previous setting
BLE.print("AT+ROLE0"); //set the bluetooth name as a slaver
BLE.print("AT+SAVE1"); //don't save the connect information
}

Demo : BLE Mestre

    #include <SoftwareSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3

#define DEBUG_ENABLED 1

SoftwareSerial BLE(RxD,TxD);

void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();

}

void loop()
{
char recvChar;
while(1){
if(BLE.available()){//check if there's any data sent from the remote BLE
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}

void setupBleConnection()
{
BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
BLE.print("AT+CLEAR"); //clear all previous setting
BLE.print("AT+ROLE1"); //set the bluetooth name as a master
BLE.print("AT+SAVE1"); //don't save the connect information
}

Visualizador de Esquemático Online

Recursos

Suporte Técnico & 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 a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...