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 programmeerimine Bluetoothi kaudu Android-nutitelefoniga suhtlemiseks
- ESP32 Bluetoothi ühendamise sammud Android-telefoniga
- Vooluahela skeem
- Riistvara
- Väljund
- Järeldus
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 Bluetooth – ülim juhend
- ESP32 – Bluetooth Classic vs Bluetooth Low Energy (BLE)
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#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.