Tutorial ESP32 37/55 - Usando o App Bluetooth com ESP32 BLE | Kit de Aprendizado de IoT da SunFounder

Tutorial ESP32 37/55 - Usando o App Bluetooth com ESP32 BLE | Kit de Aprendizado de IoT da SunFounder

Neste tutorial, exploraremos como usar o ESP32 como um servidor Bluetooth para enviar e receber mensagens de um aplicativo móvel. Isso permite uma comunicação interativa entre sua placa ESP32 e seu dispositivo móvel, tornando-o uma adição versátil aos seus projetos de IoT. Ao final desta lição, você será capaz de enviar texto do seu dispositivo móvel para o ESP32 e vê-lo exibido no monitor serial.

bluetooth_azulclaro

Utilizaremos o aplicativo LightBlue Explorer, disponível tanto para iOS quanto para Android, para nos comunicarmos com o ESP32. Este tutorial é fundamental para entender a comunicação Bluetooth Low Energy (BLE) e prepara o terreno para projetos mais avançados. Para um guia visual, consulte o vídeo em (no vídeo às 02:00).

Hardware Explicado

O componente principal deste projeto é o microcontrolador ESP32, que integra tanto as capacidades de Wi-Fi quanto de Bluetooth. Isso permite que o ESP32 atue como um servidor, recebendo e enviando dados sem fio. A funcionalidade Bluetooth embutida do ESP32 suporta BLE, tornando-o eficiente para aplicações de baixo consumo de energia.

Além do ESP32, usaremos um dispositivo móvel com o aplicativo LightBlue instalado. Esse aplicativo permite que os usuários se conectem ao ESP32 e enviem dados via Bluetooth. A integração desses componentes permite uma comunicação sem interrupções entre o ESP32 e os dispositivos móveis, aprimorando a interação do usuário.

Detalhes da Ficha Técnica

Fabricante Espressif Systems
Número da peça ESP32-WROOM-32
Tensão de lógica/IO 3,3 V
Tensão de alimentação 3.0 - 3.6 V
Corrente de saída (por canal) 40 mA
Corrente de pico (por canal) 160 mA
Orientação sobre a frequência PWM 1 kHz
Limiares de lógica de entrada 0,2 VCC (baixo), 0,8 VCC (alto)
Queda de tensão / RDS(on)/ saturação 0,1 V
Limites térmicos 125 °C
Pacote QFN48
Notas / variantes ESP32-WROOM-32, ESP32-WROVER

  • Garanta um fornecimento de energia estável (3,3 V) para evitar quedas de tensão.
  • Use capacitores para desacoplamento perto dos pinos de alimentação.
  • Mantenha a dissipação de calor adequada se estiver usando alta corrente.
  • Tenha cuidado com os níveis de voltagem dos pinos GPIO; eles são tolerantes a 3,3 V.
  • Utilize resistores de pull-up ou pull-down conforme necessário para configurações de GPIO.
  • Monitore as conexões BLE; certifique-se de que o aplicativo está devidamente emparelhado.
  • Verifique se os UUIDs para serviços e características são exclusivos.
  • Verifique regularmente o monitor serial em busca de mensagens de depuração.
  • Considere usar um analisador lógico para solucionar problemas de sinais complexos.

Instruções de Fiação

A fiação para este projeto é simples, uma vez que o ESP32 conecta-se principalmente via USB para alimentação e programação. Conecte o ESP32 ao seu computador usando um cabo micro USB. Certifique-se de que a porta USB está fornecendo energia suficiente (tipicamente 5 V). O monitor serial será utilizado para depuração, portanto, nenhuma conexão de hardware adicional é necessária para esta aplicação.

Ao usar o ESP32 com componentes externos em projetos futuros, lembre-se de conectar os pinos de terra a uma terra comum. Isso garante que o ESP32 e quaisquer sensores ou módulos conectados compartilhem o mesmo ponto de referência. Além disso, se você estiver usando uma bateria, conecte o terminal positivo ao pino de 3,3 V e o terminal negativo a um pino de terra no ESP32.

Exemplos de Código e Passo a Passo

O código fornecido inicializa o servidor Bluetooth, configura os serviços e características necessárias e lida com mensagens recebidas. Identificadores-chave incluembleName, que define o nome do dispositivo Bluetooth, ereceivedText, que armazena a mensagem recebida do aplicativo móvel.

const char *bleName = "ESP32_Bluetooth";
String receivedText = "";

Osetup()A função inicializa a comunicação serial e a configuração do BLE. Isso é crucial para estabelecer uma conexão com o aplicativo LightBlue.

void setup() {
  Serial.begin(115200);  // Initialize the serial port
  setupBLE();            // Initialize the Bluetooth BLE
}

Dentro doloop()função, o código verifica mensagens recebidas. Se uma nova mensagem for recebida, ela é exibida no monitor serial e uma notificação é enviada para o dispositivo BLE conectado.

if (receivedText.length() > 0 && millis() - lastMessageTime > 1000) {
    Serial.print("Received message: ");
    Serial.println(receivedText);
    pCharacteristic->setValue(receivedText.c_str());
    pCharacteristic->notify();
    receivedText = "";
}

Para uma compreensão completa, consulte o código completo que carrega abaixo do artigo. Isso fornecerá todos os detalhes necessários para implementar o projeto com sucesso.

Demonstração / O Que Esperar

Após a implementação bem-sucedida, você deverá ser capaz de enviar mensagens do aplicativo LightBlue para o ESP32. À medida que você digita uma mensagem, como "Olá", ela aparecerá no monitor serial. Além disso, você pode enviar mensagens de volta para o aplicativo, confirmando a comunicação bidirecional. Se você encontrar problemas, como mensagens não aparecendo, certifique-se de que o ESP32 está corretamente emparelhado com o aplicativo e que os UUIDs correspondem.

Marcações de Vídeo

  • 00:00 Início
  • 2:10 Introdução ao projeto
  • 2:45 Página de documentação
  • 4:04 código Arduino
  • 6:31 Instalando o aplicativo Bluetooth
  • 7:12 Selecionando placa ESP32 e porta COM
  • 8:54 Demonstração do projeto

Imagens

bluetooth_lightblue
bluetooth_lightblue
838-ESP32 Tutorial 37/55- Arduino code for Bluetooth app test
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.