Kā iestatīt un ieprogrammēt ESP32, lai sazinātos ar Android viedtālruni, izmantojot Bluetooth

Ka Iestatit Un Ieprogrammet Esp32 Lai Sazinatos Ar Android Viedtalruni Izmantojot Bluetooth



ESP32 ir mikrokontrollera plate ar plašu iespēju klāstu. Tam ir iebūvēti Wi-Fi un Bluetooth moduļi. Izmantojot abus šos moduļus, varat programmēt ESP32 bezvadu režīmā. Tādējādi jums nav jāuztraucas par garu vadu savienojumiem ESP32 perifērijas ierīču vadīšanai.

Šajā rakstā mēs savienosim ESP32 plati ar Android tālruni un sazināsimies ar datiem, izmantojot Bluetooth. Turklāt mēs vadīsim LED, kas savienots ar ESP32 GPIO tapām tieši caur Android viedtālruni.

Saturs:







Kas ir ESP32 Bluetooth LE

ESP32 ir mikrokontrollera plate, kas atbalsta gan Bluetooth Classic, gan Bluetooth Low Energy pazīstamu arī kā viedo Bluetooth. BLE jeb viedais Bluetooth ir īpaši paredzēts energoefektīvai saziņai vai paredzēts neliela attāluma saziņai vai nelielai datu pārsūtīšanai.



ESP32 BLE funkcionalitāte ļauj tam darboties kā serverim vai klientam Bluetooth sakaros. Tas var veikt tādus uzdevumus kā lasīšanas un rakstīšanas pakalpojumi. Tas var arī šifrēt savienojumus un izveidot seriālā porta profila (SPP) savienojumus datu pārraidei UART-BLE caurlaides režīmā. ESP32 Bluetooth atbalsta 4.2 protokolus, kas nozīmē, ka tas ir saderīgs ar dažādiem slāņiem, piemēram, fizisko slāni (PHY) un saites slāni (LL). Tam ir arī atbalsts Host Controller Interface (HCI), cita starpā.



Pārbaudiet ESP32 Classic un BLE Bluetooth atšķirību tabulu.





Funkcija Klasisks Bluetooth Zemas enerģijas Bluetooth (BLE)
Komunikācijas veids Ilgstoša, abpusēja komunikācija Neregulāri, galvenokārt vienvirziena datu pārrāvumi
Darbības diapazons Var sasniegt līdz 100 metriem Parasti darbojas zem 100 metriem
Enerģijas patēriņš Patērē līdz 1 vatam Svārstās no 10 milivatiem līdz 500 milivatiem
Pārsūtīšanas ātrums Datu pārsūtīšanas ātrums svārstās no 1 līdz 3 megabitiem sekundē Atbalsta 125 kilobitus sekundē līdz 2 megabitiem sekundē
Reakcijas laiks Latentums aptuveni 100 milisekundes Ātra atbilde ar 6 milisekundes latentumu
Balss atbalsts Aprīkots ar balss pārraidi Trūkst balss pārraides funkcionalitātes

Apskatiet šos ESP32 Bluetooth rakstus, lai uzzinātu vairāk par to.

Kā ieprogrammēt ESP32, lai sazinātos, izmantojot Bluetooth, ar Android viedtālruni

Lai ieprogrammētu ESP32 tā, lai tas varētu sazināties ar Android tālruni, izmantojot Bluetooth protokolu, ir jāiestata ESP32 Bluetooth seriālā bibliotēka. Lai to izdarītu, jums ir jābūt Arduino IDE iestatījumam ar instalētu ESP32 plati.



Pēc ESP32 Bluetooth iestatīšanas jums ir jāinstalē Bluetooth seriālā Android lietojumprogramma. Tas ļaus nosūtīt norādījumus no Android tālruņa uz ESP32, izmantojot Bluetooth seriālo sakaru.

Apskatīsim sīkāk katru no šīm darbībām:

Darbības ESP32 Bluetooth savienošanai ar Android tālruni

Lai ieprogrammētu ESP32 plati Bluetooth saziņai, veiciet tālāk norādītās darbības.

1. darbība: ESP32 plates instalēšana Arduino IDE

Lai instalētu ESP32 Arduino IDE, vienkārši izpildiet šajā rakstā sniegtos norādījumus.

ESP32 plates instalēšana Arduino IDE

Pēc instalēšanas ESP32 plati var pievienot un programmēt, izmantojot Arduino IDE.

2. darbība. Augšupielādējiet ESP32 Bluetooth kodu

Kad ESP32 plate ir instalēta, Arduino IDE redzēsit dažādas iepriekš instalētas bibliotēkas un to piemērus. Visas šīs bibliotēkas ir saistītas ar ESP32 plati. Bluetooth seriālajai komunikācijai mēs izmantosim ESP32 BluetoothSerial.h bibliotēkas parauga kods.

Lai atvērtu parauga kodu, atveriet Arduino IDE un dodieties uz: Fails > Piemēri > Bluetooth Serial > SerialtoSerialBT

Lai atvērtu šo koda piemēru, pārliecinieties, vai ir atlasīta ESP32 plate.

Pēc piemēra koda atvēršanas Arduino IDE logā redzēsit šādu kodu:

//Laipni lūdzam Linuxhint

#include 'BluetoothSerial.h'

//#define USE_PIN // Atņemiet šo komentāru, ja vēlaties PIN savienošanas laikā
konst char * pin = '1234' ; // Definējiet pielāgotu PIN savienošanai pārī

Virkne ierīces_nosaukums = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth nav iespējots! Palaidiet 'make menuconfig', lai to iespējotu
#endif

#if !defined(CONFIG_BT_SPP_ENABLED)
#error Trūkst seriālā Bluetooth vai tas nav iespējots. Tas ir pieejams tikai ESP32 mikroshēmai.
#endif

BluetoothSerial SerialBT ;

nederīgs uzstādīt ( ) {
Seriāls. sākt ( 115200 ) ;
SerialBT. sākt ( ierīces nosaukums ) ; //Bluetooth ierīces nosaukums
Seriāls. printf ( 'Ierīce ' % s ' tiek sākts. \n Sāciet ierīces savienošanu pārī! \n ' , ierīces nosaukums. c_str ( ) ) ;
//Serial.printf('Ierīce '%s' ar MAC adresi %s ir palaista.\nSāciet to savienot pārī ar Bluetooth!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
Seriāls. println ( 'Izmantojot PIN' ) ;
#endif
}

nederīgs cilpa ( ) {
ja ( Seriāls. pieejams ( ) ) {
SerialBT. rakstīt ( Seriāls. lasīt ( ) ) ;
}
ja ( SerialBT. pieejams ( ) ) {
Seriāls. rakstīt ( SerialBT. lasīt ( ) ) ;
}
kavēšanās ( divdesmit ) ;
}

Pēc koda augšupielādes ekrānā redzēsit šādu ziņojumu. Šis ziņojums norāda, ka jūsu ESP32 plate ir gatava savienošanai pārī.

3. darbība: koda skaidrojums

Kods sākās ar nepieciešamo bibliotēku iekļaušanu un Bluetooth pieejamības pārbaudi. Tas arī iestata mainīgos Bluetooth ierīces nosaukumam un PIN.

Iekš uzstādīt() funkcija, tiek definēta seriālā bodu komunikācija un Bluetooth ierīce tiek inicializēta ar tās nosaukumu. Pielāgotu PIN var iestatīt autentifikācijai savienošanas pārī laikā.

The cilpa () funkcija nepārtraukti pārbauda datus par seriālajiem un Bluetooth savienojumiem. Tas ļauj izveidot divvirzienu saziņu starp ESP32 un pārī savienotu Bluetooth ierīci.

4. darbība. Instalējiet Android lietojumprogrammu

Kad kods ir augšupielādēts, nākamais solis ir instalēt un konfigurēt Android lietojumprogrammu Bluetooth savienojumam.

Atveriet Play veikalu un instalējiet Seriālais Bluetooth terminālis pieteikumu.

Pēc instalēšanas atveriet viedtālruņa Bluetooth iestatījumus un savienojiet tālruni ar ESP32 Bluetooth. Ja Arduino IDE kodā esat definējis PIN, jums ir jāievada PIN, pretējā gadījumā tas tiks savienots tieši.

Tagad atveriet lietojumprogrammu Serial Bluetooth un atlasiet Ierīces opciju.

Tikko atvērtajā izvēlnē atlasiet ESP32 ierīci. Šajā sarakstā ir redzamas visas pašlaik aktīvās Bluetooth ierīces.

Kā redzat, ESP32 Bluetooth ir savienots ar jūsu Android viedtālruni.

Lai pārbaudītu savienojumu, mēs nosūtīsim virkni. Šeit esmu nosūtījis divas dažādas virknes.

Jūs ievērosiet, ka tās pašas divas virknes tiks parādītas arī Arduino IDE terminālī.

Tagad virzīsimies vienu soli tālāk un vadīsim ārējo perifērijas ierīci, piemēram, LED, izmantojot ESP32 Bluetooth, izmantojot Android viedtālruni.

5. darbība: kontrolējiet LED, izmantojot Android tālruni, izmantojot Bluetooth

Lai vadītu LED, izmantojot ESP32 un Android Bluetooth, vispirms modificējiet iepriekš minēto kodu un definējiet gaismas diodes GPIO tapu. Pēc tam jums jāiestata vērtības LED IESLĒGŠANAI un IZSLĒGŠANAI.

Augšupielādējiet tālāk norādīto kodu, lai turpinātu.

#include // Iekļaut Bluetooth seriālo sakaru bibliotēku

#define LED_PIN 15 // Definējiet LED tapu

BluetoothSerial SerialBT ; // Izveidojiet BluetoothSerial objektu
baits BT_INP ; // Mainīgais, lai saglabātu Bluetooth ievadi

// Pārbaudiet, vai SDK konfigurācijā ir iespējoti Bluetooth un Bluedroid
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth nav iespējots. Palaidiet 'make menuconfig', lai to iespējotu.
#endif

nederīgs uzstādīt ( ) {
pinMode ( LED_PIN , IZEJA ) ; // Iestatiet LED tapu kā izvadi
Seriāls. sākt ( 115200 ) ;
SerialBT. sākt ( 'ESP32' ) ; // Inicializējiet Bluetooth ar nosaukumu 'ESP32'
Seriāls. println ( 'Bluetooth ierīce ir gatava savienošanai pārī.' ) ; // Norāda, ka Bluetooth ir gatavs
}

nederīgs cilpa ( ) {
// Pārbaudiet, vai ir pieejami dati, ko nolasīt no Bluetooth
ja ( SerialBT. pieejams ( ) ) {
BT_INP = SerialBT. lasīt ( ) ; // Lasīt ienākošo baitu no Bluetooth
Seriāls. rakstīt ( BT_INP ) ; // Atskaņojiet lasīšanas baitu seriālajā monitorā
}

// Pārbaudiet saņemtos Bluetooth datus un iestatiet LED stāvokli
ja ( BT_INP == '1' ) {
digitalWrite ( LED_PIN , AUGSTS ) ; // Ieslēdziet LED, ja tiek saņemts '1'
} cits ja ( BT_INP == '0' ) {
digitalWrite ( LED_PIN , LOW ) ; // Izslēdziet LED, ja tiek saņemts '0'
}
}

Šis kods ir paredzēts ESP32 mikrokontrollerim, lai vadītu LED, izmantojot Bluetooth. Tajā ir iekļauta bibliotēka Bluetooth saziņai. Pēc tam tas definē LED tapu un iestata Bluetooth ar ierīci ar nosaukumu ESP32. Galvenā cilpa nolasa Bluetooth datus un ieslēdz vai izslēdz LED, pamatojoties uz saņemto komandu (1 — IESLĒGTS, 0 — IZSL.).

Shēmas shēma

Shēma ir vienkārša, pie tapas ir pievienots LED D15 ESP32. Jūs varat definēt jebkuru citu GPIO LED vadībai.

Saistīts: ESP32 Pinout Reference – Ultimate Guide

Aparatūra

Aparatūrā jums būs nepieciešams maizes dēlis, ESP32 plate un LED. Savienojiet ESP32 ar sistēmu un augšupielādējiet tajā programmu.

Tagad nosūtiet 1 un 0 no Android tālruņa Bluetooth sērijas sakaru lietojumprogrammas.

Jūs redzēsit to pašu ievadi Arduino IDE terminālī, kas saņemts no Android tālruņa.

Izvade

Tiklīdz nosūtīsit vērtību Augsta vai 1, LED ieslēgsies, līdzīgi, kad nosūtīsit zemo vērtību, LED izslēgsies.

Iestatiet pielāgotu pogu

Varat arī iestatīt pielāgotu pogu Serial Bluetooth lietojumprogrammā. Piemēram, var izveidot pogu HIGH un LOW vērtības. Tādā veidā jums nav manuāli jāievada vērtības. Tā vietā jums vienkārši jānospiež īsinājumtaustiņu poga, un tā izpildīs jūsu iestatīto norādījumu.

Piezīme: Lai atvērtu pogas iestatījumus, ilgi nospiediet pogu.

Lai iestatītu pogas HIGH vērtību, definējiet šādus iestatījumus.

LOW pogas vērtības līdzība, jums ir jādefinē tālāk norādītie iestatījumi.

Esam veiksmīgi savienojuši ESP32 plati ar Android tālruni, izmantojot Bluetooth. Tagad jūs varat izveidot daudzus projektus, izmantojot to. Tāpat kā jūs varat kontrolēt savu sadzīves tehniku, izmantojot ESP32 Bluetooth, izmantojot releja ķēdi.

Saistīts: Relejs ar ESP32, izmantojot Arduino IDE

Secinājums

ESP32 ir uzlabota mikrokontrollera plate ar Wi-Fi un Bluetooth iespējām. Abi šie iebūvētie moduļi palīdz izstrādāt progresīvus projektus un vadīt perifērijas ierīces bezvadu režīmā. Līdzīgi varat savienot ESP32 ar Android tālruni un veikt dažādas darbības. Lai to izdarītu, jums būs jāinstalē Bluetooth Serial Android lietojumprogramma. Pēc instalēšanas atveriet ESP32 Bluetooth parauga kodu un augšupielādējiet to savā dēlī. Kad kods ir augšupielādēts, varat to savienot pārī ar plati, izmantojot Android tālruni.