Obsah:

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

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

Video: Generátor kódu ESP32 - Wifi, BLE, Bluetooth: 9 kroků
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Listopad
Anonim
Generátor kódu ESP32 - Wifi, BLE, Bluetooth
Generátor kódu ESP32 - Wifi, BLE, Bluetooth

Úvod

ESP32 je levný duální procesor s podporou WiFi, Bluetooth Classic a BLE (Bluetooth Low Energy). Přestože čip existuje již několik let, podpora kódu pro Arduino stále není úplná (k dubnu 2018), ale tento instrukovatelný generátor kódu vyplňuje chybějící funkce BLE a analogWrite.

Tip: ESP32 nemá funkci „standardní Arduino“analogWrite. Tento generátor kódu však generuje kód, který jej pro vás simuluje

Tip: Instalace kódu ESP neobsahuje podporu BLE. Zde popsaná instalace zahrnuje podporu BLE

Tato webová stránka se bude zabývat nastavením Arduino IDE pro programování ESP32 pro připojení BLE, Bluetooth nebo WiFi. PfodDesigner generuje kód pro každý z těchto typů připojení a také generuje kód pro simulaci chybějící funkce analogWrite.

ESP32 je levný duální procesor s podporou WiFi, Bluetooth Classic a BLE (Bluetooth Low Energy). Přestože čip existuje již několik let, podpora kódu pro Arduino stále není úplná (k dubnu 2018), ale tento návod a generátor kódu vyplňuje chybějící funkce BLE a analogWrite. Tato webová stránka se bude zabývat nastavením Arduino IDE k programování ESP32 pro připojení BLE, Bluetooth nebo WiFi. Nástroj pfodDesigner generuje kód pro každý z těchto typů připojení a také generuje kód pro simulaci chybějící funkce analogWrite.

Doplněk Arduino podporuje asi 31 desek ESP32. Při používání pfodDesigner budete muset zvolit pinové připojení, které odpovídá těm, které jsou k dispozici na vaší konkrétní desce. Jako příklad desky ESP32 je zde použit Sparkfun ESP32 Thing (nebo Adafruit HUZZAH32 Feather), ale kód můžete použít pro kteroukoli z 31 podporovaných desek ESP32.

Bezplatná aplikace pfodDesignerV3 pro Android slouží k vytvoření ovládacího menu (WYSIWYG) a následnému vygenerování kódu pro ESP32, buď pro připojení BLE, WiFi nebo Bluetooth. Po naprogramování desky ESP32 se pak můžete pomocí aplikace pfodApp pro Android (placené) připojit k vašemu ESP32 (přes BLE nebo WiFi nebo Bluetooth) a zobrazit nabídku ovládání a ovládat svůj ESP32. Pokud nechcete používat pfodApp, můžete stále použít generovaný kód jako základ pro vlastní připojení WiFi, BLE (Nordic UART) nebo Bluetooth, protože poskytuje rozhraní Stream (tisk/čtení) pro každý z těchto typů připojení.

Krok 1: Tip: Instalace podpory Arduino pro ESP32 s podporou BLE

V dubnu 2018 je instalace podpory Arduino ESP32 více zapojena než u většiny ostatních desek a dodané knihovny kódů nejsou úplné. K instalaci podpory ESP32 nemůžete použít správce Arduino Board. Při nastavování Arduina pro programování ESP32 postupujte takto. Tím se nainstaluje ESP32 a také podpora BLE.

1 Najděte cestu ke svému adresáři umístění Arduino Sketchbook. Otevřete Arduino IDE a podívejte se do Soubor-> Předvolby a v horní části této obrazovky uvidíte umístění Skicáře.

2 Stáhněte si tento soubor ESP32_hardware.zip a rozbalte jej do umístění Skicáře. Vytvoří tam hardwarový podadresář. V nepravděpodobném případě, že již v umístění Skicáře máte hardwarový podadresář, sloučte jeho obsah s tímto.

3 Nainstalujte si nástroje Xtensa a ESP32. Poznámka: Toto stahování a instalace nějakou dobu trvá, než zpracování ~ 0,5 Gig souborů. Přejděte do adresáře hardware / espressif / esp32 / tools a poté pro počítače se systémem Windows spusťte soubor get.exe. Pro uživatele počítačů Mac a Linux spusťte skript get.py python a stáhněte si nástroje. Pomocí terminálu přejděte do složky hardware/espressif/esp32/tools. Poté zadejte: python get.py Skript python „get.py“stáhne nástroje Xtensa GNU a sadu pro vývoj softwaru (SDK) ESP32 a rozbalí je na správné místo.

Po dokončení byste měli vidět několik nových složek v adresáři „tools“, včetně „sdk“a „xtensa-esp32-elf“.

Jakmile je toto dokončeno, zavřete a znovu otevřete Arduino IDE a nyní byste měli mít dlouhý seznam desek ESP32, ze kterých si můžete vybrat v nabídce Tool-> Boards. Vyberte „SparkFun ESP32 Thing“(nebo „Adafruit ESP32 Feather“)

Poté můžete otevřít seznam Příklady souborů a zobrazit několik příkladů souborů ESP32

Výše uvedený postup nainstaluje snímek kódu github pro podporu ESP32 a BLE, které byly sloučeny do jednoho souboru zip. PfodDesigner generovaný kód a níže uvedené příklady používají tuto verzi těchto knihoven. Pokud chcete nejnovější verzi, případně s jinou sadou funkcí a chyb, stáhněte si zip nejnovější verze https://github.com/espressif/arduino-esp32 a rozbalte jej na hardware/espressif a přejmenujte složku esp32 a poté si pro podporu BLE stáhněte zip nejnovější verze https://github.com/espressif/arduino-esp32 a rozbalte jej do složky esp32/libraries a přejmenujte jej na ESP32_BLE_Arduino (je-li to nutné).

Krok 2: Instalace knihoven PfodParser pro ESP32

a) Poté si stáhněte knihovnu pfodParser.zip V3.23+, pfodDwgControls.zip a pro ESP32 WiFi soubory pfodESP32BufferedClient.zip, zip soubory do počítače, přesuňte je na plochu nebo do jiné složky, kterou můžete snadno najít.

b) Poté je použijte k instalaci pomocí Arduino 1.8.2 IDE v nabídce Skica → Importovat knihovnu → Přidat knihovnu. (Pokud vám Arduino nedovolí instalaci, protože knihovna již existuje, najděte a odstraňte starší složky pfodParser, pfodCmdParser nebo pfodCHAP atd. A poté tyto importujte)

c) Zastavte a restartujte Arduino IDE a v části Soubor-> Příklady byste nyní měli vidět knihovny pfodParser, pfodDwgControls a pfodESP32BufferedClient a řadu příkladů.

Krok 3: Použití PfodDesignerV3 pro ESP32

Bezplatná aplikace pfodDesignerV3 (V3291+) podporuje generování kódu pro čip ESP32 pro připojení přes BLE, WiFi nebo Bluetooth Classic k pfodApp (placené).

Existuje mnoho stávajících návodů, jak vytvořit ovládací prvky pro mobilní zařízení Android k ovládání široké škály desek pomocí pfodDesignerV3. S pfodDesignerV3 můžete vytvářet ovládací prvky, které výstupy zapínají/vypínají nebo pulzují, ovládají výstupy pomocí PWM, zobrazují stav vstupní nebo analogové hodnoty, zaznamenávají a zaznamenávají data a dílčí nabídky a mnoho dalšího.

Tip: Podpora ESP32 Arduino zahrnuje podporu pro 31 různých desek ESP32. PfodDesignerV3 vám poskytuje přístup ke všem I/O pinům ESP32, ale ne všechny desky spojují všechny piny ESP32 s piny. Podívejte se do dokumentace své desky, pro kterou jsou piny k dispozici, a podívejte se do souboru pins_arduino.h v adresáři hardware / espressif / esp32 / variant.

Seznam pinů pfodDesignerV3 obsahuje komentáře ohledně dostupnosti a kolíků pro speciální použití pro Sparkfun ESP32 Thing a Adafruit HUZZAH32 - ESP32 Feather Boards.

Tyto příklady používají desku Sparkfun ESP32 Thing a vytvářejí posuvník pro ovládání jasu integrované diody LED připojené ke kolíku 5 z mobilního telefonu Android. Pokud místo toho používáte desku Adafruit HUZZAH32 - ESP32 Feather, pak je integrovaná LED připojena ke kolíku 13. Podpora ESP32 Arduino, nainstalovaná výše, nepodporuje analogWrite Arduino přímo. Místo toho má ESP32 16 kanálů PWM, které můžete ovládat a připojit k jakémukoli výstupu. PfodDesignerV3 generuje veškerý potřebný kód pro přidělení kanálu a jeho připojení k vámi zvolenému výstupu. Nainstalujte si zdarma 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

Spustit novou nabídku

Kliknutím na tlačítko Cíl změníte cílové zařízení.

Prvním příkladem cíle bude ESP32 BLE, takže klikněte na tlačítko Bluetooth Low Energy.

Vyberte ESP32 připojený přes BLE a poté se stisknutím tlačítka zpět na mobilu dostanete zpět na hlavní obrazovku.

Krok 5: Navrhování nabídky - výzva

Navrhování nabídky - výzva
Navrhování nabídky - výzva
Navrhování nabídky - výzva
Navrhování nabídky - výzva
Navrhování nabídky - výzva
Navrhování nabídky - výzva

Tento jednoduchý příklad bude mít pouze výzvu a jeden ovládací prvek. Text výzvy nastavíte kliknutím na tlačítko Upravit výzvu a poté na tlačítko Upravit text výzvy.

Zde je výzva nastavena na „LED ESP32“. Kliknutím na tlačítko zaškrtnutí uložíte úpravy a vrátíte se na předchozí obrazovku. Poté kliknutím na Nastavit barvu pozadí vyberte v nabídce ovládacích prvků více než všechny barvy.

Pro každý ovládací prvek můžete vybrat různé barvy. Pro výzvu jsou k dispozici různé další formáty. Zde je pozadí nastaveno na modré a velikost písma je +5 a text je tučný. Ve spodní části obrazovky Výzva k úpravám se zobrazí náhled formátované výzvy.

Krok 6: Navrhování nabídky - PWM Led Control

Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control
Navrhování nabídky - PWM Led Control

Pomocí tlačítka Zpět na mobilu se vraťte do hlavní nabídky a poté kliknutím na Přidat položku nabídky přidejte ovládací nebo zobrazovací položku.

Vyberte položku PWM Output. V horní části obrazovky se zobrazí náhled ovládacího prvku.

Tip: ESP32 nemá funkci „standardní Arduino“analogWrite. Tento generátor kódu však generuje kód, který jej pro vás simuluje

Klikněte na tlačítko Upravit úvodní text a změňte „Nastavení PWM“na „Led“Poznamenejte si mezerník, abyste oddělili „Led“od indikace %.

Kliknutím na tlačítko zaškrtnutí uložte úpravu a poté přejděte dolů na tlačítko „Není připojeno ke vstupu/výstupu“.

Kliknutím na toto tlačítko zobrazíte seznam pinů, které lze použít jako výstupy.

Toto ukazuje kolíky pro speciální použití pro desky Sparkfun ESP32 Thing a Adafruit HUZZAH32 Feather. Vyberte pin 5, aby posuvný ovladač ovládal jas LED diody Sparkfun ESP32 Thing. Pokud používáte desku Adafruit HUZZAH32 Feather, vyberte místo ní pin 13. U ostatních desek zkontrolujte dokumentaci svých desek a soubor pins_arduino.h v adresáři hardware / espressif / esp32 / variant desky

Poté, co dokončíte jakékoli další nastavení formátování pro tento posuvník, pomocí tlačítka Zpět na mobilním telefonu se vraťte do hlavní nabídky a kliknutím na nabídku Náhled zobrazíte, jak bude konečná nabídka vypadat na vašem mobilu, když je zobrazí aplikace pfodApp. Ovládací prvky jsou aktivní, takže je můžete přesouvat v náhledu.

Krok 7: Vygenerujte kód ESP32

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

Vraťte se do hlavní nabídky a přejděte dolů na tlačítko Generovat kód.

Kód vygenerujete kliknutím na tlačítko Generovat kód a poté na tlačítko Napsat kód do souboru

Ukončete soubor pfodDesignerV3 a přeneste kód v souboru /pfodAppRawData/pfodDesignerV3.txt z mobilu do počítače. Viz pfodAppForAndroidGettingStarted.pdf, kde najdete způsoby, jak toho dosáhnout. Aplikace wifi pro přenos souborů od smarterDroid je jedním ze způsobů, jak provést přenos.

Pomocí tlačítka „Změnit cíl“na obrazovce Generovat kód můžete přepínat mezi ESP32 přes BLE, ESP32 přes Bluetooth a ESP32 přes WiFi

Krok 8: Spuštění příkladů

Spuštění příkladů
Spuštění příkladů

Pomocí tlačítka „Změnit cíl“na obrazovce Generovat kód můžete přepínat mezi ESP32 přes BLE, ESP32 přes Bluetooth a ESP32 přes WiFi

Takto byly z výše uvedeného návrhu generovány následující tři ukázkové skici.

Spuštění příkladu pfodESP32_BLE

Nastavení cíle na ESP32 pomocí BLE generuje kód v pfodESP32_LED_BLE.ino Tato skica je také k dispozici v části Soubor-> Příklady-> pfodParser. Otevřete tento příklad a po naprogramování Sparkfun ESP32 Thing (nebo jiné desky ESP32) byste k němu měli nastavit připojení na pfodApp (podrobnosti viz pfodAppForAndroidGettingStarted.pdf) a připojit se a mít možnost upravit jas deska vedla.

TIP: ESP32 používá stejnou adresu bluetooth pro BLE i Bluetooth, takže pokud jste dříve nastavili připojení Bluetooth ESP32 v pfodApp, musíte toto připojení pfodApp Bluetooth před nastavením připojení BLE odstranit, protože pfodApp filtruje stávající připojení (podle adresa) ze seznamu dostupných zařízení. Možná budete muset také otevřít nastavení svého mobilního telefonu a „zapomenout“připojení Bluetooth ESP32 a poté vypnout Bluetooth mobilního telefonu a restartovat telefon, abyste vymazali zásobník Bluetooth

TIP: Knihovna ESP32_BLE_Arduino od Neila Kolbana není kompatibilní s knihovnou BLEPeripheral od Sandeep Mistry, kterou používají některé další cíle BLE generované programem pfodDesigner. Abyste mohli sestavit skici ESP32 BLE, musíte z adresáře Arduino/libraries odstranit adresář BLEPeripheral (pokud existuje).

Spuštění příkladu pfodESP32_Bluetooth

Nastavení cíle na ESP32 přes Bluetooth vygeneruje kód v pfodESP32_LED_Bluetooth.ino Tato skica je také k dispozici pod Soubor-> Příklady-> pfodParser. Otevřete tento příklad a naprogramujte Sparkfun ESP32 Thing (nebo jinou desku ESP32). ESP32 musíte spárovat s telefonem, není vyžadováno žádné číslo PIN. Poté k němu vytvořte připojení na pfodApp (podrobnosti viz pfodAppForAndroidGettingStarted.pdf) a připojte se a můžete upravit jas LED diody desky.

Spuštění příkladu pfodESP32_WiFi

Nastavení cíle na ESP32 přes WiFi generuje kód v pfodESP32_LED_WiFi.ino Tato skica je také k dispozici v části Soubor-> Příklady-> pfodParser. Otevřete tento příklad a zadejte název a heslo vaší sítě a vyberte pro toto zařízení statickou IP adresu. Poté, po naprogramování Sparkfun ESP32 Thing (nebo jiné desky ESP32), byste k němu měli nastavit připojení na pfodApp (podrobnosti viz pfodAppForAndroidGettingStarted.pdf) a připojit se a mít možnost upravit jas LED diody desky.

Krok 9: Zabezpečení WiFi

Pokud se připojujete k ESP32 přes internet (přes wifi), pak je zabezpečení důležité. Nechcete, aby vám třeba jen někdo mohl otevřít garážová vrata. Generátor kódu a knihovna pfodParser podporuje 128bitové zabezpečení. Toto zabezpečení nešifruje zprávy, ale místo toho přidává do každé zprávy kryptografický hash, aby byl chráněn před neautorizovaným připojením a kontrolou. Podrobnosti o tom, jak je toto zabezpečení implementováno, najdete v tématu SipHash Secure Challenge and Response.

Přidání 128bitového zabezpečení

Zabezpečení proti neautorizovaným uživatelům přistupujícím k vašemu zařízení přes internet je stejně snadné jako úpravy#define pfodSecurityCode "" pro přidání vlastního tajného kódu. (až 32 hexadecimálních číslic)

Například pro nastavení bezpečnostního kódu 173057F7A706AF9BBE65D51122A14CEE byste použili#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Samozřejmě byste měli použít svůj vlastní tajný kód. Nastavení vlastního kódu v připojení pfodApp vám a nikomu jinému umožní připojení.

Pro dobré zabezpečení je nezbytný dlouhý náhodný kód. pfodApp podporuje až 128 bitů jako 32Hex číslic.

Chcete -li vygenerovat svůj vlastní tajný kód, můžete si zde stáhnout náhodný generátor tajných klíčů. Kromě generování náhodných klíčů tento program zapisuje jako QR kódy, takže je můžete snadno a přesně nastavit ve svém připojení pfodApp.

QR kód si můžete vytisknout a připojit k zařízení pfodDevice. Poté klikněte na obrazovku Skenovat QR na obrazovce připojení pfodApp WiFi a přečtěte si heslo.

Podrobný příklad použití generátoru klíčů a QR kódu najdete v článku Jednoduché WiFi/Arduino pfodDevice ™ se 128bitovým zabezpečením.

Závěr

Tento tutoriál ukázal, jak nastavit Arduino IDE k programování ESP32. Poté pomocí bezplatné aplikace pfodDesigner navrhl nabídku pro ovládání jasu integrovaného LED a generovaného kódu pro připojení k ESP32 přes BLE, Bluetooth nebo WiFi. Pokud se poté připojíte prostřednictvím aplikace pfodApp, uvidíte nabídku, kterou jste navrhli, a budete moci ovládat jas LED pomocí posuvníku. PfodDesigner generuje veškerý kód Arduino, včetně simulace analogWrite Arduina. Nebylo vyžadováno žádné kódování Arduino. PfodApp se stará o všechny stránky Androidu, není vyžadováno žádné Android kódování.

Doporučuje: