Kazalo:

Generator kod ESP32 - Wifi, BLE, Bluetooth: 9 korakov
Generator kod ESP32 - Wifi, BLE, Bluetooth: 9 korakov

Video: Generator kod ESP32 - Wifi, BLE, Bluetooth: 9 korakov

Video: Generator kod ESP32 - Wifi, BLE, Bluetooth: 9 korakov
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Generator kod ESP32 - Wifi, BLE, Bluetooth
Generator kod ESP32 - Wifi, BLE, Bluetooth

Uvod

ESP32 je poceni dvoprocesorski čip s podporo za WiFi, Bluetooth Classic in BLE (Bluetooth Low Energy). Čeprav čip ni na voljo več let, podpora za kodo za Arduino še vedno ni popolna (aprila 2018), vendar ta orodja za ustvarjanje navodil in kod zapolnijo manjkajoče funkcije BLE in analogWrite.

Nasvet: ESP32 nima funkcije "standardnega Arduina" analogWrite. Vendar ta generator kod generira kodo, ki jo simulira za vas

Nasvet: Namestitev kode ESP ne vključuje podpore BLE. Tukaj opisana namestitev vključuje podporo BLE

Ta spletna stran zajema nastavitev Arduino IDE za programiranje ESP32 za povezave BLE, Bluetooth ali WiFi. PfodDesigner generira kodo za vsako od teh vrst povezav in tudi kodo za simulacijo manjkajoče funkcije analogWrite.

ESP32 je poceni dvoprocesorski čip s podporo za WiFi, Bluetooth Classic in BLE (Bluetooth Low Energy). Čeprav čip ni več let, podpora za kodo za Arduino še vedno ni popolna (aprila 2018), vendar ta vadnica in generator kod zapolnjuje manjkajoče funkcije BLE in analogWrite. Ta spletna stran bo zajemala nastavitev Arduino IDE za programiranje ESP32 za povezave BLE, Bluetooth ali WiFi. PfodDesigner generira kodo za vsako od teh vrst povezav in tudi kodo za simulacijo manjkajoče funkcije analogWrite.

Dodatek Arduino podpira približno 31 plošč ESP32. Ko uporabljate pfodDesigner, boste morali izbrati pin povezave, ki se ujemajo s tistimi, ki so na voljo na vaši plošči. Sparkfun ESP32 Thing (ali Adafruit HUZZAH32 Feather) se tukaj uporablja kot primer plošče ESP32, lahko pa uporabite kodo za katero koli od 31 podprtih plošč ESP32.

Brezplačna aplikacija pfodDesignerV3 za Android se uporablja za ustvarjanje nadzornega menija (WYSIWYG) in nato za ustvarjanje kode za ESP32, bodisi za povezavo BLE, WiFi ali Bluetooth. Ko ste programirali ploščo ESP32, se lahko nato z aplikacijo pfodApp za Android (plačljivo) povežete z ESP32 (prek BLE ali WiFi ali Bluetooth) in prikažete svoj nadzorni meni ter upravljate svoj ESP32. Če ne želite uporabljati pfodApp, lahko še vedno uporabite ustvarjeno kodiranje kot osnovo za lastne povezave WiFi, BLE (Nordic UART) ali Bluetooth, saj zagotavlja vmesnik Stream (tiskanje/branje) za vsako od teh vrst povezav.

1. korak: Nasvet: Namestitev podpore Arduino za ESP32 s podporo BLE

Aprila 2018 je namestitev podpore Arduino ESP32 bolj vključena kot pri večini drugih plošč in priložene knjižnice kod niso popolne. Za namestitev podpore ESP32 ne morete uporabiti upravitelja plošče Arduino. Sledite tem korakom, da nastavite Arduino za programiranje ESP32. S tem boste namestili ESP32 in tudi podporo BLE.

1 Poiščite pot vašega imenika lokacij Arduino Sketchbook. Odprite Arduino IDE in poglejte pod Datoteka-> Nastavitve in na vrhu tega zaslona boste videli lokacijo Sketchbook.

2 Prenesite to datoteko ESP32_hardware.zip in jo razpakirajte na mesto Sketchbook. Tam ustvari podimenik strojne opreme. V malo verjetnem primeru, da že imate podimenik strojne opreme na lokaciji Sketchbook, združite njegovo vsebino s tem.

3 Namestite orodja Xtensa in ESP32. Opomba: Ta prenos in namestitev traja nekaj časa za obdelavo ~ 0,5 Gig datotek. Pojdite v imenik strojne opreme / espressif / esp32 / tools, nato za stroje Windows zaženite datoteko get.exe. Za uporabnike Mac in Linux zaženite orodje get.py python. S terminalom se pomaknite do mape hardware/espressif/esp32/tools. Nato vnesite: python get.pySkript python “get.py” bo prenesel orodja Xtensa GNU in komplet za razvoj programske opreme ESP32 (SDK) ter jih razpakiral na ustrezno mesto.

V imeniku »tools« bi morali videti nekaj novih map, vključno z »sdk« in »xtensa-esp32-elf«, ko bo končano.

Ko je to končano, zaprite in znova odprite svoj Arduino IDE in zdaj bi morali imeti na voljo dolg seznam plošč ESP32, ki jih lahko izbirate v meniju Orodja-> Plošče. Izberite »SparkFun ESP32 Thing« (ali »Adafruit ESP32 Feather«)

Nato lahko odprete seznam primerov datotek in si ogledate številne vzorčne datoteke ESP32

Zgornji postopek namesti posnetek kode github za podporo ESP32 in BLE, ki sta združeni v eno datoteko zip. Koda, ki jo ustvari pfodDesigner, in spodnji primeri uporabljajo to različico teh knjižnic. Če želite najnovejšo različico z morda drugačnim naborom funkcij in hroščev, prenesite zip najnovejše različice https://github.com/espressif/arduino-esp32 in jo razpakirajte v strojno opremo/espressif in preimenujte mapo esp32 in nato za podporo BLE prenesite zip najnovejše različice https://github.com/espressif/arduino-esp32 in jo razpakirajte v mapo esp32/libraries ter jo preimenujte v ESP32_BLE_Arduino (če je potrebno).

2. korak: Namestitev knjižnic PfodParser za ESP32

a) Nato prenesite knjižnico pfodParser.zip V3.23+, pfodDwgControls.zip in, za ESP32 WiFi, datoteke pfodESP32BufferedClient.zip, zip v računalnik, jih premaknite na namizje ali v drugo mapo, ki jo zlahka najdete.

b) Nato uporabite možnost menija Arduino 1.8.2 IDE Sketch → Import Library → Add Library, da jih namestite. (Če Arduino ne dovoljuje namestitve, ker knjižnica že obstaja, poiščite in izbrišite starejše mape pfodParser, pfodCmdParser ali pfodCHAP itd. In jih nato uvozite)

c) Ustavite in znova zaženite Arduino IDE in pod File-> Primeri bi morali videti pfodParser, pfodDwgControls in pfodESP32BufferedClient knjižnice ter številne primere.

3. korak: Uporaba PfodDesignerV3 za ESP32

Brezplačna aplikacija pfodDesignerV3 (V3291+) podpira ustvarjanje kode za čip ESP32 za povezavo prek BLE, WiFi ali Bluetooth Classic v pfodApp (plačljivo).

Obstaja veliko obstoječih vadnic o tem, kako ustvariti kontrolnike za mobilno napravo Android za nadzor širokega nabora plošč z uporabo pfodDesignerV3. S pfodDesignerV3 lahko ustvarite kontrole, ki vklopijo/izklopijo izhode ali jih utripajo, upravljajo izhode prek PWM, prikažejo stanje vhodne ali analogne vrednosti, beležijo podatke in podčrte ter podmenije in še veliko več.

Nasvet: Podpora ESP32 Arduino vključuje podporo za približno 31 različnih plošč ESP32. PfodDesignerV3 vam omogoča dostop do vseh vhodno -izhodnih zatičev ESP32, vendar vse plošče ne povežejo vseh zatičev ESP32 z nožicami na plošči. Preverite dokumentacijo plošče, za katere so na voljo zatiči, in si oglejte datoteko pins_arduino.h v imeniku strojne opreme / espressif / esp32 / variants.

Seznam pin pfodDesignerV3 vključuje komentarje o razpoložljivosti in zatiči za posebno uporabo za Sparkfun ESP32 Thing in Adafruit HUZZAH32 - ESP32 pernate plošče.

Ti primeri uporabljajo ploščo Sparkfun ESP32 Thing in ustvarijo drsnik za nadzor svetlosti vgrajene LED, priključene na pin 5 z mobilnega telefona Android. Če namesto tega uporabljate peresno ploščo Adafruit HUZZAH32 - ESP32, je vgrajen Led priključen na pin 13. Zgoraj nameščena podpora ESP32 Arduino ne podpira neposredno Arduino's analogWrite. Namesto tega ima ESP32 16 PWM kanalov, ki jih lahko upravljate in povežete na kateri koli izhod. PfodDesignerV3 ustvari vso potrebno kodo za dodelitev kanala in povezavo z izbranim izhodom. Namestite brezplačen pfodDesignerV3 (V3291+) iz Googla play.

4. korak: Generator kod ESP32 BLE

Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE
Generator kod ESP32 BLE

Zaženite nov meni

Kliknite gumb Target, da spremenite ciljno napravo.

Prvi primer cilja bo ESP32 BLE, zato kliknite gumb Bluetooth z nizko porabo energije.

Izberite ESP32, povezan prek BLE, in nato pritisnite gumb za nazaj na mobilnem telefonu, da se vrnete na glavni zaslon.

5. korak: Oblikovanje menija - poziv

Oblikovanje menija - poziv
Oblikovanje menija - poziv
Oblikovanje menija - poziv
Oblikovanje menija - poziv
Oblikovanje menija - poziv
Oblikovanje menija - poziv

Ta preprost primer bo imel samo poziv in en sam nadzor. Kliknite gumb Uredi poziv in nato gumb Uredi besedilo poziva, da nastavite besedilo poziva.

Tu je poziv nastavljen na »ESP32 Led«. Kliknite gumb, da shranite spremembe in se vrnete na prejšnji zaslon. Nato kliknite Nastavi barvo ozadja, da izberete celotno barvo za meni kontrolnikov.

Za vsak kontrolnik lahko izberete različne barve. Za poziv so na voljo različne druge oblike. Tu je ozadje nastavljeno na modro, velikost pisave pa +5, besedilo pa krepko. Predogled oblikovanega poziva je prikazan na dnu zaslona za urejanje poziva.

6. korak: Oblikovanje menija - PWM Led Control

Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control
Oblikovanje menija - PWM Led Control

Za vrnitev v glavni meni uporabite gumb za nazaj na mobilnem telefonu in nato kliknite Dodaj element menija, da dodate kontrolni ali prikazovalni element.

Izberite postavko PWM Output. Predogled kontrolnika je prikazan na vrhu zaslona.

Nasvet: ESP32 nima funkcije "standardnega Arduina" analogWrite. Vendar ta generator kod generira kodo, ki jo simulira za vas

Kliknite gumb Uredi vodilno besedilo in spremenite »Nastavitev PWM« na »Led« Upoštevajte zadnji razmik, da ločite »Led« od prikaza %.

Če želite shraniti urejanje, kliknite gumb, nato se pomaknite navzdol do gumba »Ni povezano z V/I pin«.

Kliknite ta gumb, da prikažete seznam zatičev, ki jih lahko uporabite kot izhode.

Tu so prikazani posebni zatiči za plošče Sparkfun ESP32 Thing in Adafruit HUZZAH32. Izberite nožico 5, tako da bo drsnik upravljal svetlost vgrajene lučke Sparkfun ESP32 Thing. Če uporabljate penasto ploščo Adafruit HUZZAH32, namesto tega izberite pin 13. Za ostale plošče preverite dokumentacijo plošč in datoteko pins_arduino.h v imeniku strojne opreme / espressif / esp32 / variants

Potem, ko končate z drugimi nastavitvami oblikovanja tega drsnika, se z gumbom za nazaj na mobilnem telefonu vrnite v glavni meni in kliknite Predogled menija, da vidite, kako bo zadnji meni videti na vašem mobilnem telefonu, ko ga prikaže pfodApp. Kontrolniki so aktivni, zato jih lahko premikate v predogledu.

7. korak: Ustvarite kodo ESP32

Ustvarite kodo ESP32
Ustvarite kodo ESP32
Ustvarite kodo ESP32
Ustvarite kodo ESP32

Vrnite se v glavni meni in se pomaknite navzdol do gumba Ustvari kodo.

Kliknite gumb Ustvari kodo in nato gumb Napiši kodo v datoteko, da ustvarite kodo

Zaprite pfodDesignerV3 in prenesite kodo v /pfodAppRawData/pfodDesignerV3.txt iz mobilnega telefona v računalnik. Za načine, kako to narediti, glejte pfodAppForAndroidGettingStarted.pdf. Aplikacija smarterDroid za prenos datotek wifi je eden od načinov za prenos.

Z gumbom »Spremeni cilj« na zaslonu Ustvari kodo lahko preklapljate med ESP32 prek BLE, ESP32 prek Bluetooth in ESP32 prek WiFi

8. korak: Zaženite primere

Izvajanje primerov
Izvajanje primerov

Z gumbom »Spremeni cilj« na zaslonu Ustvari kodo lahko preklapljate med ESP32 prek BLE, ESP32 prek Bluetooth in ESP32 prek WiFi

Tako so iz zgornje zasnove nastale naslednje tri vzorčne skice.

Izvajanje primera pfodESP32_BLE

Če nastavite Target na ESP32 prek BLE, se koda ustvari v pfodESP32_LED_BLE.ino Ta skica je na voljo tudi pod File-> Examples-> pfodParser. Odprite ta primer, nato pa po programiranju Sparkfun ESP32 Thing (ali druge plošče ESP32) vzpostavite povezavo z njim na pfodApp (za podrobnosti glejte pfodAppForAndroidGettingStarted.pdf) in se povežite ter nastavite svetlost deska vodila.

NASVET: ESP32 uporablja isti naslov bluetooth za BLE in Bluetooth, zato morate, če ste v pfodApp -u že vzpostavili povezavo Bluetooth ESP32 v pfodApp, izbrisati to povezavo pfodApp Bluetooth, preden nastavite povezavo BLE, saj pfodApp filtrira obstoječe povezave (po naslov) s prikazanega seznama razpoložljivih naprav. Morda boste morali odpreti nastavitve mobilnega telefona in "pozabiti" povezavo ESP32 Bluetooth, nato pa izklopiti Bluetooth mobilnega telefona in znova zagnati telefon, da počistite sklad Bluetooth

NASVET: Knjižnica ESP32_BLE_Arduino Neila Kolbana ni združljiva s knjižnico BLEPeripheral iz Sandeep Mistry, ki jo uporabljajo nekateri drugi cilji BLE, ki jih ustvari pfodDesigner. Zato morate odstraniti imenik BLEPeripheral (če obstaja) iz imenika Arduino/libraries, da sestavite skice ESP32 BLE.

Izvajanje primera pfodESP32_Bluetooth

Če nastavite cilj na ESP32 prek Bluetootha, se koda ustvari v pfodESP32_LED_Bluetooth.ino Ta skica je na voljo tudi v meniju Datoteka-> Primeri-> pfodParser. Odprite ta primer in nato programirajte Sparkfun ESP32 Thing (ali drugo ploščo ESP32). ESP32 morate povezati s telefonom, številka pin ni potrebna. Nato vzpostavite povezavo z njim na pfodApp (za podrobnosti glejte pfodAppForAndroidGettingStarted.pdf) in se povežite ter nastavite svetlost LED diode.

Izvajanje primera pfodESP32_WiFi

Če nastavite cilj na ESP32 prek WiFi, se koda ustvari v pfodESP32_LED_WiFi.ino Ta skica je na voljo tudi v meniju Datoteka-> Primeri-> pfodParser. Odprite ta primer in vnesite ime in geslo svojega omrežja ter izberite statični IP za to napravo. Potem, ko programirate Sparkfun ESP32 Thing (ali drugo ploščo ESP32), morate vzpostaviti povezavo z njim na pfodApp (za podrobnosti glejte pfodAppForAndroidGettingStarted.pdf) in se povežite ter nastavite svetlost LED diode.

9. korak: Varnost WiFi

Če se povezujete z ESP32 prek interneta (prek wifi), je pomembna varnost. Ne želite, da bi na primer kdor koli lahko odprl vaša garažna vrata. Generator kod in knjižnica pfodParser podpirata 128 -bitno varnost. Ta zaščita ne šifrira sporočil, temveč vsakemu sporočilu doda kriptografsko razpršitev za zaščito pred nepooblaščeno povezavo in nadzorom. Za podrobnosti o uporabi te zaščite glejte SipHash Secure Challenge and Response.

Dodajanje 128 -bitne zaščite

Zaščita pred nepooblaščenimi uporabniki, ki dostopajo do vaše naprave po internetu, je tako preprosta, kot je urejanje#define pfodSecurityCode "", da dodate svojo skrivno kodo. (do 32 šestnajstiških številk)

Na primer, če želite nastaviti varnostno kodo 173057F7A706AF9BBE65D51122A14CEE, uporabite#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Seveda morate uporabiti svojo skrivno kodo. Če nastavite svojo kodo v povezavi pfodApp, se lahko povežete vi in nihče drug.

Za dobro varnost je potrebna dolga naključna koda. pfodApp podpira do 128 bitov kot 32Hex številk.

Če želite ustvariti svojo skrivno kodo, lahko od tu naložite naključni generator tajnih ključev, od tu pa Generator tajnih ključev. Poleg ustvarjanja naključnih ključev jih ta program zapiše tudi kot kode QR, tako da jih lahko preprosto in natančno nastavite v povezavi pfodApp.

Kodo QR lahko natisnete in jo pritrdite na napravo pfodDevice. Nato kliknite gumb Scan QR Scan QR na zaslonu povezave pfodApp WiFi, da preberete geslo.

Za podroben primer uporabe generatorja ključev in kode QR glejte Enostavno WiFi/Arduino pfodDevice ™ z 128 -bitno zaščito.

Zaključek

Ta vadnica je pokazala, kako nastaviti Arduino IDE za programiranje ESP32. Nato je z brezplačno aplikacijo pfodDesigner oblikoval meni za nadzor svetlosti vgrajene LED in ustvarjene kode za povezavo z ESP32 prek BLE, Bluetooth ali WiFi. Če se nato povežete prek aplikacije pfodApp apppfodApp, boste videli meni, ki ste ga oblikovali, in lahko z drsnikom nadzirate svetlost LED diode. PfodDesigner ustvari vso kodo Arduino, vključno s simulacijo Arduino's analogWrite. Arduino kodiranje ni bilo potrebno. PfodApp skrbi za vse strani Android, kodiranje Androida ni potrebno.

Priporočena: