Tutoriale ESP32 37/55 - Utilizzo dell'app Bluetooth con ESP32 BLE | Kit di apprendimento IoT ESP32 di SunFounder

Tutoriale ESP32 37/55 - Utilizzo dell'app Bluetooth con ESP32 BLE | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, esploreremo come utilizzare l'ESP32 come server Bluetooth per inviare e ricevere messaggi da un'app mobile. Questo consente una comunicazione interattiva tra la scheda ESP32 e il tuo dispositivo mobile, rendendolo un'aggiunta versatile ai tuoi progetti IoT. Al termine di questa lezione, sarai in grado di inviare testo dal tuo dispositivo mobile all'ESP32 e vederlo visualizzato sul monitor seriale.

bluetooth_lightblue

Utilizzeremo l'app LightBlue Explorer, disponibile sia su iOS che su Android, per comunicare con l'ESP32. Questo tutorial è fondamentale per comprendere la comunicazione Bluetooth Low Energy (BLE) e prepara il terreno per progetti più avanzati. Per una guida visiva, si prega di fare riferimento al video (nel video alle 02:00).

Hardware spiegato

Il componente principale di questo progetto è il microcontrollore ESP32, che integra sia le capacità Wi-Fi che Bluetooth. Questo consente all'ESP32 di fungere da server, ricevendo e inviando dati in modalità wireless. La funzionalità Bluetooth integrata dell'ESP32 supporta il BLE, rendendolo efficiente per applicazioni a bassa potenza.

In aggiunta all'ESP32, utilizzeremo un dispositivo mobile con l'app LightBlue installata. Questa app consente agli utenti di connettersi all'ESP32 e inviare dati tramite Bluetooth. L'integrazione di questi componenti consente una comunicazione fluida tra l'ESP32 e i dispositivi mobili, migliorando l'interazione con l'utente.

Dettagli del datasheet

Produttore Espressif Systems
Numero parte ESP32-WROOM-32
Tensione logica/IO 3,3 V
Tensione di alimentazione 3.0 - 3.6 V
Corrente di uscita (per canale) 40 mA
Corrente di picco (per canale) 160 mA
Guida sulla frequenza PWM 1 kHz
Soglie logiche di ingresso 0,2 VCC (basso), 0,8 VCC (alto)
Caduta di tensione / RDS(on)/ saturazione 0,1 V
Limiti termici 125 °C
Pacchetto QFN48
Note / varianti ESP32-WROOM-32, ESP32-WROVER

  • Assicurati di fornire un'alimentazione stabile (3,3 V) per prevenire i cali di tensione.
  • Utilizzare condensatori per il disaccoppiamento vicino ai pin di alimentazione.
  • Mantenere una corretta dissipazione del calore se si utilizza un'alta corrente.
  • Fai attenzione ai livelli di tensione dei pin GPIO; sono tolleranti a 3,3 V.
  • Utilizzare resistori pull-up o pull-down secondo necessità per le configurazioni GPIO.
  • Monitora le connessioni BLE; assicurati che l'app sia correttamente accoppiata.
  • Verifica che gli UUID per i servizi e le caratteristiche siano unici.
  • Controlla regolarmente il monitor seriale per i messaggi di debug.
  • Considera l'uso di un analizzatore logico per la risoluzione di problemi di segnali complessi.

Istruzioni di cablaggio

Il cablaggio per questo progetto è semplice poiché l'ESP32 si collega principalmente tramite USB per alimentazione e programmazione. Collega l'ESP32 al tuo computer utilizzando un cavo micro USB. Assicurati che la porta USB fornisca energia sufficiente (tipicamente 5 V). Il monitor seriale sarà utilizzato per il debugging, quindi non sono necessarie ulteriori connessioni hardware per questa applicazione.

Quando usi l'ESP32 con componenti esterni in progetti futuri, ricorda di collegare i pin di terra a una massa comune. Questo garantisce che l'ESP32 e qualsiasi sensore o modulo collegato condividano lo stesso punto di riferimento. Inoltre, se stai usando una batteria, collega il terminale positivo al pin da 3,3 V e il terminale negativo a un pin di terra sull'ESP32.

Esempi di codice e guida passo-passo

Il codice fornito inizializza il server Bluetooth, imposta i servizi e le caratteristiche necessari e gestisce i messaggi in arrivo. Gli identificatori chiave includonobleName, che definisce il nome del dispositivo Bluetooth, ereceivedText, che memorizza il messaggio in arrivo dall'app mobile.

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

Thesetup()La funzione inizializza la comunicazione seriale e la configurazione BLE. Questo è fondamentale per stabilire una connessione con l'app LightBlue.

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

Dentro illoop()La funzione controlla i messaggi in arrivo. Se viene ricevuto un nuovo messaggio, viene stampato sul monitor seriale e viene inviata una notifica al dispositivo BLE connesso.

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

Per una comprensione completa, fare riferimento al codice completo che si trova sotto l'articolo. Questo ti fornirà tutti i dettagli necessari per implementare con successo il progetto.

Dimostrazione / Cosa Aspettarsi

Dopo un'implementazione riuscita, dovresti essere in grado di inviare messaggi dall'app LightBlue all'ESP32. Mentre digiti un messaggio, come "Ciao," apparirà sul monitor seriale. Inoltre, puoi inviare messaggi di ritorno all'app, confermando la comunicazione bidirezionale. Se riscontri problemi come messaggi che non appaiono, assicurati che l'ESP32 sia correttamente accoppiato con l'app e che i UUID corrispondano.

Timestamp video

  • 00:00 Inizio
  • 2:10 Introduzione al progetto
  • 2:45 Pagina di documentazione
  • 4:04 Codice Arduino
  • 6:31 Installazione dell'app Bluetooth
  • 7:12 Selezionando la scheda ESP32 e la porta COM
  • 8:54 Dimostrazione del progetto

Immagini

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

Risorse e riferimenti

File📁

Nessun file disponibile.