Kazalo:
- 1. korak: Nasvet: Namestitev podpore Arduino za ESP32 s podporo BLE
- 2. korak: Namestitev knjižnic PfodParser za ESP32
- 3. korak: Uporaba PfodDesignerV3 za ESP32
- 4. korak: Generator kod ESP32 BLE
- 5. korak: Oblikovanje menija - poziv
- 6. korak: Oblikovanje menija - PWM Led Control
- 7. korak: Ustvarite kodo ESP32
- 8. korak: Zaženite primere
- 9. korak: Varnost WiFi
Video: Generator kod ESP32 - Wifi, BLE, Bluetooth: 9 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
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
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
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
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
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
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:
Generator kod za sobo za pobeg: 4 koraki
Codegenerator sobe za pobeg: Za projekt, ki je bil na voljo, je stroj nameščen v najkrajšem možnem času v sobi za pobeg. De bedoeling van deze machine is dat door het drukken op een knop een bijhorend cijfer wordt aangeduid aan de hand van lampjes, zo zal het mo
Detektor Mi Band z uporabo ESP32 BLE: 6 korakov
Detektor Mi Band z uporabo ESP32 BLE: Hello Maker m ( - -) m Prebral sem obrazec tega članka 陳亮 (moononournation github) o tem, kako uporabljati esp32 ble za skeniranje naprave, zato sem moral to kodo preizkusiti na github Arduino_BLE_Scanner. zdaj želim uporabiti svoj Mi Band 3 za odklepanje vrat, ko pridem na svoj urad
ESP32 Vadnica za Bluetooth - Kako uporabljati vgrajen Bluetooth ESP32: 5 korakov
ESP32 Vadnica za Bluetooth | Kako uporabljati vgrajen Bluetooth ESP32: Pozdravljeni, ker je plošča ESP32 opremljena z WiFi & Bluetooth tako za naše večinoma projekte običajno uporabljamo samo Wi -Fi, ne uporabljamo Bluetooth, zato bom v teh navodilih pokazal, kako enostavno je uporabljati Bluetooth ESP32 & Za vaše osnovne projekte
Rolling Robot z ESP32 Thing in gonilnikom TB6612FNG, ki ga Android nadzira prek BLE: 11 korakov
Rolling Robot with ESP32 Thing in TB6612FNG Driver, Controlled by Android Over BLE: Pozdravljeni, vse to je moj prvi pouk. Roboten robot (z vzdevkom Raidho - iz rune, ki je povezan z gibanjem), ki temelji na ESP32 Thing, TB6612 FNG in BLE. Del, ki se morda zdi nenavaden, je, da fotografije niso iz postopka izdelave
ESP32 Bluetooth BLE daljinski upravljalnik: 8 korakov
Daljinski upravljalnik ESP32 Bluetooth BLE: Ta projekt je primer, kako poceni krmilno palčko Bluetooth BLE priključiti na ESP32. Koda je bila napisana z uporabo Arduino IDE Ver 1.8.5 z dodatkom ESP32. Uporabljena krmilna palica BLE je komercialna naprava, ki jo lahko kupite na Inte