Tartalomjegyzék:

ESP32 kódgenerátor - Wifi, BLE, Bluetooth: 9 lépés
ESP32 kódgenerátor - Wifi, BLE, Bluetooth: 9 lépés

Videó: ESP32 kódgenerátor - Wifi, BLE, Bluetooth: 9 lépés

Videó: ESP32 kódgenerátor - Wifi, BLE, Bluetooth: 9 lépés
Videó: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
ESP32 kódgenerátor - Wifi, BLE, Bluetooth
ESP32 kódgenerátor - Wifi, BLE, Bluetooth

Bevezetés

Az ESP32 egy olcsó kettős processzor chip, amely támogatja a WiFi -t, a Bluetooth Classic -ot és a BLE -t (Bluetooth Low Energy). Bár a chip évek óta nem működik, az Arduino kódtámogatása még mindig nem fejeződött be (2018 áprilisában), de ez az oktatható és kódgenerátor kitölti a hiányzó BLE és analogWrite funkciókat.

Tipp: Az ESP32 nem rendelkezik „szabványos Arduino” analóg írási funkcióval. Ez a kódgenerátor azonban olyan kódot generál, amely szimulálja azt az Ön számára

Tipp: Az ESP -kód telepítése nem tartalmazza a BLE támogatását. Az itt leírt telepítés tartalmazza a BLE támogatást

Ez a weboldal bemutatja az Arduino IDE beállítását az ESP32 programozásához BLE, Bluetooth vagy WiFi kapcsolatokhoz. A pfodDesigner minden egyes kapcsolattípushoz kódot generál, és kódot generál a hiányzó analogWrite függvény szimulálására.

Az ESP32 egy olcsó kettős processzor chip, amely támogatja a WiFi -t, a Bluetooth Classic -ot és a BLE -t (Bluetooth Low Energy). Bár a chip már évek óta nem működik, az Arduino kódtámogatása még mindig nem fejeződött be (2018 áprilisában), de ez az oktatóanyag és a kódgenerátor kitölti a hiányzó BLE és analogWrite funkciókat. Ez a weboldal a Arduino IDE az ESP32 programozásához BLE, Bluetooth vagy WiFi kapcsolatokhoz. A pfodDesigner minden egyes kapcsolattípushoz kódot generál, és kódot generál a hiányzó analogWrite függvény szimulálására.

Az Arduino kiegészítő mintegy 31 ESP32 táblát támogat. A pfodDesigner használatakor olyan tűcsatlakozásokat kell választania, amelyek megfelelnek az adott táblán elérhetőknek. A Sparkfun ESP32 Thing (vagy Adafruit HUZZAH32 Feather) itt szolgál ESP32 példaként, de a kódot a 31 támogatott ESP32 kártya bármelyikéhez használhatja.

Az ingyenes pfodDesignerV3 Android alkalmazást a vezérlőmenü (WYSIWYG) létrehozásához, majd az ESP32 kód létrehozásához használják, akár BLE, WiFi, akár Bluetooth kapcsolathoz. Miután beprogramozta az ESP32 kártyáját, a pfodApp Android alkalmazással (fizetős) csatlakozhat az ESP32 -hez (BLE vagy WiFi vagy Bluetooth kapcsolaton keresztül), megjelenítheti a vezérlőmenüt és irányíthatja az ESP32 -t. Ha nem szeretné használni a pfodApp alkalmazást, továbbra is használhatja a létrehozott kódoltat saját WiFi, BLE (Nordic UART) vagy Bluetooth kapcsolatainak alapjául, mivel Stream (nyomtatás/olvasás) interfészt biztosít ezekhez a kapcsolattípusokhoz..

1. lépés: Tipp: Az Arduino támogatás telepítése az ESP32 -hez BLE támogatással

2018 áprilisában az Arduino ESP32 támogatás telepítése nagyobb szerepet játszik, mint a legtöbb más tábla, és a mellékelt kódkönyvtárak nem teljesek. Nem használhatja az Arduino Board kezelőt az ESP32 támogatás telepítéséhez. Kövesse ezeket a lépéseket az Arduino beállításához az ESP32 programozáshoz. Ez telepíti az ESP32 -t és a BLE támogatást is.

1 Keresse meg az Arduino Sketchbook helykönyvtárának útvonalát. Nyissa meg az Arduino IDE-t, és keresse meg a Fájl-> Beállítások pontot, és a képernyő tetején látni fogja a Sketchbook helyét.

2 Töltse le ezt az ESP32_hardware.zip fájlt, és bontsa ki a Sketchbook helyre. Ott létrehoz egy hardver alkönyvtárat. Abban a valószínűtlen esetben, ha már van hardveres alkönyvtára a vázlatfüzetben, egyesítse annak tartalmát ezzel.

3 Telepítse az Xtensa és az ESP32 Eszközöket. Megjegyzés: Ez a letöltés és telepítés némi időt vesz igénybe a ~ 0.5Gig fájlok feldolgozásához. Lépjen a hardver / espressif / esp32 / tools könyvtárba, majd Windows gépek esetén futtassa a get.exe fájlt. Mac és Linux felhasználók számára az eszközök letöltéséhez futtassa a get.py python parancsfájlt. Terminál használatával navigáljon a hardver/espressif/esp32/tools mappához. Ezután írja be: python get.pyA "get.py" python parancsfájl letölti az Xtensa GNU eszközöket és az ESP32 szoftverfejlesztő készletet (SDK), majd kicsomagolja őket a megfelelő helyre.

Ha elkészült, néhány új mappát kell látnia az „tools” könyvtárban, beleértve az „sdk” és az „xtensa-esp32-elf” mappákat.

Ha ez befejeződött, zárja be és nyissa meg újra az Arduino IDE-t, és most az ESP32 táblák hosszú listája közül választhat az Eszköz-> Táblák menüben. Válassza a „SparkFun ESP32 Thing” (vagy „Adafruit ESP32 Feather”) lehetőséget

Ezután megnyithatja a Fájl-példák listát, és számos ESP32-példafájlt láthat

A fenti folyamat pillanatképet telepít az egyetlen zip fájlba egyesített ESP32 és BLE támogatás github kódjáról. A pfodDesigner által generált kód és az alábbi példák a könyvtárak ezen verzióját használják. Ha a legújabb verziót szeretné, esetleg más funkciókkal és hibákkal, akkor töltse le a https://github.com/espressif/arduino-esp32 legújabb verziójának zip-jét, és bontsa ki hardverre/espressif-re, és nevezze át a mappába esp32, majd a BLE támogatáshoz töltse le a https://github.com/espressif/arduino-esp32 legújabb verzióját, majd csomagolja ki az esp32/libraries mappába, és nevezze át ESP32_BLE_Arduino (ha szükséges).

2. lépés: A PfodParser könyvtárak telepítése az ESP32 számára

a) Ezután töltse le a pfodParser.zip könyvtárat V3.23+, pfodDwgControls.zip, és ESP32 WiFi esetén a pfodESP32BufferedClient.zip, zip fájlokat a számítógépére, helyezze át az asztalára vagy más könnyen megtalálható mappába.

b) Ezután használja az Arduino 1.8.2 IDE menüpontját Vázlat → Könyvtár importálása → Könyvtár hozzáadása a telepítéshez. (Ha az Arduino nem engedi telepíteni, mert a könyvtár már létezik, akkor keresse meg és törölje a régebbi pfodParser, pfodCmdParser vagy pfodCHAP stb mappákat, majd importálja ezeket)

c) Állítsa le és indítsa újra az Arduino IDE-t, és a Fájl-> Példák alatt most látnia kell a pfodParser, a pfodDwgControls és a pfodESP32BufferedClient könyvtárakat és számos példát.

3. lépés: A PfodDesignerV3 használata ESP32 esetén

Az ingyenes pfodDesignerV3 (V3291+) alkalmazás támogatja az ESP32 chip kódjának létrehozását, hogy BLE, WiFi vagy Bluetooth Classic kapcsolaton keresztül csatlakozzon a pfodApp -hoz (fizetős).

Sok létező oktatóanyag létezik arról, hogyan hozhat létre vezérlőket az Android mobiltelefonjára, hogy a pfodDesignerV3 segítségével táblát használhasson. A pfodDesignerV3 segítségével olyan vezérlőket hozhat létre, amelyek ki- vagy bekapcsolják vagy impulzusokkal vezérlik a kimeneteket, vezérelhetik a kimeneteket PWM-en keresztül, megjeleníthetik a bemeneti vagy analóg érték állapotát, naplózhatnak és ábrázolhatnak adatokat és almenüket.

Tipp: Az ESP32 Arduino támogatás mintegy 31 különböző ESP32 kártya támogatását tartalmazza. A pfodDesignerV3 hozzáférést biztosít az összes ESP32 I/O csatlakozóhoz, de nem minden tábla csatlakoztatja az összes ESP32 érintkezőt a kártya csapjaihoz. Ellenőrizze a tábla dokumentációját, amelyhez elérhetők a tűk, és tekintse meg a pins_arduino.h fájlt az alaplap hardver / espressif / esp32 / variants könyvtárában.

A pfodDesignerV3 csapok listája megjegyzéseket tartalmaz a Sparkfun ESP32 Thing és az Adafruit HUZZAH32 - ESP32 tolllapok elérhetőségével és speciális felhasználású csapjaival kapcsolatban.

Ezek a példák a Sparkfun ESP32 Thing táblát használják, és egy csúszkát hoznak létre az Android -mobil 5 -ös tűjéhez csatlakoztatott fedélzeti LED fényerejének szabályozására. Ha helyette az Adafruit HUZZAH32 - ESP32 tolllapot használja, akkor a fedélzeti LED csatlakozik a 13 -as tűhöz. A fent telepített ESP32 Arduino támogatás nem támogatja közvetlenül az Arduino analogWrite -jét. Ehelyett az ESP32 16 PWM csatornával rendelkezik, amelyek bármelyik kimenethez vezérelhetők és csatlakoztathatók. A pfodDesignerV3 minden szükséges kódot generál a csatorna kiosztásához és a kiválasztott kimenethez való csatlakoztatásához. Telepítse az ingyenes pfodDesignerV3 (V3291+) alkalmazást a Google Playről.

4. lépés: ESP32 BLE kódgenerátor

ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor
ESP32 BLE kódgenerátor

Indítson új menüt

Kattintson a Cél gombra a céleszköz megváltoztatásához.

Az első példa cél az ESP32 BLE lesz, ezért kattintson a Bluetooth Low Energy gombra.

Válassza ki a BLE -n keresztül csatlakoztatott ESP32 elemet, majd nyomja meg a mobil vissza gombot, hogy visszatérjen a főképernyőre.

5. lépés: A menü megtervezése - a prompt

A menü tervezése - a prompt
A menü tervezése - a prompt
A menü tervezése - a prompt
A menü tervezése - a prompt
A menü tervezése - a prompt
A menü tervezése - a prompt

Ez az egyszerű példa csak promptot és egyetlen vezérlőt tartalmaz. A prompt szövegének beállításához kattintson a Prompt Edit (Prompt szerkesztése) gombra, majd a Prompt Text (Szerkesztés szöveg) gombra.

Itt a prompt beállítása „ESP32 Led”. Kattintson a kullancs gombra a szerkesztések mentéséhez és az előző képernyőre való visszatéréshez. Ezután kattintson a Háttérszín beállítása gombra a vezérlők menüjének összes színének kiválasztásához.

Minden vezérlőhöz különböző színeket választhat. Számos más formátum is rendelkezésre áll a kéréshez. Itt a háttér kék színű, a betűméret +5, a szöveg félkövér. A formázott prompt előnézete megjelenik a Szerkesztési prompt képernyő alján.

6. lépés: A menü tervezése - PWM LED vezérlés

A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control
A menü tervezése - PWM Led Control

A mobil Vissza gombjával térjen vissza a főmenübe, majd kattintson a Menüelem hozzáadása gombra vezérlőelem vagy megjelenítőelem hozzáadásához.

Válassza ki a PWM kimenet elemet. A vezérlő előnézete megjelenik a képernyő tetején.

Tipp: Az ESP32 nem rendelkezik „szabványos Arduino” analóg írási funkcióval. Ez a kódgenerátor azonban olyan kódot generál, amely szimulálja azt az Ön számára

Kattintson a Vezető szöveg szerkesztése gombra, és változtassa meg a „PWM beállítása” értéket „Led” értékre. Jegyezze fel a záró szóközt, amely elválasztja a „Led” -t a % jelzéstől.

Kattintson a kullancs gombra a szerkesztés mentéséhez, majd görgessen le a „Nincs csatlakoztatva I/O tűhöz” gombra.

Kattintson erre a gombra a kimenetként használható csapok listájának megjelenítéséhez.

Ez a Sparkfun ESP32 Thing és az Adafruit HUZZAH32 Feather táblák speciális felhasználási csapjait mutatja. Válassza ki az 5-ös tűt, hogy a csúszkavezérlő vezérelje a Sparkfun ESP32 Thing fedélzeti led fényerejét. Ha az Adafruit HUZZAH32 tolllapot használja, válassza ki a 13. tűt. Más táblák esetén nézze meg a táblák dokumentációját és a pins_arduino.h fájlt az alaplap hardver / espressif / esp32 / variants könyvtárában

Ezután, amikor befejezte a formázási beállítások elvégzését ehhez a csúszkához, a mobil Vissza gombjával térjen vissza a főmenübe, majd kattintson az Előnézet menüre, és nézze meg, hogyan fog kinézni a végső menü a mobilján, amikor a pfodApp megjeleníti. A vezérlők élőben vannak, így áthelyezheti őket az előnézetben.

7. lépés: Generálja az ESP32 kódot

Generálja az ESP32 kódot
Generálja az ESP32 kódot
Generálja az ESP32 kódot
Generálja az ESP32 kódot

Menjen vissza a főmenübe, és görgessen lefelé a Kód létrehozása gombra.

Kattintson a Kód létrehozása gombra, majd a Kód írása fájlba gombra a kód létrehozásához

Lépjen ki a pfodDesignerV3 programból, és vigye át a kódot a /pfodAppRawData/pfodDesignerV3.txt fájlból a mobiljáról a számítógépére. Ennek módját lásd a pfodAppForAndroidGettingStarted.pdf dokumentumban. A smarterDroid wifi fájlátviteli pro alkalmazása az egyik módja az átvitelnek.

A „Cél módosítása” gombbal a Kód létrehozása képernyőn válthat az ESP32 BLE, ESP32 Bluetooth és ESP32 között WiFi segítségével

8. lépés: A példák futtatása

A példák futtatása
A példák futtatása

A „Cél módosítása” gombbal a Kód létrehozása képernyőn válthat az ESP32 BLE, ESP32 Bluetooth és ESP32 között WiFi segítségével

Így készült az alábbi három példavázlat a fenti tervezésből.

A pfodESP32_BLE példa futtatása

A Cél beállítása ESP32-re BLE-n keresztül létrehozza a kódot a pfodESP32_LED_BLE.ino fájlban. Ez a vázlat a Fájl-> Példák-> pfodParser alatt is elérhető. Nyissa meg ezt a példát, majd a Sparkfun ESP32 Thing (vagy más ESP32 kártya) programozása után létre kell hoznia egy kapcsolatot vele a pfodApp alkalmazásban (a részletekért lásd a pfodAppForAndroidGettingStarted.pdf fájlt), és csatlakozzon, és állítsa be a fényerőt. tábla vezette.

TIPP: Az ESP32 ugyanazt a Bluetooth -címet használja mind a BLE, mind a Bluetooth számára, ezért ha korábban beállított egy ESP32 Bluetooth -kapcsolatot a pfodApp alkalmazásban, törölnie kell ezt a pfodApp Bluetooth -kapcsolatot a BLE -kapcsolat beállítása előtt, mivel a pfodApp szűri a meglévő kapcsolatokat (cím) az elérhető eszközök listájáról. Előfordulhat, hogy meg kell nyitnia a mobil beállításait, és „el kell felejtenie” az ESP32 Bluetooth -kapcsolatot, majd ki kell kapcsolnia a mobil Bluetooth -ját, és újra kell indítania a telefont a Bluetooth -verem törléséhez

TIPP: A Neil Kolban ESP32_BLE_Arduino könyvtára nem kompatibilis a Sandeep Mistry BLEPeripheral könyvtárával, amelyet a pfodDesigner által létrehozott más BLE -célok használnak. Tehát el kell távolítania a BLEPeripheral könyvtárat (ha létezik) az Arduino/libraries könyvtárából az ESP32 BLE vázlatok összeállításához.

Példa a pfodESP32_Bluetooth futtatására

Ha a Target értéket ESP32-re állítja Bluetooth-on keresztül, akkor a kód létrejön a pfodESP32_LED_Bluetooth.ino fájlban. Ez a vázlat a File-> Examples-> pfodParser alatt is elérhető. Nyissa meg ezt a példát, majd programozza be a Sparkfun ESP32 Thing -et (vagy más ESP32 -kártyát). Párosítani kell az ESP32 -t a telefonnal, nincs szükség PIN -kódra. Ezután hozzon létre egy kapcsolatot vele a pfodApp -on (a részleteket lásd a pfodAppForAndroidGettingStarted.pdf -ben), és csatlakoztassa, és állítsa be a tábla led fényerejét.

A pfodESP32_WiFi példa futtatása

A cél beállítása ESP32-re WiFi-n keresztül létrehozza a kódot a pfodESP32_LED_WiFi.ino fájlban. Ez a vázlat a Fájl-> Példák-> pfodParser alatt is elérhető. Nyissa meg ezt a példát, és illessze be a hálózat nevét és jelszavát, és válasszon statikus IP -címet ehhez az eszközhöz. Ezután a Sparkfun ESP32 Thing (vagy más ESP32 kártya) programozása után létre kell hoznia egy kapcsolatot vele a pfodApp -on (a részleteket lásd a pfodAppForAndroidGettingStarted.pdf -ben), és csatlakozhat, és képesnek kell lennie a tábla led fényerejének beállítására.

9. lépés: WiFi biztonság

Ha az ESP32 -hez interneten keresztül csatlakozik (wifi -n keresztül), akkor fontos a biztonság. Nem szeretné, ha bárki kinyitná például a garázskaput. A kódgenerátor és a pfodParser könyvtár támogatja a 128 bites biztonságot. Ez a biztonság nem titkosítja az üzeneteket, hanem kriptográfiai kivonatot ad hozzá minden üzenethez, hogy megvédje a jogosulatlan csatlakozást és vezérlést. A biztonság megvalósításának részleteit lásd a SipHash Secure Challenge and Response című részben.

128 bites biztonság hozzáadása

A védelem a jogosulatlan felhasználók ellen, akik hozzáférnek az eszközéhez az interneten keresztül, olyan egyszerű, mint a#define pfodSecurityCode "" szerkesztése saját titkos kód hozzáadásához. (legfeljebb 32 hexadecimális számjegy)

Például egy 173057F7A706AF9BBE65D51122A14CEE biztonsági kód beállításához használja a#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Természetesen saját titkos kódját. Ha saját kódját állítja be a pfodApp kapcsolatában, akkor Ön és senki más nem tud csatlakozni.

A jó biztonság érdekében hosszú véletlenszerű kódra van szükség. A pfodApp legfeljebb 128 bites 32Hex számjegyeket támogat.

Saját titkos kód létrehozásához letölthet egy véletlenszerű titkos kulcsgenerátort innen. Titkos kulcsgenerátor innen. A véletlenszerű kulcsok előállítása mellett ez a program QR -kódként írja ki őket, így könnyen és pontosan beállíthatja őket a pfodApp kapcsolatba.

Kinyomtathatja a QR -kódot, és csatolhatja a pfodDevice készülékhez. Ezután kattintson a QR -szkennelés gombra a pfodApp WiFi kapcsolat képernyőjén a jelszó beolvasásához.

Lásd: Egyszerű WiFi/Arduino pfodDevice ™ 128 bites biztonsággal, ahol részletes példát talál a kulcsgenerátor és a QR -kód használatára.

Következtetés

Ez az oktatóanyag megmutatta, hogyan kell beállítani az Arduino IDE -t az ESP32 programozásához. Ezután az ingyenes pfodDesigner alkalmazást felhasználva tervezett egy menüt, amely szabályozhatja a fedélzeti led és generált kód fényerejét az ESP32 -hez BLE, Bluetooth vagy WiFi kapcsolaton keresztül történő csatlakozáshoz. Ha ezután a pfodApp apppfodApp alkalmazáson keresztül csatlakozik, megjelenik a tervezett menü, és csúszkával szabályozhatja a LED fényerejét. A pfodDesigner generálja az összes Arduino kódot, beleértve az Arduino analóg írásának szimulálását. Nincs szükség Arduino kódolásra. A pfodApp gondoskodik az összes Android -oldalról, nincs szükség Android -kódolásra.

Ajánlott: