Az ESP32 beállítása és programozása Android okostelefonnal való kommunikációhoz Bluetooth-on keresztül

Az Esp32 Beallitasa Es Programozasa Android Okostelefonnal Valo Kommunikaciohoz Bluetooth On Keresztul



Az ESP32 egy mikrovezérlő kártya, amely számos képességgel rendelkezik. Beépített Wi-Fi és Bluetooth modulokkal rendelkezik. Mindkét modul használatával vezeték nélkül programozhatja az ESP32-t. Ezzel nem kell aggódnia a hosszú vezetékes csatlakozások miatt az ESP32 perifériák vezérléséhez.

Ebben a cikkben egy ESP32 kártyát csatlakoztatunk egy Android telefonhoz, és Bluetooth-on keresztül kommunikálunk adatokat. Továbbá az ESP32 GPIO érintkezőihez csatlakoztatott LED-et közvetlenül az Android okostelefonon keresztül vezéreljük.

Tartalom:







Mi az ESP32 Bluetooth LE

Az ESP32 egy mikrovezérlő kártya, amely támogatja a Bluetooth Classic és a Bluetooth Low Energy technológiát, más néven intelligens Bluetooth-ot. A BLE vagy intelligens Bluetooth kifejezetten energiahatékony kommunikációra szolgál, vagy rövid hatótávolságú kommunikációra vagy kis adatátvitelre tervezték.



Az ESP32 BLE funkciója lehetővé teszi, hogy szerverként vagy kliensként működjön a Bluetooth kommunikációban. Olyan feladatokat tud kezelni, mint az olvasási és írási szolgáltatások. Ezenkívül titkosíthatja a kapcsolatokat, és létrehozhatja a soros port profil (SPP) kapcsolatokat az adatátvitelhez UART-BLE áteresztő módban. Az ESP32 Bluetooth támogatja a 4.2-es protokollokat, ami azt jelenti, hogy kompatibilis a különböző rétegekkel, például a fizikai réteggel (PHY) és a kapcsolati réteggel (LL). Többek között támogatja a Host Controller Interface-t (HCI) is.



Ellenőrizze az ESP32 Classic és a BLE Bluetooth különbségtáblázatát.





Funkció Klasszikus Bluetooth Alacsony energiafogyasztású Bluetooth (BLE)
Kommunikációs típus Tartós, kétirányú kommunikáció Időszakos, elsősorban egyirányú adatlöketek
Működési tartomány Akár 100 métert is elérhet Általában 100 méter alatt működik
Energiahasználat Akár 1 wattot fogyaszt 10 milliwatttól 500 milliwattig terjed
Átviteli sebesség Az adatátviteli sebesség másodpercenként 1 és 3 megabit között változik Támogatja a 125 kilobit/s és 2 megabit/s sebességet
Válaszidő A késleltetés körülbelül 100 ezredmásodperc Gyors válasz 6 milliszekundumos késleltetéssel
Hangtámogatás Hangátvitellel felszerelve Hiányzik a hangátviteli funkció

Tekintse meg ezeket az ESP32 Bluetooth-cikkeket, hogy többet tudjon meg róla.

Az ESP32 programozása Bluetooth-on keresztüli kommunikációhoz Android okostelefonnal

Az ESP32 programozásához be kell állítania az ESP32 Bluetooth soros könyvtárat, hogy kommunikálni tudjon egy Android telefonnal a Bluetooth protokoll használatával. Ehhez telepítenie kell egy Arduino IDE-beállítást ESP32 kártyával.



Az ESP32 Bluetooth beállítása után telepítenie kell a Bluetooth soros Android alkalmazást. Ez lehetővé teszi, hogy utasításokat küldjön egy Android telefonról az ESP32-re Bluetooth soros kommunikáció segítségével.

Nézzük meg közelebbről az egyes lépéseket:

Az ESP32 Bluetooth csatlakoztatásának lépései Android telefonnal

Az ESP32 kártya Bluetooth kommunikációra programozásához kövesse az alábbi lépéseket:

1. lépés: Az ESP32 kártya telepítése az Arduino IDE-ben

Az ESP32 Arduino IDE-re való telepítéséhez egyszerűen kövesse az ebben a cikkben található útmutatót.

Az ESP32 kártya telepítése az Arduino IDE-ben

A telepítés után az ESP32 kártya Arduino IDE segítségével csatlakoztatható és programozható.

2. lépés: Töltse fel az ESP32 Bluetooth-kódot

Az ESP32 kártya telepítése után különböző előre telepített könyvtárakat és példákat fog látni az Arduino IDE-ben. Mindezek a könyvtárak az ESP32 kártyához kapcsolódnak. A Bluetooth soros kommunikációhoz az ESP32-t fogjuk használni BluetoothSerial.h könyvtári példakód.

A példakód megnyitásához nyissa meg az Arduino IDE-t, és lépjen a következő helyre: Fájl > Példák > BluetoothSerial > SerialtoSerialBT

A példakód megnyitásához győződjön meg arról, hogy az ESP32 kártya van kiválasztva.

A példakód megnyitása után a következő kódot fogja látni az Arduino IDE ablakában:

//Üdvözöljük a Linuxhintben

#include 'BluetoothSerial.h'

//#define USE_PIN // Törölje a megjegyzést, ha a párosítás során PIN-kódot szeretne
const char * pin = '1234' ; // Egyéni párosítási PIN megadása

Karakterlánc eszköz_neve = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error A Bluetooth nincs engedélyezve! Futtassa a `make menuconfig' parancsot az engedélyezéséhez
#endif

#if !defined(CONFIG_BT_SPP_ENABLED)
#error A soros Bluetooth hiányzik vagy nincs engedélyezve. Csak az ESP32 chiphez érhető el.
#endif

BluetoothSerial SerialBT ;

üres beállít ( ) {
Sorozatszám. kezdődik ( 115200 ) ;
SerialBT. kezdődik ( eszköz neve ) ; //Bluetooth-eszköz neve
Sorozatszám. printf ( 'Az eszköz ' % s ' indul. \n Kezdje el a készülék párosítását! \n ' , eszköz neve. c_str ( ) ) ;
//Serial.printf('A %s MAC-című '%s' eszköz elindult.\nKezdje el a párosítást Bluetooth-szal!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
Sorozatszám. println ( 'PIN használata' ) ;
#endif
}

üres hurok ( ) {
ha ( Sorozatszám. elérhető ( ) ) {
SerialBT. ír ( Sorozatszám. olvas ( ) ) ;
}
ha ( SerialBT. elérhető ( ) ) {
Sorozatszám. ír ( SerialBT. olvas ( ) ) ;
}
késleltetés ( húsz ) ;
}

A kód feltöltése után a következő üzenet jelenik meg a képernyőn. Ez az üzenet azt írja le, hogy az ESP32 kártya készen áll a párosításra.

3. lépés: Kódmagyarázat

A kód a szükséges könyvtárak felvételével és a Bluetooth elérhetőségének ellenőrzésével kezdődött. Változókat is beállít a Bluetooth-eszköz nevéhez és PIN-kódjához.

Ban,-ben beállít() funkciót, a soros baud kommunikáció definiálva van, és a Bluetooth eszköz inicializálva van a nevével. Egyéni PIN beállítható a hitelesítéshez a párosítás során.

A hurok() funkció folyamatosan ellenőrzi a soros és a Bluetooth kapcsolaton lévő adatokat. Ez lehetővé teszi kétirányú kommunikáció létrehozását az ESP32 és a párosított Bluetooth-eszköz között.

4. lépés: Telepítse az Android alkalmazást

A kód feltöltése után a következő lépés az Android alkalmazás telepítése és konfigurálása a Bluetooth kapcsolathoz.

Nyissa meg a Play Áruházat, és telepítse a Soros Bluetooth terminál Alkalmazás.

A telepítés után nyissa meg az okostelefon Bluetooth beállításait, és csatlakoztassa telefonját az ESP32 Bluetooth segítségével. Ha PIN kódot definiált az Arduino IDE kódban, meg kell adnia a PIN-kódot, különben közvetlenül csatlakozik.

Most nyissa meg a Soros Bluetooth alkalmazást, és válassza ki a Eszközök választási lehetőség.

Az újonnan megnyíló menüből válassza ki az ESP32 eszközt. Ez a lista az összes jelenleg aktív Bluetooth-eszközt mutatja.

Amint látja, az ESP32 Bluetooth csatlakozik Android okostelefonjához.

A kapcsolat teszteléséhez egy karakterláncot fogunk küldeni. Itt két különböző karakterláncot küldtem.

Észre fogja venni, hogy ugyanaz a két karakterlánc megjelenik az Arduino IDE terminálon is.

Most lépjünk egy lépéssel tovább, és vezéreljünk egy külső perifériát, például egy LED-et ESP32 Bluetooth használatával az Android okostelefonon keresztül.

5. lépés: A LED vezérlése Android telefon használatával Bluetooth-on keresztül

A LED ESP32 és Android Bluetooth használatával történő vezérléséhez először módosítsa a fenti kódot, és határozzon meg egy GPIO tűt a LED számára. Ezt követően be kell állítania a LED be- és kikapcsolásának értékeit.

A folytatáshoz töltse fel az alábbi kódot.

#include // Tartalmazza a Bluetooth soros kommunikációs könyvtárat

#define LED_PIN 15 // A LED érintkezőjének meghatározása

BluetoothSerial SerialBT ; // Hozzon létre egy BluetoothSerial objektumot
bájt BT_INP ; // A Bluetooth bemenet tárolására szolgáló változó

// Ellenőrizze, hogy a Bluetooth és a Bluedroid engedélyezve van-e az SDK-konfigurációban
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error A Bluetooth nincs engedélyezve. Futtassa a `make menuconfig' parancsot az engedélyezéséhez.
#endif

üres beállít ( ) {
pinMode ( LED_PIN , KIMENET ) ; // A LED lábának beállítása kimenetként
Sorozatszám. kezdődik ( 115200 ) ;
SerialBT. kezdődik ( 'ESP32' ) ; // A Bluetooth inicializálása 'ESP32' néven
Sorozatszám. println ( 'Bluetooth-eszköz készen áll a párosításra.' ) ; // Jelzi, hogy a Bluetooth készen áll
}

üres hurok ( ) {
// Ellenőrizze, hogy van-e elérhető adat a Bluetooth-ról olvasásra
ha ( SerialBT. elérhető ( ) ) {
BT_INP = SerialBT. olvas ( ) ; // Olvassa be a bejövő bájtot a Bluetooth-ról
Sorozatszám. ír ( BT_INP ) ; // Az olvasási bájt visszaadása a soros monitoron
}

// Ellenőrizze a fogadott Bluetooth adatokat, és állítsa be a LED állapotát
ha ( BT_INP == '1' ) {
digitalWrite ( LED_PIN , MAGAS ) ; // Kapcsolja be a LED-et, ha '1' érkezik
} más ha ( BT_INP == '0' ) {
digitalWrite ( LED_PIN , ALACSONY ) ; // Kapcsolja ki a LED-et, ha „0” érkezik
}
}

Ez a kód egy ESP32 mikrokontrollerhez való, amellyel Bluetooth-on keresztül vezérelheti a LED-eket. Tartalmaz egy könyvtárat a Bluetooth kommunikációhoz. Ezután meghatározza a LED érintkezőjét, és beállítja a Bluetooth-t egy ESP32 nevű eszközzel. A főhurok beolvassa a Bluetooth-adatokat, és a kapott parancs alapján be- vagy kikapcsolja a LED-et (1 a BE, 0 a KI).

Kördiagramm

A kapcsolási rajz egyszerű, a tüskére csatlakoztatott LED-del D15 az ESP32. Bármilyen más GPIO-t megadhat LED-vezérléshez.

Összefüggő: ESP32 Pinout Reference – Ultimate Guide

Hardver

Hardverben kenyérsütőtáblára, ESP32 kártyára és LED-re lesz szüksége. Csatlakoztassa az ESP32-t a rendszerhez, és töltse fel rá a programot.

Most küldje el az 1-et és a 0-t az Android telefon Bluetooth soros kommunikációs alkalmazásából.

Ugyanezt a bemenetet fogja látni az Android telefontól kapott Arduino IDE terminálon.

Kimenet

Ha elküldi a Magas vagy 1 értéket, a LED BE kapcsol, hasonlóan az alacsony érték elküldésekor a LED kialszik.

Állítson be egyéni gombot

Egyéni gombot is beállíthat a Soros Bluetooth alkalmazáson belül. Például létrehozhat egy HIGH és LOW értékgombot. Így nem kell kézzel beírnia az értékeket. Ehelyett csak meg kell nyomnia a gyorsbillentyűt, és végrehajtja a beállított utasítást.

Jegyzet: A gombbeállítások megnyitásához nyomja meg hosszan a gombot.

A HIGH gomb értékének beállításához adja meg a következő beállításokat.

A LOW gomb értékének hasonlósága miatt meg kell határoznia az alábbi beállításokat.

Sikeresen csatlakoztattuk az ESP32 kártyát egy Android telefonhoz Bluetooth segítségével. Mostantól sok projektet hozhat létre ezzel. Hasonlóan vezérelheti háztartási készülékeit az ESP32 Bluetooth segítségével egy relé áramkörön keresztül.

Összefüggő: Relé ESP32-vel Arduino IDE használatával

Következtetés

Az ESP32 egy fejlett mikrokontroller kártya Wi-Fi és Bluetooth képességekkel. Mindkét beépített modul segít haladó projektek tervezésében és a perifériák vezeték nélküli vezérlésében. Hasonlóképpen csatlakoztathatja az ESP32-t egy Android telefonhoz, és különféle műveleteket hajthat végre. Ehhez telepítenie kell a Bluetooth Serial Android alkalmazást. A telepítés után nyissa meg az ESP32 Bluetooth példakódját, és töltse fel a kártyájára. A kód feltöltése után Android-telefonon keresztül párosíthatja a kártyával.