ESP32 seadistamine ja programmeerimine Android-nutitelefoniga Bluetoothi ​​kaudu suhtlemiseks

Esp32 Seadistamine Ja Programmeerimine Android Nutitelefoniga Bluetoothi Kaudu Suhtlemiseks



ESP32 on paljude võimalustega mikrokontrolleri plaat. Sellel on sisseehitatud Wi-Fi ja Bluetooth moodulid. Mõlemat moodulit kasutades saate ESP32 juhtmevabalt programmeerida. Tänu sellele ei pea te ESP32 välisseadmete juhtimiseks muretsema pikajuhtmeliste ühenduste pärast.

Selles artiklis ühendame ESP32 plaadi Android-telefoniga ja edastame andmeid Bluetoothi ​​kaudu. Lisaks juhime ESP32 GPIO tihvtidega ühendatud LED-i otse Androidi nutitelefoni kaudu.

Sisu:







Mis on ESP32 Bluetooth LE

ESP32 on mikrokontrolleri plaat, mis toetab nii Bluetooth Classic kui ka Bluetooth Low Energy, tuntud ka kui nutikas Bluetooth. BLE ehk nutikas Bluetooth on spetsiaalne energiasäästlikuks suhtluseks või mõeldud lähisideks või väikeseks andmeedastuseks.



ESP32 BLE-funktsioon võimaldab tal töötada Bluetoothi ​​sides serveri või kliendina. See saab hakkama selliste ülesannetega nagu lugemis- ja kirjutamisteenused. Samuti saab see krüptida ühendusi ja luua SPP-ühendusi andmeedastuseks UART-BLE läbipääsurežiimis. ESP32 Bluetooth toetab 4.2 protokolle, mis tähendab, et see ühildub erinevate kihtidega, nagu füüsiline kiht (PHY) ja lingikiht (LL). Sellel on muu hulgas ka Host Controller Interface (HCI) tugi.



Kontrollige ESP32 Classic ja BLE Bluetoothi ​​erinevuste tabelit.





Tunnusjoon Klassikaline Bluetooth Madala energiatarbega Bluetooth (BLE)
Kommunikatsiooni tüüp Püsiv kahepoolne suhtlus Katkendlikud, peamiselt ühesuunalised andmepursked
Tööulatus Võib ulatuda kuni 100 meetrini Tavaliselt töötab see alla 100 meetri
Energiakasutus Tarbib kuni 1 vatti See on vahemikus 10 millivatti kuni 500 millivatti
Ülekande kiirus Andmeedastuskiirus varieerub vahemikus 1 kuni 3 megabitti sekundis Toetab 125 kilobitti sekundis kuni 2 megabitti sekundis
Reaktsiooniaeg Latentsus umbes 100 millisekundit Kiire reageerimine 6 millisekundilise latentsusega
Häältugi Varustatud hääleedastusega Puudub kõne edastamise funktsioon

Vaadake neid ESP32 Bluetoothi ​​artikleid, et sellest rohkem teada saada.

ESP32 programmeerimine Bluetoothi ​​kaudu Android-nutitelefoniga suhtlemiseks

ESP32 programmeerimiseks, et see saaks Bluetooth-protokolli kasutades Android-telefoniga suhelda, peate seadistama ESP32 Bluetoothi ​​jadateegi. Selleks peab teil olema Arduino IDE seadistus koos ESP32 plaadiga.



Pärast ESP32 Bluetoothi ​​seadistamist peate installima Bluetoothi ​​Androidi jadarakenduse. See võimaldab teil saata juhiseid Android-telefonist ESP32-le, kasutades Bluetoothi ​​jadasidet.

Vaatame kõiki neid samme lähemalt:

ESP32 Bluetoothi ​​ühendamise sammud Android-telefoniga

ESP32 plaadi programmeerimiseks Bluetooth-side jaoks toimige järgmiselt.

1. samm: ESP32 plaadi installimine Arduino IDE-sse

ESP32 installimiseks Arduino IDE-le järgige lihtsalt selles artiklis esitatud juhendit.

ESP32 plaadi installimine Arduino IDE-sse

Pärast paigaldamist saab ESP32 plaadi ühendada ja programmeerida Arduino IDE abil.

2. samm: laadige üles ESP32 Bluetoothi ​​kood

Kui ESP32 plaat on installitud, näete Arduino IDE-s erinevaid eelinstallitud teeke ja nende näiteid. Kõik need raamatukogud on seotud ESP32 tahvliga. Bluetoothi ​​jadaside jaoks kasutame ESP32 BluetoothSerial.h raamatukogu näidiskood.

Näidiskoodi avamiseks avage Arduino IDE ja minge aadressile: Fail > Näited > BluetoothSerial > SerialtoSerialBT

Selle näidiskoodi avamiseks veenduge, et valitud on ESP32 plaat.

Pärast näidiskoodi avamist näete oma Arduino IDE aknas järgmist koodi:

//Tere tulemast Linuxhinti

#include 'BluetoothSerial.h'

//#define USE_PIN // Tühista see kommentaar, kui soovid sidumise ajal PIN-koodi
konst char * pin = '1234' ; // Kohandatud sidumise PIN-koodi määramine

String seadme_nimi = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth pole lubatud! Selle lubamiseks käivitage käsk 'make menuconfig'.
#endif

#if !defined(CONFIG_BT_SPP_ENABLED)
#error Jada Bluetooth puudub või pole lubatud. See on saadaval ainult ESP32 kiibile.
#endif

Bluetooth Serial SerialBT ;

tühine seadistamine ( ) {
Sari. alustada ( 115 200 ) ;
SerialBT. alustada ( seadme nimi ) ; //Bluetoothi ​​seadme nimi
Sari. printf ( 'Seade ' % s 'käivitatakse. \n Alustage oma seadme sidumist! \n ' , seadme nimi. c_str ( ) ) ;
//Serial.printf('Seade '%s' MAC-aadressiga %s on käivitatud.\nAlusta selle sidumist Bluetoothiga!\n', seadme_nimi.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
Sari. println ( 'PIN-koodi kasutamine' ) ;
#endif
}

tühine silmus ( ) {
kui ( Sari. saadaval ( ) ) {
SerialBT. kirjutada ( Sari. lugeda ( ) ) ;
}
kui ( SerialBT. saadaval ( ) ) {
Sari. kirjutada ( SerialBT. lugeda ( ) ) ;
}
viivitus ( kakskümmend ) ;
}

Pärast koodi üleslaadimist näete ekraanil järgmist teadet. See teade kirjeldab, et teie ESP32 plaat on sidumiseks valmis.

3. samm: koodi selgitus

Kood algas vajalike teekide lisamisega ja Bluetoothi ​​saadavuse kontrollimisega. Samuti seadistab see Bluetoothi ​​seadme nime ja PIN-koodi muutujad.

Aastal setup() funktsiooni, määratletakse jadaedaside ja Bluetooth-seade lähtestatakse selle nimega. Sidumisel saab autentimiseks määrata kohandatud PIN-koodi.

The loop () funktsioon kontrollib pidevalt jada- ja Bluetooth-ühenduste andmeid. See võimaldab luua kahesuunalise side ESP32 ja seotud Bluetooth-seadme vahel.

4. toiming: installige Androidi rakendus

Kui kood on üles laaditud, on järgmine samm Androidi rakenduse installimine ja konfigureerimine Bluetooth-ühenduse jaoks.

Avage Play pood ja installige Bluetoothi ​​jadaterminal rakendus.

Pärast installimist avage nutitelefoni Bluetoothi ​​seaded ja ühendage telefon ESP32 Bluetoothiga. Kui olete Arduino IDE koodis määranud PIN-koodi, peate PIN-koodi sisestama, muidu ühendub see otse.

Nüüd avage rakendus Serial Bluetooth ja valige Seadmed valik.

Valige äsja avatud menüüst ESP32 seade. See loend näitab kõiki hetkel aktiivseid Bluetooth-seadmeid.

Nagu näete, on ESP32 Bluetooth ühendatud teie Androidi nutitelefoniga.

Ühenduse testimiseks saadame stringi. Siin olen saatnud kaks erinevat stringi.

Märkate, et samad kaks stringi kuvatakse ka Arduino IDE terminalis.

Liigume nüüd sammu edasi ja juhime välist välisseadet, näiteks LED-i, kasutades Android-nutitelefoni ESP32 Bluetoothi.

5. samm: juhtige LED-i Android-telefoni abil Bluetoothi ​​kaudu

LED-i juhtimiseks ESP32 ja Android Bluetoothi ​​abil muutke esmalt ülaltoodud koodi ja määrake LED-i jaoks GPIO-viik. Pärast seda peate määrama LED-i sisse- ja väljalülitamise väärtused.

Edasiseks jätkamiseks laadige üles allolev kood.

#include // Kaasake Bluetoothi ​​jadakommunikatsiooni raamatukogu

#define LED_PIN 15 // Määratlege LED-i viik

Bluetooth Serial SerialBT ; // Looge BluetoothSerial objekt
bait BT_INP ; // Muutuja Bluetoothi ​​sisendi salvestamiseks

// Kontrollige, kas Bluetooth ja Bluedroid on SDK konfiguratsioonis lubatud
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth pole lubatud. Selle lubamiseks käivitage käsk 'make menuconfig'.
#endif

tühine seadistamine ( ) {
pinMode ( LED_PIN , VÄLJUND ) ; // Seadistage LED-i viik väljundiks
Sari. alustada ( 115 200 ) ;
SerialBT. alustada ( 'ESP32' ) ; // Initsialiseerige Bluetooth nimega 'ESP32'
Sari. println ( 'Bluetoothi ​​seade on sidumiseks valmis.' ) ; // Näitab, et Bluetooth on valmis
}

tühine silmus ( ) {
// Kontrollige, kas Bluetoothist lugemiseks on andmeid
kui ( SerialBT. saadaval ( ) ) {
BT_INP = SerialBT. lugeda ( ) ; // Lugege Bluetoothist sissetulevat baiti
Sari. kirjutada ( BT_INP ) ; // Lugemisbaidi kajamine jadamonitorile
}

// Kontrollige vastuvõetud Bluetoothi ​​andmeid ja määrake LED-i olek
kui ( BT_INP == '1' ) {
digitalWrite ( LED_PIN , KÕRGE ) ; // Lülitage LED sisse, kui vastu võetakse '1'
} muidu kui ( BT_INP == '0' ) {
digitalWrite ( LED_PIN , MADAL ) ; // Lülitage LED välja, kui saate '0'
}
}

See kood on mõeldud ESP32 mikrokontrolleri jaoks LED-i juhtimiseks Bluetoothi ​​abil. See sisaldab Bluetooth-side raamatukogu. Järgmisena määratleb see LED-pistiku ja seadistab Bluetoothi ​​ESP32-nimelise seadmega. Põhisilmus loeb Bluetoothi ​​andmeid ja lülitab LED-i sisse või välja vastavalt vastuvõetud käsule (1 ON, 0 OFF).

Vooluahela skeem

Elektriskeem on lihtne, tihvtiga ühendatud LED D15 ESP32-st. LED-juhtimiseks saate määratleda mis tahes muu GPIO.

Seotud: ESP32 Pinout Reference – Ultimate Guide

Riistvara

Riistvaras vajate leivalauda, ​​ESP32 plaati ja LED-i. Ühendage ESP32 süsteemiga ja laadige programm sinna üles.

Nüüd saatke 1 ja 0 Android-telefoni Bluetooth Serial side rakendusest.

Sama sisendit näete Android-telefonilt saadud Arduino IDE terminalis.

Väljund

Kui saadate kõrge või 1 väärtuse, lülitub LED sisse, samamoodi kui saadate madala väärtuse, lülitub LED välja.

Määrake kohandatud nupp

Saate seadistada kohandatud nupu ka Bluetoothi ​​jadarakenduses. Näiteks saab luua HIGH ja LOW väärtuste nupu. Nii ei pea te väärtusi käsitsi sisestama. Selle asemel peate lihtsalt vajutama otsetee nuppu ja see täidab teie määratud juhised.

Märge: Nupu sätete avamiseks vajutage nuppu pikalt.

Nupu HIGH väärtuse määramiseks määrake järgmised sätted.

Nupu LOW väärtuse sarnasus, peate määratlema allolevad sätted.

Oleme edukalt ühendanud ESP32 plaadi Android-telefoniga Bluetoothi ​​abil. Nüüd saate seda kasutades luua palju projekte. Sarnaselt saate oma kodumasinaid juhtida ESP32 Bluetoothi ​​abil releeahela kaudu.

Seotud: Relee ESP32-ga, kasutades Arduino IDE-d

Järeldus

ESP32 on täiustatud mikrokontrolleri plaat Wi-Fi ja Bluetoothi ​​võimalustega. Mõlemad sisseehitatud moodulid aitavad teil kavandada täiustatud projekte ja juhtida välisseadmeid juhtmevabalt. Samamoodi saab ESP32 ühendada Android-telefoniga ja teha erinevaid toiminguid. Selleks peate installima Bluetooth Serial Androidi rakenduse. Pärast installimist avage ESP32 Bluetoothi ​​näidiskood ja laadige see oma tahvlile üles. Kui kood on üles laaditud, saate selle Android-telefoni kaudu oma tahvliga siduda.