Kaip nustatyti ir užprogramuoti ESP32 bendrauti su Android išmaniuoju telefonu per Bluetooth

Kaip Nustatyti Ir Uzprogramuoti Esp32 Bendrauti Su Android Ismaniuoju Telefonu Per Bluetooth



ESP32 yra mikrovaldiklio plokštė, turinti daugybę galimybių. Jame yra įmontuoti „Wi-Fi“ ir „Bluetooth“ moduliai. Naudodami abu šiuos modulius galite programuoti ESP32 belaidžiu būdu. Dėl to jums nereikės jaudintis dėl ilgų laidų jungčių, skirtų valdyti ESP32 periferinius įrenginius.

Šiame straipsnyje sujungsime ESP32 plokštę su Android telefonu ir perduosime duomenis per Bluetooth. Be to, mes valdysime šviesos diodą, sujungtą su ESP32 GPIO kaiščiais, tiesiogiai per „Android“ išmanųjį telefoną.

Turinys:







Kas yra ESP32 Bluetooth LE

ESP32 yra mikrovaldiklio plokštė, palaikanti ir „Bluetooth Classic“, ir „Bluetooth Low Energy“, dar vadinamą išmaniuoju „Bluetooth“. BLE arba išmanusis „Bluetooth“ yra skirtas energiją taupančiam ryšiui arba skirtas trumpo nuotolio ryšiui ar nedideliam duomenų perdavimui.



ESP32 BLE funkcija leidžia jam veikti kaip serveriui arba klientui „Bluetooth“ ryšiuose. Jis gali atlikti tokias užduotis kaip skaitymo ir rašymo paslaugos. Jis taip pat gali užšifruoti ryšius ir sukurti nuosekliojo prievado profilio (SPP) ryšius duomenų perdavimui UART-BLE perdavimo režimu. ESP32 Bluetooth palaiko 4.2 protokolus, o tai reiškia, kad jis suderinamas su skirtingais sluoksniais, tokiais kaip fizinis sluoksnis (PHY) ir nuorodos sluoksnis (LL). Jis taip pat palaiko pagrindinio valdiklio sąsają (HCI), be kita ko.



Patikrinkite ESP32 Classic ir BLE Bluetooth skirtumų lentelę.





Funkcija Klasikinis Bluetooth Mažai energijos suvartojantis „Bluetooth“ (BLE)
Ryšio tipas Tvarus, dvipusis bendravimas Pertraukiami, daugiausia vienpusiai duomenų srautai
Veiklos diapazonas Gali pasiekti iki 100 metrų Paprastai veikia žemiau 100 metrų
Energijos naudojimas Sunaudoja iki 1 vato Svyruoja nuo 10 milivatų iki 500 milivatų
Perdavimo greitis Duomenų perdavimo sparta svyruoja nuo 1 iki 3 megabitų per sekundę Palaiko nuo 125 kilobitų per sekundę iki 2 megabitų per sekundę
Atsakymo laikas Vėlavimas apie 100 milisekundžių Greitas atsakas su 6 milisekundžių delsa
Balso palaikymas Įrengtas balso perdavimas Trūksta balso perdavimo funkcijos

Peržiūrėkite šiuos ESP32 Bluetooth straipsnius, kad sužinotumėte daugiau apie tai.

Kaip užprogramuoti ESP32 bendrauti per „Bluetooth“ su „Android“ išmaniuoju telefonu

Norėdami užprogramuoti ESP32, kad jis galėtų susisiekti su Android telefonu naudodamas Bluetooth protokolą, turite nustatyti ESP32 Bluetooth serijinę biblioteką. Tam turite turėti Arduino IDE sąranką su įdiegta ESP32 plokšte.



Nustatę ESP32 Bluetooth, turite įdiegti Bluetooth serijinę Android programą. Tai leis jums siųsti instrukcijas iš „Android“ telefono į ESP32 naudojant „Bluetooth“ nuoseklųjį ryšį.

Pažvelkime atidžiau į kiekvieną iš šių veiksmų:

ESP32 Bluetooth prijungimo prie Android telefono žingsniai

Norėdami užprogramuoti ESP32 plokštę Bluetooth ryšiui, atlikite šiuos veiksmus:

1 veiksmas: ESP32 plokštės įdiegimas Arduino IDE

Norėdami įdiegti ESP32 Arduino IDE, tiesiog vadovaukitės šiame straipsnyje pateiktu vadovu.

ESP32 plokštės įdiegimas Arduino IDE

Po įdiegimo ESP32 plokštę galima prijungti ir programuoti naudojant Arduino IDE.

2 veiksmas: įkelkite ESP32 Bluetooth kodą

Įdiegę ESP32 plokštę, Arduino IDE pamatysite skirtingas iš anksto įdiegtas bibliotekas ir jų pavyzdžius. Visos šios bibliotekos yra susijusios su ESP32 plokšte. „Bluetooth“ nuosekliajam ryšiui naudosime ESP32 BluetoothSerial.h bibliotekos pavyzdinis kodas.

Norėdami atidaryti pavyzdinį kodą, atidarykite Arduino IDE ir eikite į: Failas > Pavyzdžiai > Bluetooth serija > SerialtoSerialBT

Norėdami atidaryti šį pavyzdinį kodą, įsitikinkite, kad pasirinkta ESP32 plokštė.

Atidarę pavyzdinį kodą, Arduino IDE lange pamatysite šį kodą:

//Sveiki atvykę į „Linuxhint“.

#include 'BluetoothSerial.h'

//#define USE_PIN // Panaikinkite komentarą, jei norite PIN kodo poravimo metu
konst char * smeigtukas = '1234' ; // Apibrėžkite pasirinktinį poravimo PIN kodą

Eilutė įrenginio_pavadinimas = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth neįjungtas! Norėdami jį įjungti, paleiskite „make menuconfig“.
#endif

#if !defined(CONFIG_BT_SPP_ENABLED)
#error Trūksta nuosekliojo Bluetooth arba jis neįjungtas. Jis prieinamas tik ESP32 lustui.
#endif

Bluetooth Serial SerialBT ;

tuštuma sąranka ( ) {
Serijinis. pradėti ( 115 200 ) ;
SerialBT. pradėti ( įrenginio pavadinimas ) ; //Bluetooth įrenginio pavadinimas
Serijinis. printf ( 'Įrenginys ' % s “ yra pradėtas. \n Pradėkite susieti įrenginį! \n , įrenginio pavadinimas. c_str ( ) ) ;
//Serial.printf('Įrenginys '%s' su MAC adresu %s paleistas.\nPradėkite jį susieti su 'Bluetooth'!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( smeigtukas ) ;
Serijinis. println ( „Naudojant PIN kodą“ ) ;
#endif
}

tuštuma kilpa ( ) {
jeigu ( Serijinis. prieinama ( ) ) {
SerialBT. rašyti ( Serijinis. skaityti ( ) ) ;
}
jeigu ( SerialBT. prieinama ( ) ) {
Serijinis. rašyti ( SerialBT. skaityti ( ) ) ;
}
delsimas ( dvidešimt ) ;
}

Įkėlę kodą ekrane pamatysite tokį pranešimą. Šis pranešimas apibūdina, kad jūsų ESP32 plokštė paruošta susieti.

3 veiksmas: kodo paaiškinimas

Kodas prasidėjo įtraukiant reikiamas bibliotekas ir patikrinus, ar nėra „Bluetooth“ pasiekiamumo. Taip pat nustatomi „Bluetooth“ įrenginio pavadinimo ir PIN kodo kintamieji.

Viduje setup () funkcija, apibrėžiamas nuoseklusis bodų ryšys ir „Bluetooth“ įrenginys inicijuojamas jo pavadinimu. Autentifikavimui poravimo metu galima nustatyti tinkintą PIN kodą.

The kilpa () funkcija nuolat tikrina duomenis apie nuoseklųjį ir Bluetooth ryšį. Tai leidžia užmegzti dvipusį ryšį tarp ESP32 ir suporuoto Bluetooth įrenginio.

4 veiksmas: įdiekite „Android“ programą

Kai kodas bus įkeltas, kitas veiksmas yra įdiegti ir sukonfigūruoti 'Android' programą, skirtą 'Bluetooth' ryšiui.

Atidarykite „Play Store“ ir įdiekite Serijinis Bluetooth terminalas taikymas.

Įdiegę atidarykite išmaniojo telefono Bluetooth nustatymus ir prijunkite telefoną naudodami ESP32 Bluetooth. Jei nustatėte PIN kodą Arduino IDE kode, turite įvesti PIN kodą, kitaip jis prisijungs tiesiogiai.

Dabar atidarykite „Serial Bluetooth“ programą ir pasirinkite Prietaisai variantas.

Naujai atidarytame meniu pasirinkite ESP32 įrenginį. Šiame sąraše rodomi visi šiuo metu aktyvūs Bluetooth įrenginiai.

Kaip matote, ESP32 Bluetooth yra prijungtas prie jūsų Android išmaniojo telefono.

Norėdami patikrinti ryšį, atsiųsime eilutę. Čia aš išsiunčiau dvi skirtingas eilutes.

Pastebėsite, kad tos pačios dvi eilutės taip pat bus rodomos Arduino IDE terminale.

Dabar eikime dar vieną žingsnį ir valdykite išorinį periferinį įrenginį, pvz., LED, naudodami ESP32 Bluetooth per Android išmanųjį telefoną.

5 veiksmas: valdykite šviesos diodą naudodami „Android“ telefoną per „Bluetooth“.

Norėdami valdyti šviesos diodą naudodami ESP32 ir Android Bluetooth, pirmiausia pakeiskite aukščiau pateiktą kodą ir nustatykite šviesos diodo GPIO kaištį. Po to turite nustatyti šviesos diodo įjungimo ir išjungimo reikšmes.

Jei norite tęsti, įkelkite toliau pateiktą kodą.

#include // Įtraukti Bluetooth nuosekliojo ryšio biblioteką

#define LED_PIN 15 // Apibrėžkite LED kaištį

Bluetooth Serial SerialBT ; // Sukurkite „Bluetooth“ serijos objektą
baitas BT_INP ; // Kintamasis, skirtas išsaugoti „Bluetooth“ įvestį

// Patikrinkite, ar SDK konfigūracijoje įjungti Bluetooth ir Bluedroid
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error „Bluetooth“ neįjungtas. Norėdami jį įjungti, paleiskite „make menuconfig“.
#endif

tuštuma sąranka ( ) {
pinMode ( LED_PIN , IŠVADA ) ; // Nustatykite LED kaištį kaip išvestį
Serijinis. pradėti ( 115 200 ) ;
SerialBT. pradėti ( 'ESP32' ) ; // Inicijuoti „Bluetooth“ pavadinimu „ESP32“
Serijinis. println ( 'Bluetooth įrenginys paruoštas susieti.' ) ; // Nurodykite, kad Bluetooth yra paruoštas
}

tuštuma kilpa ( ) {
// Patikrinkite, ar yra duomenų, kuriuos galima nuskaityti iš „Bluetooth“.
jeigu ( SerialBT. prieinama ( ) ) {
BT_INP = SerialBT. skaityti ( ) ; // Skaitykite įeinantį baitą iš „Bluetooth“.
Serijinis. rašyti ( BT_INP ) ; // Perskaitykite baitą į serijinį monitorių
}

// Patikrinkite gautus Bluetooth duomenis ir nustatykite LED būseną
jeigu ( BT_INP == '1' ) {
skaitmeninis rašymas ( LED_PIN , AUKŠTAS ) ; // Įjunkite šviesos diodą, jei gaunamas „1“.
} Kitas jeigu ( BT_INP == '0' ) {
digitalWrite ( LED_PIN , MAŽAS ) ; // Išjunkite šviesos diodą, jei gaunate „0“.
}
}

Šis kodas skirtas ESP32 mikrovaldikliui valdyti LED naudojant Bluetooth. Jame yra „Bluetooth“ ryšio biblioteka. Tada jis apibrėžia LED kaištį ir nustato „Bluetooth“ su įrenginiu, pavadintu ESP32. Pagrindinė kilpa nuskaito „Bluetooth“ duomenis ir įjungia arba išjungia šviesos diodą pagal gautą komandą (1 – ĮJUNGTA, 0 – IŠJUNGTA).

Grandinės schema

Sujungimo schema paprasta, kai prie kaiščio prijungtas šviesos diodas D15 ESP32. Galite apibrėžti bet kurį kitą GPIO LED valdymui.

Susijęs: ESP32 Pinout Reference – Ultimate Guide

Aparatūra

Aparatinėje įrangoje jums reikės duonos lentos, ESP32 plokštės ir šviesos diodo. Prijunkite ESP32 prie sistemos ir įkelkite į ją programą.

Dabar siųskite 1 ir 0 iš „Android“ telefono „Bluetooth Serial“ ryšio programos.

Tą patį įvestį pamatysite „Arduino IDE“ terminale, gautame iš „Android“ telefono.

Išvestis

Kai išsiųsite aukštą arba 1 reikšmę, šviesos diodas įsijungs, panašiai, kai siunčiate žemą vertę, šviesos diodas išsijungs.

Nustatykite pasirinktinį mygtuką

Taip pat galite nustatyti pasirinktinį mygtuką „Serial Bluetooth“ programoje. Pavyzdžiui, galima sukurti HIGH ir LOW reikšmių mygtukus. Tokiu būdu jums nereikės rankiniu būdu įvesti reikšmių. Vietoj to, tereikia paspausti sparčiojo klavišo mygtuką ir jis vykdys jūsų nustatytas instrukcijas.

Pastaba: Norėdami atidaryti mygtuko nustatymus, ilgai paspauskite mygtuką.

Norėdami nustatyti mygtuko HIGH reikšmę, nustatykite šiuos nustatymus.

Mygtuko LOW reikšmės panašumas, turite apibrėžti toliau nurodytus nustatymus.

Sėkmingai sujungėme ESP32 plokštę su Android telefonu naudodami Bluetooth. Dabar naudodami jį galite sukurti daugybę projektų. Kaip ir jūs galite valdyti savo buitinę techniką naudodami ESP32 Bluetooth per relės grandinę.

Susijęs: Relė su ESP32 naudojant Arduino IDE

Išvada

ESP32 yra pažangi mikrovaldiklio plokštė su Wi-Fi ir Bluetooth galimybėmis. Abu šie integruoti moduliai padeda kurti pažangius projektus ir valdyti periferinius įrenginius belaidžiu būdu. Panašiai galite prijungti ESP32 su Android telefonu ir atlikti įvairias operacijas. Norėdami tai padaryti, turėsite įdiegti Bluetooth Serial Android programą. Įdiegę atidarykite ESP32 Bluetooth kodo pavyzdį ir įkelkite jį į savo plokštę. Kai kodas bus įkeltas, galite susieti jį su savo plokšte naudodami 'Android' telefoną.