ESP32:n määrittäminen ja ohjelmointi kommunikoimaan Android-älypuhelimen kanssa Bluetoothin kautta

Esp32 N Maarittaminen Ja Ohjelmointi Kommunikoimaan Android Alypuhelimen Kanssa Bluetoothin Kautta



ESP32 on mikro-ohjainkortti, jolla on laaja valikoima ominaisuuksia. Siinä on sisäänrakennetut Wi-Fi- ja Bluetooth-moduulit. Molempien moduulien avulla voit ohjelmoida ESP32:n langattomasti. Tämän ansiosta sinun ei tarvitse huolehtia pitkäjohtoisista liitännöistä ESP32-oheislaitteiden ohjaamiseen.

Tässä artikkelissa yhdistämme ESP32-kortin Android-puhelimeen ja välitämme tietoja Bluetoothin kautta. Lisäksi ohjaamme ESP32:n GPIO-nastoihin yhdistettyä LEDiä suoraan Android-älypuhelimen kautta.

Sisällys:







Mikä on ESP32 Bluetooth LE

ESP32 on mikro-ohjainkortti, joka tukee sekä Bluetooth Classicia että Bluetooth Low Energy -tekniikkaa, joka tunnetaan myös nimellä älykäs Bluetooth. BLE tai älykäs Bluetooth on erityisesti energiatehokasta viestintää tai suunniteltu lyhyen kantaman viestintään tai pieniin tiedonsiirtoihin.



ESP32:n BLE-toiminnallisuuden ansiosta se voi toimia palvelimena tai asiakkaana Bluetooth-viestinnässä. Se pystyy käsittelemään tehtäviä, kuten luku- ja kirjoituspalveluita. Se voi myös salata yhteydet ja muodostaa SPP (Serial Port Profile) -yhteydet tiedonsiirtoa varten UART-BLE-läpivientitilassa. ESP32 Bluetooth tukee 4.2-protokollia, mikä tarkoittaa, että se on yhteensopiva eri kerrosten kanssa, kuten Physical Layer (PHY) ja Link Layer (LL). Siinä on myös tuki muun muassa Host Controller Interfacelle (HCI).



Tarkista erotaulukko ESP32 Classicille ja BLE Bluetoothille.





Ominaisuus Klassinen Bluetooth Low Energy Bluetooth (BLE)
Viestintätyyppi Jatkuvaa, kaksisuuntaista viestintää Jaksottaiset, pääasiassa yksisuuntaiset datapurskeet
Toiminta-alue Voi saavuttaa jopa 100 metriä Toimii tyypillisesti alle 100 metrin etäisyydellä
Virrankäyttö Kuluttaa jopa 1 watin Vaihtelee 10 milliwatista 500 milliwattiin
Siirtonopeus Tiedonsiirtonopeudet vaihtelevat 1-3 megabittiä sekunnissa Tukee 125 kilobittiä sekunnissa - 2 megabittiä sekunnissa
Vasteaika Latenssi noin 100 millisekuntia Nopea vastaus 6 millisekunnin latenssilla
Äänituki Varustettu äänensiirrolla Puheensiirtotoiminto puuttuu

Tutustu näihin ESP32 Bluetooth -artikkeleihin saadaksesi lisätietoja siitä.

Kuinka ohjelmoida ESP32 kommunikoimaan Bluetoothin kautta Android-älypuhelimen kanssa

Jos haluat ohjelmoida ESP32:n niin, että se voi kommunikoida Android-puhelimen kanssa Bluetooth-protokollan avulla, sinun on määritettävä ESP32 Bluetooth -sarjakirjasto. Tätä varten sinulla on oltava Arduino IDE -asennus, johon on asennettu ESP32-kortti.



ESP32 Bluetoothin asettamisen jälkeen sinun on asennettava Bluetooth-sarja Android-sovellus. Näin voit lähettää ohjeita Android-puhelimesta ESP32:een Bluetooth-sarjayhteyden avulla.

Tarkastellaanpa kutakin näistä vaiheista tarkemmin:

ESP32 Bluetoothin yhdistämisen vaiheet Android-puhelimeen

Ohjelmoi ESP32-kortti Bluetooth-tietoliikennettä varten seuraavasti:

Vaihe 1: ESP32-levyn asentaminen Arduino IDE:hen

Asenna ESP32 Arduino IDE:hen noudattamalla tässä artikkelissa annettua ohjetta.

ESP32-levyn asentaminen Arduino IDE:hen

Asennuksen jälkeen ESP32-kortti voidaan liittää ja ohjelmoida Arduino IDE:llä.

Vaihe 2: Lataa ESP32 Bluetooth-koodi

Kun ESP32-kortti on asennettu, näet erilaisia ​​esiasennettuja kirjastoja ja esimerkkejä niistä Arduino IDE:ssä. Kaikki nämä kirjastot liittyvät ESP32-korttiin. Bluetooth-sarjaviestintään aiomme käyttää ESP32:ta BluetoothSerial.h kirjaston esimerkkikoodi.

Avaa esimerkkikoodi avaamalla Arduino IDE ja menemällä osoitteeseen: Tiedosto > Esimerkit > BluetoothSerial > SerialtoSerialBT

Avaa tämä esimerkkikoodi varmistamalla, että ESP32-kortti on valittuna.

Kun olet avannut esimerkkikoodin, näet seuraavan koodin Arduino IDE -ikkunassasi:

//Tervetuloa Linuxhintiin

#include 'BluetoothSerial.h'

//#define USE_PIN // Poista tämän kommentti, jos haluat PIN-koodin pariliitoksen muodostamisen aikana
konst hiiltyä * pin = '1234' ; // Määritä mukautettu PIN-koodi

Merkkijono laitteen_nimi = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth ei ole käytössä! Ota se käyttöön suorittamalla 'make menuconfig'.
#loppu Jos

#if !defined(CONFIG_BT_SPP_ENABLED)
#error Serial Bluetooth puuttuu tai ei ole käytössä. Se on saatavana vain ESP32-sirun kanssa.
#loppu Jos

BluetoothSerial SerialBT ;

mitätön perustaa ( ) {
Sarja. alkaa ( 115 200 ) ;
SerialBT. alkaa ( laitteen nimi ) ; //Bluetooth-laitteen nimi
Sarja. printf ( 'Laite ' % s ' on aloitettu. \n Aloita laiteparin muodostaminen! \n ' , laitteen nimi. c_str ( ) ) ;
//Serial.printf('Laite '%s' MAC-osoitteella %s on käynnistetty.\nAloita sen yhdistäminen Bluetoothin kanssa!\n', laitteen_nimi.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
Sarja. println ( 'PIN-koodin käyttö' ) ;
#loppu Jos
}

mitätön silmukka ( ) {
jos ( Sarja. saatavilla ( ) ) {
SerialBT. kirjoittaa ( Sarja. lukea ( ) ) ;
}
jos ( SerialBT. saatavilla ( ) ) {
Sarja. kirjoittaa ( SerialBT. lukea ( ) ) ;
}
viive ( kaksikymmentä ) ;
}

Kun olet ladannut koodin, näet seuraavan viestin näytöllä. Tämä viesti kertoo, että ESP32-korttisi on valmis pariliitoksen muodostamista varten.

Vaihe 3: Koodin selitys

Koodi alkoi sisällyttämällä tarvittavat kirjastot ja tarkistamalla Bluetoothin saatavuus. Se myös määrittää muuttujat Bluetooth-laitteen nimelle ja PIN-koodille.

Vuonna perustaa() -toimintoa, sarjasiirtoyhteys määritellään ja Bluetooth-laite alustetaan sen nimellä. Mukautettu PIN-koodi voidaan asettaa todennusta varten pariliitoksen aikana.

The loop() toiminto tarkistaa jatkuvasti sarja- ja Bluetooth-yhteyksien tiedot. Näin se voi muodostaa kaksisuuntaisen tiedonsiirron ESP32:n ja pariksi liitetyn Bluetooth-laitteen välille.

Vaihe 4: Asenna Android-sovellus

Kun koodi on ladattu, seuraava vaihe on Android-sovelluksen asentaminen ja määrittäminen Bluetooth-yhteyttä varten.

Avaa Play Kauppa ja asenna Bluetooth-sarjapääte sovellus.

Asennuksen jälkeen avaa älypuhelimen Bluetooth-asetukset ja yhdistä puhelimesi ESP32 Bluetoothilla. Jos olet määrittänyt PIN-koodin Arduino IDE -koodissa, sinun on syötettävä PIN-koodi, muuten se muodostaa yhteyden suoraan.

Avaa nyt Serial Bluetooth -sovellus ja valitse Laitteet vaihtoehto.

Valitse juuri avatusta valikosta ESP32-laite. Tämä luettelo näyttää kaikki tällä hetkellä aktiiviset Bluetooth-laitteet.

Kuten näet, ESP32 Bluetooth on yhdistetty Android-älypuhelimeesi.

Testaaksemme yhteyttä, aiomme lähettää merkkijonon. Täällä olen lähettänyt kaksi erilaista merkkijonoa.

Huomaat, että samat kaksi merkkijonoa näkyvät myös Arduino IDE -päätteessä.

Siirrytään nyt askel eteenpäin ja ohjataan ulkoista oheislaitetta, kuten LEDiä ESP32 Bluetoothin avulla Android-älypuhelimen kautta.

Vaihe 5: Ohjaa LED-valoa Android-puhelimella Bluetoothin kautta

Jos haluat ohjata LEDiä ESP32:n ja Android Bluetoothin avulla, muokkaa ensin yllä olevaa koodia ja määritä LEDille GPIO-nasta. Sen jälkeen sinun on asetettava arvot LEDin päälle- ja poiskytkentää varten.

Lataa alla oleva koodi jatkaaksesi.

#include // Sisällytä Bluetooth-sarjaviestintäkirjasto

#define LED_PIN 15 // Määritä LED-nasta

BluetoothSerial SerialBT ; // Luo BluetoothSerial-objekti
tavu BT_INP ; // Muuttuja Bluetooth-tulon tallentamiseen

// Tarkista, ovatko Bluetooth ja Bluedroid käytössä SDK-kokoonpanossa
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth ei ole käytössä. Ota se käyttöön suorittamalla 'make menuconfig'.
#loppu Jos

mitätön perustaa ( ) {
pinMode ( LED_PIN , OUTPUT ) ; // Aseta LED-nasta lähdöksi
Sarja. alkaa ( 115 200 ) ;
SerialBT. alkaa ( 'ESP32' ) ; // Alusta Bluetooth nimellä 'ESP32'
Sarja. println ( 'Bluetooth-laite on valmis pariliitoksen muodostamiseen.' ) ; // Osoittaa, että Bluetooth on valmis
}

mitätön silmukka ( ) {
// Tarkista, onko Bluetoothista luettavaa tietoa
jos ( SerialBT. saatavilla ( ) ) {
BT_INP = SerialBT. lukea ( ) ; // Lue saapuva tavu Bluetoothista
Sarja. kirjoittaa ( BT_INP ) ; // Toista lukutavu sarjamonitoriin
}

// Tarkista vastaanotetut Bluetooth-tiedot ja aseta LED-tila
jos ( BT_INP == '1' ) {
digitalWrite ( LED_PIN , KORKEA ) ; // Kytke LED päälle, jos '1' vastaanotetaan
} muu jos ( BT_INP == '0' ) {
digitalWrite ( LED_PIN , MATALA ) ; // Sammuta LED, jos vastaanotetaan '0'.
}
}

Tämä koodi on tarkoitettu ESP32-mikro-ohjaimelle LEDin ohjaamiseen Bluetoothin avulla. Se sisältää kirjaston Bluetooth-viestintää varten. Seuraavaksi se määrittää LED-nastan ja määrittää Bluetoothin ESP32-nimisellä laitteella. Pääsilmukka lukee Bluetooth-tietoja ja kytkee LED-valon päälle tai pois vastaanotetun komennon perusteella (1 ON, 0 OFF).

Piirikaavio

Piirikaavio on yksinkertainen, ja LED on kytketty nastaan D15 ESP32:sta. Voit määrittää minkä tahansa muun GPIO:n LED-ohjaukselle.

Aiheeseen liittyvä: ESP32 Pinout Reference – Ultimate Guide

Laitteisto

Laitteistossa tarvitset leipälevyn, ESP32-kortin ja LEDin. Yhdistä ESP32 järjestelmään ja lataa ohjelma siihen.

Lähetä nyt 1 ja 0 Android-puhelimen Bluetooth-sarjaviestintäsovelluksesta.

Näet saman tulon Android-puhelimesta vastaanotetussa Arduino IDE -päätteessä.

Lähtö

Kun lähetät korkean tai 1 arvon, LED syttyy, samoin kun lähetät matalan arvon, LED sammuu.

Aseta mukautettu painike

Voit myös asettaa mukautetun painikkeen Serial Bluetooth -sovelluksessa. Esimerkiksi HIGH- ja LOW-arvojen painike voidaan luoda. Tällä tavalla sinun ei tarvitse kirjoittaa arvoja manuaalisesti. Sen sijaan sinun tarvitsee vain painaa pikanäppäintä, ja se suorittaa määrittämäsi käskyn.

Huomautus: Avaa painikeasetukset painamalla painiketta pitkään.

Aseta HIGH-painikkeen arvo määrittämällä seuraavat asetukset.

LOW-painikkeen arvon samankaltaisuus, sinun on määritettävä alla olevat asetukset.

Olemme yhdistäneet ESP32-kortin Android-puhelimeen Bluetoothin avulla. Nyt voit luoda monia projekteja käyttämällä sitä. Kuten, voit ohjata kodinkonettasi ESP32 Bluetoothin avulla relepiirin kautta.

Aiheeseen liittyvä: Rele ESP32:lla Arduino IDE:n avulla

Johtopäätös

ESP32 on edistynyt mikro-ohjainkortti, jossa on Wi-Fi- ja Bluetooth-ominaisuudet. Molemmat sisäänrakennetut moduulit auttavat sinua suunnittelemaan edistyneitä projekteja ja ohjaamaan oheislaitteita langattomasti. Vastaavasti voit yhdistää ESP32:n Android-puhelimeen ja suorittaa erilaisia ​​toimintoja. Tätä varten sinun on asennettava Bluetooth Serial Android -sovellus. Kun olet asentanut, avaa ESP32 Bluetoothin esimerkkikoodi ja lataa se levyllesi. Kun koodi on ladattu, voit muodostaa parin korttisi kanssa Android-puhelimen kautta.