Obsah:

Generátor kódu ESP32 - Wifi, BLE, Bluetooth: 9 krokov
Generátor kódu ESP32 - Wifi, BLE, Bluetooth: 9 krokov

Video: Generátor kódu ESP32 - Wifi, BLE, Bluetooth: 9 krokov

Video: Generátor kódu ESP32 - Wifi, BLE, Bluetooth: 9 krokov
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Generátor kódu ESP32 - Wifi, BLE, Bluetooth
Generátor kódu ESP32 - Wifi, BLE, Bluetooth

Úvod

ESP32 je nízkonákladový duálny procesor s podporou WiFi, Bluetooth Classic a BLE (Bluetooth Low Energy). Aj keď je čip už niekoľko rokov, podpora kódu pre Arduino stále nie je úplná (k aprílu 2018), ale tento návod a generátor kódu dopĺňa chýbajúce funkcie BLE a analogWrite.

Tip: ESP32 nemá funkciu „štandardného Arduino“analogWrite. Tento generátor kódu však generuje kód, ktorý ho pre vás simuluje

Tip: Inštalácia kódu ESP neobsahuje podporu BLE. Tu popísaná inštalácia obsahuje podporu BLE

Táto webová stránka sa bude zaoberať nastavením IDE Arduino na programovanie ESP32 na pripojenie BLE, Bluetooth alebo WiFi. PfodDesigner generuje kód pre každý z týchto typov pripojení a tiež generuje kód na simuláciu chýbajúcej funkcie analogWrite.

ESP32 je nízkonákladový duálny procesor s podporou WiFi, Bluetooth Classic a BLE (Bluetooth Low Energy). Aj keď je čip už niekoľko rokov, podpora kódu pre Arduino stále nie je úplná (k aprílu 2018), ale tento návod a generátor kódu dopĺňa chýbajúce funkcie BLE a analogWrite. Táto webová stránka sa zameria na nastavenie Arduino IDE na programovanie ESP32 pre pripojenie BLE, Bluetooth alebo WiFi. PfodDesigner generuje kód pre každý z týchto typov pripojení a tiež generuje kód na simuláciu chýbajúcej funkcie analogWrite.

Doplnok Arduino podporuje asi 31 dosiek ESP32. Pri použití programu pfodDesigner budete musieť zvoliť pinové pripojenia, ktoré sa zhodujú s tými, ktoré sú k dispozícii na vašej konkrétnej doske. Ako príklad dosky ESP32 sa tu používa Sparkfun ESP32 Thing (alebo Adafruit HUZZAH32 Feather), ale kód môžete použiť pre ktorúkoľvek z 31 podporovaných dosiek ESP32.

Bezplatná aplikácia pfodDesignerV3 pre Android slúži na vytvorenie ponuky ovládania (WYSIWYG) a následné vygenerovanie kódu pre ESP32, a to buď pre pripojenie BLE, WiFi alebo Bluetooth. Po naprogramovaní dosky ESP32 sa potom môžete pomocou aplikácie pfodApp pre Android (platenej) pripojiť k vášmu systému ESP32 (prostredníctvom BLE alebo WiFi alebo Bluetooth) a zobraziť tak svoju ponuku ovládania a ovládať svoj ESP32. Ak nechcete používať pfodApp, môžete vygenerovaný kódovaný kód použiť ako základ pre svoje vlastné pripojenie WiFi, BLE (Nordic UART) alebo Bluetooth, pretože každému z týchto typov pripojení poskytuje rozhranie Stream (tlač/čítanie)..

Krok 1: Tip: Inštalácia podpory Arduino pre ESP32 s podporou BLE

V apríli 2018 je inštalácia podpory Arduino ESP32 zapojená viac ako pre väčšinu ostatných dosiek a dodané knižnice kódov nie sú úplné. Na inštaláciu podpory ESP32 nemôžete použiť správcu dosky Arduino. Pri nastavovaní Arduina na programovanie ESP32 postupujte podľa týchto krokov. Tým sa nainštaluje ESP32 a tiež podpora BLE.

1 Nájdite cestu k svojmu adresáru umiestnenia skicára Arduino. Otvorte Arduino IDE a nájdite položku Súbor-> Predvoľby a v hornej časti obrazovky sa zobrazí umiestnenie Skicára.

2 Stiahnite si tento súbor ESP32_hardware.zip a rozbaľte ho do umiestnenia Skicár. Vytvorí tam hardvérový podadresár. V nepravdepodobnom prípade, že už máte v priečinku Skicár hardvérový podadresár, zlúčte jeho obsah s týmto.

3 Nainštalujte nástroje Xtensa a ESP32. Poznámka: Spracovanie ~ 0,5 Gig súborov trvá určitý čas, kým sa stiahne a nainštaluje. Prejdite do adresára hardware / espressif / esp32 / tools a potom pre počítače so systémom Windows spustite súbor get.exe. Pre používateľov počítačov Mac a Linux spustite skript get.py python a stiahnite si nástroje. Pomocou terminálu prejdite do priečinka hardware/espressif/esp32/tools. Potom zadajte: python get.pySkript python „get.py“stiahne nástroje Xtensa GNU a súpravu na vývoj softvéru (SDK) ESP32 a rozbalí ich na správne miesto.

Po dokončení by ste v priečinku „nástroje“mali vidieť niekoľko nových priečinkov vrátane „sdk“a „xtensa-esp32-elf“.

Akonáhle je to hotové, zatvorte a znova otvorte svoje Arduino IDE a teraz by ste mali mať k dispozícii dlhý zoznam dosiek ESP32, z ktorých si môžete vybrať v ponuke Nástroje-> Dosky. Vyberte „Vec SparkFun ESP32“(alebo „Perie Adafruit ESP32“)

Potom môžete otvoriť zoznam Príklady súborov a zobraziť množstvo príkladov súborov ESP32

Vyššie uvedeným procesom sa nainštaluje snímka kódu github pre podporu ESP32 a BLE, ktoré boli zlúčené do jedného súboru zip. Túto verziu týchto knižníc generuje kód pfodDesigner a nižšie uvedené príklady. Ak chcete najnovšiu verziu, s možno odlišnou sadou funkcií a chýb, stiahnite si zip najnovšej verzie https://github.com/espressif/arduino-esp32 a rozbaľte ho na hardvér/espressif a premenujte priečinok esp32 a potom si pre podporu BLE stiahnite zip najnovšej verzie https://github.com/espressif/arduino-esp32 a rozbaľte ho do priečinka esp32/libraries a premenujte ho ESP32_BLE_Arduino (v prípade potreby).

Krok 2: Inštalácia knižníc PfodParser pre ESP32

a) Potom si stiahnite knižnicu pfodParser.zip V3.23+, pfodDwgControls.zip a pre ESP32 WiFi súbor pfodESP32BufferedClient.zip, zip súbory do počítača, presuňte ich na pracovnú plochu alebo do iného priečinka, ktorý môžete ľahko nájsť.

b) Potom ich nainštalujte pomocou ponuky Arduino 1.8.2 IDE Skica → Importovať knižnicu → Pridať knižnicu. (Ak vám Arduino nedovolí nainštalovať ho, pretože knižnica už existuje, nájdite a odstráňte staršie priečinky pfodParser, pfodCmdParser alebo pfodCHAP atď. A potom ich importujte.)

c) Zastavte a reštartujte Arduino IDE a v časti Súbor-> Príklady by ste teraz mali vidieť knižnice pfodParser, pfodDwgControls a pfodESP32BufferedClient a množstvo príkladov.

Krok 3: Použitie PfodDesignerV3 pre ESP32

Bezplatná aplikácia pfodDesignerV3 (V3291+) podporuje generovanie kódu pre čip ESP32 na pripojenie cez BLE, WiFi alebo Bluetooth Classic k pfodApp (platené).

Existuje mnoho existujúcich návodov, ako vytvoriť pre svoj mobilný telefón so systémom Android ovládacie prvky na ovládanie širokého spektra dosiek pomocou programu pfodDesignerV3. S pfodDesignerV3 môžete vytvárať ovládacie prvky, ktoré zapínajú/vypínajú výstupy alebo ich pulzujú, ovládajú výstupy prostredníctvom PWM, zobrazujú stav vstupnej alebo analógovej hodnoty, zaznamenávajú a zaznamenávajú údaje a podmenu a mnoho ďalších.

Tip: Podpora ESP32 Arduino obsahuje podporu pre 31 rôznych dosiek ESP32. PfodDesignerV3 vám poskytuje prístup ku všetkým I/O kolíkom ESP32, ale nie všetky dosky spájajú všetky piny ESP32 s kolíkmi. V dokumentácii k svojej doske, pre ktoré sú piny dostupné, si prezrite súbor pins_arduino.h v adresári hardware / espressif / esp32 / variant.

Zoznam pinov pfodDesignerV3 obsahuje komentáre k dostupnosti a kolíkom na špeciálne použitie pre Sparkfun ESP32 Thing and Adafruit HUZZAH32 - ESP32 Feather Boards.

Tieto príklady používajú dosku Sparkfun ESP32 Thing a vytvárajú posuvník na ovládanie jasu integrovanej diódy LED pripojenej k pinu 5 z mobilného telefónu s Androidom. Ak namiesto toho používate dosku Adafruit HUZZAH32 - ESP32 Feather, potom je vstavaná LED dióda pripojená k pinu 13. Podpora ESP32 Arduino, nainštalovaná vyššie, nepodporuje analógový zápis Arduino priamo. Namiesto toho má ESP32 16 kanálov PWM, ktoré môžete ovládať a pripojiť sa k akémukoľvek z výstupov. PfodDesignerV3 generuje všetok potrebný kód na priradenie kanála a pripojenie k vami zvolenému výstupu. Nainštalujte si zadarmo pfodDesignerV3 (V3291+) z Google Play.

Krok 4: Generátor kódu ESP32 BLE

Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE
Generátor kódu ESP32 BLE

Spustiť novú ponuku

Kliknutím na tlačidlo Cieľ zmeníte cieľové zariadenie.

Prvým príkladom cieľa bude ESP32 BLE, takže kliknite na tlačidlo Bluetooth s nízkou spotrebou energie.

Vyberte ESP32 pripojený cez BLE a potom sa stlačením tlačidla späť na mobile vráťte na hlavnú obrazovku.

Krok 5: Navrhnutie ponuky - výzva

Navrhovanie menu - výzva
Navrhovanie menu - výzva
Navrhovanie ponuky - výzva
Navrhovanie ponuky - výzva
Navrhovanie menu - výzva
Navrhovanie menu - výzva

Tento jednoduchý príklad bude mať iba výzvu a jediné ovládanie. Text výzvy nastavíte kliknutím na tlačidlo Upraviť výzvu a potom na tlačidlo Upraviť text výzvy.

Tu je výzva nastavená na „LED ESP32“. Kliknutím na tlačidlo začiarknutia uložíte úpravy a vrátite sa na predchádzajúcu obrazovku. Potom kliknutím na položku Nastaviť farbu pozadia vyberte pre ponuku ovládacích prvkov celú farbu.

Pre každý ovládací prvok môžete vybrať rôzne farby. Pre výzvu sú k dispozícii rôzne ďalšie formáty. Tu je pozadie nastavené na modrú a veľkosť písma je +5 a text je tučný. Ukážka formátovanej výzvy sa zobrazí v spodnej časti obrazovky Výzva na úpravu.

Krok 6: Navrhovanie ponuky - ovládanie LED PWM

Navrhovanie ponuky - PWM Led Control
Navrhovanie ponuky - PWM Led Control
Navrhovanie ponuky - LED ovládanie PWM
Navrhovanie ponuky - LED ovládanie PWM
Navrhovanie ponuky - LED ovládanie PWM
Navrhovanie ponuky - LED ovládanie PWM
Navrhovanie ponuky - LED ovládanie PWM
Navrhovanie ponuky - LED ovládanie PWM

Pomocou tlačidla späť na mobile sa vráťte do hlavnej ponuky a potom kliknutím na položku Pridať položku ponuky pridajte ovládaciu alebo zobrazenú položku.

Vyberte položku PWM Output. V hornej časti obrazovky je zobrazený náhľad ovládacieho prvku.

Tip: ESP32 nemá funkciu „štandardného Arduino“analogWrite. Tento generátor kódu však generuje kód, ktorý ho pre vás simuluje

Kliknite na tlačidlo Upraviť úvodný text a zmeňte „Nastavenie PWM“na „Led“. Všimnite si koncový priestor, aby ste oddelili „LED“od indikácie %.

Kliknutím na tlačidlo začiarknutia uložte úpravu a potom posuňte zobrazenie nadol na tlačidlo „Nie je pripojené k pinu I/O“.

Kliknutím na toto tlačidlo zobrazíte zoznam pinov, ktoré je možné použiť ako výstupy.

Toto ukazuje kolíky na špeciálne použitie pre dosky Sparkfun ESP32 Thing a Adafruit HUZZAH32 Feather. Vyberte pin 5, aby posuvný ovládač ovládal jas LED diódy Sparkfun ESP32 Thing. Ak používate perovú dosku Adafruit HUZZAH32, zvoľte namiesto nej kolík 13. Ostatné dosky nájdete v dokumentácii k svojim doskám a v súbore pins_arduino.h v adresári hardware / espressif / esp32 / variant.

Keď potom dokončíte akékoľvek ďalšie nastavenia formátovania pre tento posúvač, pomocou tlačidla späť na mobile sa vráťte do hlavnej ponuky a kliknutím na položku Ponuka ukážky uvidíte, ako bude konečná ponuka vo vašom mobile vyzerať, keď ju zobrazí aplikácia pfodApp. Ovládacie prvky sú zverejnené, takže ich môžete v ukážke presúvať.

Krok 7: Vygenerujte kód ESP32

Vygenerujte kód ESP32
Vygenerujte kód ESP32
Vygenerujte kód ESP32
Vygenerujte kód ESP32

Vráťte sa do hlavnej ponuky a posuňte sa nadol na tlačidlo Generovať kód.

Na vygenerovanie kódu kliknite na tlačidlo Generovať kód a potom na tlačidlo Zapísať kód do súboru

Ukončite pfodDesignerV3 a preneste kód v súbore /pfodAppRawData/pfodDesignerV3.txt z mobilu do počítača. Spôsoby, ako to urobiť, nájdete na stránke pfodAppForAndroidGettingStarted.pdf. Aplikácia wifi file transfer pro od spoločnosti smarterDroid je jedným zo spôsobov prenosu.

Pomocou tlačidla „Zmeniť cieľ“na obrazovke Generovať kód môžete prepínať medzi ESP32 cez BLE, ESP32 cez Bluetooth a ESP32 cez WiFi

Krok 8: Spustenie príkladov

Spustenie príkladov
Spustenie príkladov

Pomocou tlačidla „Zmeniť cieľ“na obrazovke Generovať kód môžete prepínať medzi ESP32 cez BLE, ESP32 cez Bluetooth a ESP32 cez WiFi

Takto boli z vyššie uvedeného návrhu generované nasledujúce tri ukážkové skice.

Spustenie príkladu pfodESP32_BLE

Nastavením cieľa na ESP32 prostredníctvom BLE sa vygeneruje kód v pfodESP32_LED_BLE.ino Táto skica je k dispozícii aj v časti Súbor-> Príklady-> pfodParser. Otvorte ten príklad, potom po naprogramovaní veci Sparkfun ESP32 Thing (alebo inej dosky ESP32) by ste k nej potom mali vytvoriť pripojenie na serveri pfodApp (podrobnosti nájdete v časti pfodAppForAndroidGettingStarted.pdf) a pripojiť sa a môcť nastaviť jas doska viedla.

TIP: ESP32 používa rovnakú adresu bluetooth pre BLE aj Bluetooth, takže ak ste predtým nastavili pripojenie Bluetooth ESP32 v programe pfodApp, pred nastavením pripojenia BLE musíte toto pripojenie Bluetooth pfodApp odstrániť, pretože pfodApp filtruje existujúce pripojenia (podľa adresa) zo zoznamu dostupných zariadení. Tiež budete musieť otvoriť nastavenia svojho mobilného telefónu a „zabudnúť“pripojenie Bluetooth ESP32 a potom vypnúť Bluetooth mobilného telefónu a reštartovať telefón, aby sa vymazal zásobník Bluetooth

TIP: Knižnica ESP32_BLE_Arduino od Neila Kolbana nie je kompatibilná s BLEPeriférnou knižnicou od Sandeep Mistry, ktorú používajú niektoré ďalšie ciele BLE generované programom pfodDesigner. Aby ste mohli zostaviť náčrty ESP32 BLE, musíte odstrániť adresár BLEPeripheral (ak existuje) z adresára Arduino/libraries.

Spustenie príkladu pfodESP32_Bluetooth

Nastavením cieľa na ESP32 cez Bluetooth sa vygeneruje kód v pfodESP32_LED_Bluetooth.ino Táto skica je k dispozícii aj v časti Súbor-> Príklady-> pfodParser. Otvorte tento príklad a naprogramujte Sparkfun ESP32 Thing (alebo inú dosku ESP32). ESP32 musíte spárovať s telefónom, číslo PIN nie je potrebné. Potom k nemu vytvorte pripojenie na pfodApp (podrobnosti nájdete v časti pfodAppForAndroidGettingStarted.pdf) a pripojte sa a budete môcť nastaviť jas LED diódy dosky.

Spustenie príkladu pfodESP32_WiFi

Nastavením cieľa na ESP32 prostredníctvom WiFi sa vygeneruje kód v pfodESP32_LED_WiFi.ino Táto skica je k dispozícii aj v časti Súbor-> Príklady-> pfodParser. Otvorte tento príklad, zadajte názov a heslo svojej siete a zvoľte pre toto zariadenie statickú adresu IP. Potom, po naprogramovaní veci Sparkfun ESP32 (alebo inej dosky ESP32), by ste k nej mali vytvoriť pripojenie na serveri pfodApp (podrobnosti nájdete v časti pfodAppForAndroidGettingStarted.pdf) a pripojiť sa a mať možnosť nastaviť jas LED diódy dosky.

Krok 9: Zabezpečenie WiFi

Ak sa pripájate k ESP32 cez internet (cez wifi), potom je bezpečnosť dôležitá. Nechcete, aby vám napríklad garážovú bránu otvoril len tak hocikto. Generátor kódu a knižnica pfodParser podporuje 128 -bitové zabezpečenie. Toto zabezpečenie nešifruje správy, ale namiesto toho do každej správy pridá kryptografický hash na ochranu pred neautorizovaným pripojením a kontrolou. Podrobnosti o implementácii tohto zabezpečenia nájdete v časti SipHash Secure Challenge and Response.

Pridanie 128 -bitového zabezpečenia

Zabezpečenie pred neautorizovaným prístupom používateľov k vášmu zariadeniu cez internet je rovnako jednoduché ako úprava#define pfodSecurityCode "" a pridanie vlastného tajného kódu. (až 32 hexadecimálnych číslic)

Napríklad na nastavenie bezpečnostného kódu 173057F7A706AF9BBE65D51122A14CEE by ste použili#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Samozrejme by ste mali použiť svoj tajný kód. Nastavenie vlastného kódu v pripojení pfodApp vám a nikomu ďalšiemu umožní pripojenie.

Na zaistenie bezpečnosti je potrebný dlhý náhodný kód. pfodApp podporuje až 128 bitov ako 32 Hex číslic.

Na vygenerovanie vlastného tajného kódu si môžete stiahnuť náhodný generátor tajných kľúčov odtiaľto. Tajný generátor kľúčov odtiaľto. Tento program okrem generovania náhodných kľúčov zapisuje aj ako QR kódy, takže ich môžete ľahko a presne nastaviť vo svojom pripojení pfodApp.

Môžete si vytlačiť QR kód a pripojiť ho k svojmu zariadeniu pfodDevice. Potom kliknutím na tlačidlo Skenovať QR na obrazovke pripojenia k sieti pfodApp WiFi načítajte heslo.

Podrobný príklad použitia generátora kľúčov a kódu QR nájdete v dokumente Jednoduché WiFi/Arduino pfodDevice ™ so 128 -bitovým zabezpečením.

Záver

Tento tutoriál ukázal, ako nastaviť Arduino IDE na programovanie ESP32. Potom pomocou bezplatnej aplikácie pfodDesigner navrhla ponuku na ovládanie jasu integrovaného LED a generovaného kódu na pripojenie k ESP32 prostredníctvom BLE, Bluetooth alebo WiFi. Ak sa potom pripojíte prostredníctvom aplikácie pfodApp, zobrazí sa ponuka, ktorú ste navrhli, a budete môcť ovládať jas diódy pomocou posúvača. PfodDesigner generuje všetok kód Arduino vrátane simulácie analógového zápisu Arduina. Nevyžadovalo sa žiadne kódovanie Arduino. Aplikácia pfodApp sa stará o všetky stránky systému Android, nie je potrebné žiadne kódovanie systému Android.

Odporúča: