ESP32 Bluetooth Classic gebruiken met Arduino IDE

Esp32 Bluetooth Classic Gebruiken Met Arduino Ide



ESP32 is een op microcontrollers gebaseerd bord dat wordt geleverd met Wi-Fi- en Bluetooth-ondersteuning. Het is een op IoT gebaseerd bord dat kan worden geïntegreerd met meerdere sensoren om instructies uit te voeren. ESP32-bord heeft een brede toepassing waar draadloze communicatie vereist is. Laten we bespreken hoe we ESP32 Bluetooth kunnen configureren en er informatie mee kunnen verzenden.

ESP32 Bluetooth Classic met Arduino IDE

Het ESP32-bord wordt geleverd met dubbele Bluetooth-ondersteuning, één is Bluetooth Classic en de tweede is BLE (Bluetooth Low Energy). Vandaag bespreken we alleen Bluetooth Classic. Het enige verschil dat tussen beide bestaat, is dat Bluetooth Classic veel gegevensoverdracht aankan, maar de batterij sneller verbruikt, maar Bluetooth Low Energy is een energiebesparende variant die wordt gebruikt voor communicatie op korte afstand. BLE blijft in de slaapstand totdat het wordt geïnitialiseerd voor gegevensoverdracht.







ESP32 Klassieke Bluetooth seriële communicatie

ESP32 Bluetooth-werking lijkt op de een of andere manier op Arduino, zoals we deden in Arduino, omdat een externe Bluetooth-sensor wordt gebruikt zoals HC-05. Zowel Arduino- als HC-05-sensoren communiceren via seriële communicatie. Hetzelfde is hier het geval met ESP32, maar het verschil is dat ESP32 wordt geleverd met ingebouwde Bluetooth-modules die eerst gegevens ontvangen en vervolgens doorsturen naar de Xtensa-processor.



Dus, om deze communicatie tot stand te brengen “ BluetoothSerial ”-bibliotheek wordt gebruikt die vergelijkbaar is met de seriële bibliotheek van Arduino, maar deze valt net binnen ESP32. Hieronder volgen enkele functies die worden aangeboden door de Bluetooth seriële bibliotheek:



  • beginnen()
  • verkrijgbaar()
  • schrijven()
  • lezen()

Bluetooth-gestuurde LED met behulp van ESP32

Laten we een eenvoudige code schrijven die een LED kan besturen met behulp van mobiele Bluetooth via draadloze Bluetooth-communicatie. Hieronder volgt de hardware die nodig is om de LED te bedienen met behulp van Bluetooth seriële communicatie:





  • ESP32
  • LED
  • Breadboard
  • Android-apparaat
  • Seriële Bluetooth-terminaltoepassing

Circuit

Verbind LED op digitale pin 15 van ESP32 met negatieve terminal aangesloten op GND van ESP32-kaart. Voor een veilige stroomlimiet kunnen we ook de weerstand (220 ohm) ertussen aansluiten:

Code

Open Arduino IDE en selecteer het ESP32-bord in de Board Manager om te zien hoe je het ESP32-bord in Arduino IDE installeert. Klik op hier . Schrijf na het selecteren van het bord de onderstaande code in het editorvenster:



#include   /*Bluetooth seriële communicatiebibliotheek*/

#define LED_PIN 15  /*led-pin geïnitialiseerd*/

Bluetooth Serieel SerieelBT;

byte BT_INP;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)/*Controleer op bluetooth in SDK*/

#error Bluetooth uit - Voer `make menuconfig` uit om het in te schakelen

#stop als

ongeldige setup ( )

{

 pinModus ( LED_PIN, UITGANG ) ; /* led pin set net zo uitvoer */
Serieel.begin ( 115200 ) ; /* baudrate voor seriële communicatie */
SerialBT.begin ( ) ; /* Bluetooth-communicatie begint */
Serial.println ( 'Bluetooth is klaar om te koppelen...' ) ; /* wanneer Bluetooth wordt ingeschakeld */
}
lege lus ( )
{
als ( SerialBT.beschikbaar ( ) ) /* controleren voor Beschikbaarheid van Bluetooth-gegevens */
{
BT_INP = SerieelBT.lezen ( ) ; /* lezen Bluetooth-gegevens van apparaat */
Serieel.schrijven ( BT_INP ) ; /* print de lezen gegevens */
}
als ( BT_INP == '1' ) /* als voorwaarde voor geleide staat */
{
digitaalSchrijven ( LED_PIN, HOOG ) ; /* led aanzetten als 1 invoer is ontvangen */
}
als ( BT_INP == '0' )
{
digitaalSchrijven ( LED_PIN, LAAG ) ; /* led uitzetten als 0 invoer is ontvangen */
}

}

Hier in de bovenstaande code zijn we begonnen met het opnemen van de Bluetooth seriële bibliotheek voor ESP32. Vervolgens hebben we Bluetooth seriële bibliotheekfuncties toegevoegd die de ESP32 Bluetooth mogelijk maken.

Volgende LED-pin 15 wordt geïnitialiseerd en gebruikt de pinMode() functie LED pin is ingesteld als uitgang.

In een lus van de code controleert het programma op seriële Bluetooth-gegevensbeschikbaarheid. Als de invoergegevens 1 zijn, gaat de LED AAN en als de ontvangen gegevens 0 zijn, gaat de LED uit.

Zodra de code is geüpload. Bluetooth van het ESP32-bord wordt ingeschakeld en het volgende bericht verschijnt op de seriële monitor.

Seriële Bluetooth-terminal installeren

We hebben een Bluetooth-apparaat nodig dat instructies naar ESP32 kan sturen, dus we zullen een Android-smartphone gebruiken om het te koppelen met ESP32 Bluetooth. Eerst moeten we een seriële terminal in een Android-telefoon installeren. Volg de onderstaande stappen om een ​​Android-telefoon te koppelen met ESP32:

Stap 1 : Open Google Play Store op uw smartphone en zoek Seriële Bluetooth-terminal . Installeer de hieronder getoonde applicatie:

Stap 2 : Na het installeren van de Bluetooth-instellingen van de mobiele telefoon. Zoek naar ESP32 Bluetooth en klik om het te koppelen met uw smartphone door te klikken op Paar :

Stap 3 : Na het tikken op a Paar , zal de mobiele telefoon beginnen te koppelen met ESP32 Bluetooth:

Stap 4 : Open nu de Seriële Bluetooth Terminal-applicatie en ga naar Apparaten in het zijmenu:

Stap 5 : Zodra de apparaatoptie is geopend, zal deze om enkele machtigingen vragen of op de VERFRISSEN knop in de rechterbovenhoek:

Stap 6 : Volgende pop-up zal komen, klik op Instellingen en sta de toestemming toe die het vraagt:

Stap 7 : Nu is het ESP32-bord klaar om instructies via Bluetooth op te nemen. Selecteer onder Bluetooth Classic-optie ESP32-kaart:

Stap 8 : Zodra ESP32 is geselecteerd, begint het verbinding te maken en indien succesvol, a Verbonden bericht zal verschijnen.

Stap 9 : Nu kunnen we elke instructie verzenden door deze hier te typen. Typ 1 en klik op de verzendknop, LED op ESP32 bord gaat aan. Evenzo zal door het typen van 0 LED UIT gaan.

Op dezelfde manier kunnen we de uitvoer op de seriële monitor van de Arduino IDE zien wat deze ontvangt:

Uitgang:

LED gaat AAN na het verzenden van 1:

LED gaat UIT na het verzenden van 0:

Opmerking : We kunnen ook knoppen configureren voor specifieke instructies, zoals weergegeven in onderstaande afbeelding. Klik hiervoor op de knoppen en stel de gewenste waarde in. Hier hebben we twee knoppen ingesteld, één voor HOOG en één voor LAAG. U kunt deze sneltoetsen ook configureren in hexadecimale waarden.

Conclusie

ESP32-kaarten hebben wifi aan boord en dubbele Bluetooth-ondersteuning met Classic Bluetooth en Low Energy Bluetooth. Classic wordt gebruikt voor hoge gegevensoverdracht, terwijl BLE (Bluetooth Low Energy) wordt gebruikt voor korte afstanden met minder stroomverbruik. Dit artikel behandelt de klassieke Bluetooth-gegevensoverdracht en geeft een idee van hoe Bluetooth-communicatie wordt uitgevoerd met behulp van het ESP32-bord.