Turinys:

ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“: 9 žingsniai
ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“: 9 žingsniai

Video: ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“: 9 žingsniai

Video: ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“: 9 žingsniai
Video: Урок 68. Домашняя автоматизация: как управлять 16-канальным релейным модулем с помощью Arduino, управляя 16 нагрузками переменного тока. 2024, Lapkritis
Anonim
ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“
ESP32 kodų generatorius - „Wifi“, BLE, „Bluetooth“

Įvadas

ESP32 yra nebrangus dviejų procesorių lustas, palaikantis „WiFi“, „Bluetooth Classic“ir BLE („Bluetooth Low Energy“). Nors lustas neveikė daugelį metų, „Arduino“kodo palaikymas vis dar nėra baigtas (2018 m. Balandžio mėn.), Tačiau šis nurodomas ir kodų generatorius užpildo trūkstamas BLE ir analogWrite funkcijas.

Patarimas: ESP32 neturi „standartinės„ Arduino “analogWrite funkcijos. Tačiau šis kodų generatorius sugeneruoja kodą, kuris jį imituoja

Patarimas: Į ESP kodo diegimą neįeina BLE palaikymas. Čia aprašytas diegimas apima BLE palaikymą

Šis tinklalapis apims „Arduino IDE“nustatymą, kad būtų galima programuoti ESP32 BLE, „Bluetooth“ar „WiFi“ryšiams. „PfodDesigner“sugeneruoja kodą kiekvienam iš šių ryšio tipų ir taip pat sugeneruoja kodą, kad imituotų trūkstamą analogWrite funkciją.

ESP32 yra nebrangus dviejų procesorių lustas, palaikantis „WiFi“, „Bluetooth Classic“ir BLE („Bluetooth Low Energy“). Nors lustas buvo naudojamas jau daugelį metų, „Arduino“kodo palaikymas vis dar nėra baigtas (2018 m. Balandžio mėn.), Tačiau ši pamoka ir kodų generatorius užpildo trūkstamas BLE ir analogWrite funkcijas. Šis tinklalapis apims nustatymą „Arduino IDE“programuoti ESP32 BLE, „Bluetooth“ar „WiFi“ryšiams. „PfodDesigner“sukuria kodą kiekvienam iš šių ryšio tipų ir taip pat sugeneruoja kodą, kad imituotų trūkstamą analogWrite funkciją.

„Arduino“priedas palaiko maždaug 31 ESP32 plokštę. Kai naudojate „pfodDesigner“, turėsite pasirinkti kaiščių jungtis, atitinkančias jūsų plokštėje esančias jungtis. „Sparkfun ESP32 Thing“(arba „Adafruit HUZZAH32 Feather“) čia naudojama kaip pavyzdinė ESP32 plokštė, tačiau kodą galite naudoti bet kuriai iš 31 palaikomų ESP32 plokščių.

Nemokama „Android“programa „pfodDesignerV3“naudojama valdymo meniu (WYSIWYG) sukūrimui ir ESP32 kodo sukūrimui, naudojant BLE, „WiFi“arba „Bluetooth“ryšį. Užprogramavę savo ESP32 plokštę, galite naudoti „Android“programą „pfodApp“(mokama), kad prisijungtumėte prie savo ESP32 (per BLE arba „WiFi“arba „Bluetooth“) ir parodyti savo valdymo meniu bei valdyti savo ESP32. Jei nenorite naudoti „pfodApp“, sugeneruotą kodą vis tiek galite naudoti kaip pagrindą savo „WiFi“, BLE („Nordic UART“) ar „Bluetooth“ryšiams, nes tai suteikia srauto (spausdinimo/skaitymo) sąsają kiekvienam iš šių ryšio tipų.

1 žingsnis: Patarimas: įdiekite „Arduino“palaikymą ESP32 su BLE palaikymu

2018 m. Balandžio mėn. „Arduino ESP32“palaikymo diegimas yra labiau susijęs su daugeliu kitų plokščių, o pateiktos kodų bibliotekos nėra baigtos. Negalite naudoti „Arduino Board“tvarkyklės ESP32 palaikymui įdiegti. Atlikite šiuos veiksmus, kad nustatytumėte „Arduino“ESP32 programavimui. Tai įdiegs ESP32 ir BLE palaikymą.

1 Raskite „Arduino Sketchbook“vietos katalogo kelią. Atidarykite „Arduino IDE“ir peržiūrėkite Failas-> Nuostatos, o ekrano viršuje pamatysite eskizų knygos vietą.

2 Atsisiųskite šį ESP32_hardware.zip failą ir išpakuokite jį į eskizų knygos vietą. Ten sukuriamas aparatūros pakatalogis. Mažai tikėtinu atveju, kai eskizų knygos vietoje jau turite aparatūros pakatalogį, sujunkite jo turinį su šiuo.

3 Įdiekite „Xtensa“ir „ESP32 Tools“. Pastaba: Šis atsisiuntimas ir įdiegimas užtrunka šiek tiek laiko, kol apdorojami ~ 0.5Gig failai. Eikite į aparatūros / espressif / esp32 / tools katalogą, tada "Windows" įrenginiuose paleiskite failą get.exe. „Mac“ir „Linux“vartotojams paleiskite „get.py python“scenarijų, kad atsisiųstumėte įrankius. Naudodami terminalą, eikite į aparatūros/espressif/esp32/tools aplanką. Tada įveskite: python get.pyPython scenarijus „get.py“atsisiųs „Xtensa GNU“įrankius ir programinės įrangos kūrimo rinkinį ESP32 (SDK) ir išpakuos juos į reikiamą vietą.

Kai tai padarysite, „įrankių“kataloge turėtumėte pamatyti keletą naujų aplankų, įskaitant „sdk“ir „xtensa-esp32-elf“.

Kai tai bus baigta, uždarykite ir vėl atidarykite „Arduino IDE“ir dabar turėtumėte turėti ilgą ESP32 plokščių sąrašą, kurį galite pasirinkti meniu Įrankiai-> Lentos. Pasirinkite „SparkFun ESP32 Thing“(arba „Adafruit ESP32 Feather“)

Tada galite atidaryti failų pavyzdžių sąrašą, kad pamatytumėte daugybę ESP32 pavyzdinių failų

Aukščiau aprašytas procesas įdiegia ESP32 ir BLE palaikymo „github“kodo momentinę kopiją, sujungtą į vieną ZIP failą. „PfodDesigner“sukurtas kodas ir toliau pateikti pavyzdžiai naudoja šią šių bibliotekų versiją. Jei norite naujausios versijos su galbūt kitokiu funkcijų ir klaidų rinkiniu, atsisiųskite naujausios https://github.com/espressif/arduino-esp32 versijos ZIP failą ir išpakuokite jį į aparatinę/espressif ir pervardykite aplanką esp32, o tada, norėdami gauti BLE palaikymą, atsisiųskite naujausios https://github.com/espressif/arduino-esp32 versijos ZIP failą ir išpakuokite jį į aplanką esp32/libraries ir pervardykite jį į ESP32_BLE_Arduino (jei reikia).

2 veiksmas: „PfodParser“bibliotekų diegimas, skirtas ESP32

a) Tada atsisiųskite „pfodParser.zip“biblioteką V3.23+, pfodDwgControls.zip ir, jei naudojate „ESP32 WiFi“, „pfodESP32BufferedClient.zip“, ZIP failus į savo kompiuterį, perkelkite juos į darbalaukį ar kitą aplanką, kurį galite lengvai rasti.

b) Tada naudokite „Arduino 1.8.2 IDE“meniu parinktį Eskizas → Importuoti biblioteką → Pridėti biblioteką, kad jas įdiegtumėte. (Jei „Arduino“neleidžia jos įdiegti, nes biblioteka jau egzistuoja, suraskite ir ištrinkite senesnius aplankus „pfodParser“, „pfodCmdParser“arba „pfodCHAP“ir kt., Tada importuokite šiuos)

c) Sustabdykite ir iš naujo paleiskite „Arduino IDE“ir skiltyje „Failas-> Pavyzdžiai“dabar turėtumėte pamatyti „pfodParser“, „pfodDwgControls“ir „pfodESP32BufferedClient“bibliotekas ir daugybę pavyzdžių.

3 veiksmas: „PfodDesignerV3“naudojimas ESP32

Nemokama programa „pfodDesignerV3“(V3291+) palaiko ESP32 lusto kodo generavimą, kad būtų galima prisijungti per „BLE“, „WiFi“arba „Bluetooth Classic“prie „pfodApp“(mokama).

Yra daug pamokų, kaip sukurti valdiklius „Android“mobiliesiems, kad būtų galima valdyti daugybę plokščių naudojant pfodDesignerV3. Naudodami „pfodDesignerV3“galite sukurti valdiklius, kurie įjungia/išjungia arba impulsuoja juos, valdyti išėjimus per PWM, rodyti įvesties ar analoginės vertės būseną, registruoti ir atvaizduoti duomenis bei antrinius meniu ir daug daugiau.

Patarimas: ESP32 „Arduino“palaikymas apima maždaug 31 skirtingų ESP32 plokščių palaikymą. „PfodDesignerV3“suteikia prieigą prie visų ESP32 įvesties/išvesties kaiščių, tačiau ne visos plokštės sujungia visus ESP32 kaiščius su plokštės kaiščiais. Patikrinkite savo lentos dokumentus, kuriuose pateikiami kaiščiai, ir peržiūrėkite lentos aparatinės įrangos / espressif / esp32 / variantų katalogo failą pins_arduino.h.

„pfodDesignerV3“kaiščių sąraše pateikiami komentarai apie „Sparkfun ESP32 Thing“ir „Adafruit HUZZAH32 - ESP32“plunksnų lentų prieinamumą ir specialaus naudojimo kaiščius.

Šiuose pavyzdžiuose naudojama „Sparkfun ESP32 Thing“plokštė ir sukuriamas slankiklis, skirtas valdyti „Android“mobiliojo telefono, prijungto prie 5 kaiščio, šviesą. Jei vietoj to naudojate „Adafruit HUZZAH32 - ESP32 Plunksnų plokštę“, tada „Led“yra prijungtas prie 13 kaiščio. ESP32 „Arduino“palaikymas, įdiegtas aukščiau, tiesiogiai nepalaiko „Arduino analogWrite“. Vietoj to ESP32 turi 16 PWM kanalų, kuriuos galite valdyti ir prijungti prie bet kurio išėjimo. „PfodDesignerV3“sugeneruoja visą kodą, reikalingą kanalui priskirti ir prijungti prie pasirinktos išvesties. Įdiekite nemokamą „pfodDesignerV3“(V3291+) iš „Google Play“.

4 žingsnis: ESP32 BLE kodų generatorius

ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius
ESP32 BLE kodų generatorius

Pradėkite naują meniu

Norėdami pakeisti tikslinį įrenginį, spustelėkite mygtuką Tikslas.

Pirmasis taikinio pavyzdys bus ESP32 BLE, todėl spustelėkite mygtuką „Bluetooth Low Energy“.

Pasirinkite ESP32, prijungtą per BLE, tada paspauskite mobiliojo telefono grįžimo mygtuką, kad grįžtumėte į pagrindinį ekraną.

5 žingsnis: meniu kūrimas - raginimas

Meniu kūrimas - raginimas
Meniu kūrimas - raginimas
Meniu kūrimas - raginimas
Meniu kūrimas - raginimas
Meniu kūrimas - raginimas
Meniu kūrimas - raginimas

Šis paprastas pavyzdys turės tik raginimą ir vieną valdiklį. Norėdami nustatyti raginimo tekstą, spustelėkite mygtuką Redaguoti raginimą, tada mygtuką Redaguoti raginimo tekstą.

Čia raginimas nustatytas į „ESP32 Led“. Spustelėkite varnelės mygtuką, kad išsaugotumėte pakeitimus ir grįžtumėte į ankstesnį ekraną. Tada spustelėkite Nustatyti fono spalvą, kad pasirinktumėte valdiklių meniu visas spalvas.

Kiekvienam valdikliui galite pasirinkti skirtingas spalvas. Yra įvairūs kiti raginimo formatai. Čia fonas nustatytas į mėlyną, o šrifto dydis yra +5, o tekstas paryškintas. Suformatuoto raginimo peržiūra rodoma redagavimo raginimo ekrano apačioje.

6 žingsnis: meniu kūrimas - PWM LED valdymas

Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“
Meniu projektavimas - „PWM Led Control“

Norėdami grįžti į pagrindinį meniu, naudokite mobiliojo telefono grįžimo mygtuką, tada spustelėkite Pridėti meniu elementą, kad pridėtumėte valdiklį ar rodomą elementą.

Pasirinkite PWM išvesties elementą. Ekrano viršuje rodoma valdiklio peržiūra.

Patarimas: ESP32 neturi „standartinės„ Arduino “analogWrite funkcijos. Tačiau šis kodų generatorius sugeneruoja kodą, kuris jį imituoja

Spustelėkite mygtuką Redaguoti pagrindinį tekstą ir pakeiskite „PWM Setting“į „Led“. Atkreipkite dėmesį į tarpą, kad „Led“būtų atskirtas nuo %.

Spustelėkite varnelės mygtuką, kad išsaugotumėte pakeitimą, tada slinkite žemyn iki mygtuko „Neprisijungta prie įvesties/išvesties kaiščio“.

Spustelėkite tą mygtuką, kad būtų parodytas kaiščių, kurie gali būti naudojami kaip išėjimai, sąrašas.

Tai rodo specialius „Sparkfun ESP32 Thing“ir „Adafruit HUZZAH32 Feather“lentų kaiščius. Pasirinkite 5 kaištį, kad slankiklio valdiklis valdytų „Sparkfun ESP32 Thing“integruoto LED šviesumą. Jei naudojate „Adafruit HUZZAH32“plunksnų lentą, pasirinkite 13 kaištį. Jei norite kitų plokščių, patikrinkite savo plokščių dokumentus ir failą pins_arduino.h, esantį jūsų plokštės aparatinės įrangos kataloge / espressif / esp32 / variants

Tada, kai baigsite atlikti kitus šio slankiklio formatavimo nustatymus, naudokite mobiliojo telefono grįžimo mygtuką, kad grįžtumėte į pagrindinį meniu, ir spustelėkite Peržiūros meniu, kad pamatytumėte, kaip galutinis meniu atrodys jūsų mobiliajame telefone, kai jį parodys „pfodApp“. Valdikliai yra tiesioginiai, todėl galite juos perkelti peržiūroje.

7 veiksmas: sukurkite ESP32 kodą

Sukurkite ESP32 kodą
Sukurkite ESP32 kodą
Sukurkite ESP32 kodą
Sukurkite ESP32 kodą

Grįžkite į pagrindinį meniu ir slinkite žemyn iki mygtuko „Generuoti kodą“.

Norėdami sugeneruoti kodą, spustelėkite mygtuką Generuoti kodą, tada spustelėkite mygtuką Rašyti kodą į failą

Išeikite iš „pfodDesignerV3“ir perkelkite kodą /pfodAppRawData/pfodDesignerV3.txt iš savo mobiliojo telefono į kompiuterį. Žr. PfodAppForAndroidGettingStarted.pdf, kaip tai padaryti. „SmarterDroid“„Wi -Fi“failų perkėlimo programa yra vienas iš būdų perduoti.

Naudodami mygtuką „Keisti tikslą“ekrane „Sukurti kodą“galite perjungti ESP32 per BLE, ESP32 per „Bluetooth“ir ESP32 per „WiFi“

8 veiksmas: pavyzdžių vykdymas

Pavyzdžių vykdymas
Pavyzdžių vykdymas

Naudodami mygtuką „Keisti tikslą“ekrane „Sukurti kodą“galite perjungti ESP32 per BLE, ESP32 per „Bluetooth“ir ESP32 per „WiFi“

Taip buvo sukurti šie trys eskizų pavyzdžiai iš aukščiau pateikto dizaino.

Vykdomas pfodESP32_BLE pavyzdys

Nustačius tikslą į ESP32 per BLE, kodas sugeneruojamas pfodESP32_LED_BLE.ino. Šis eskizas taip pat pasiekiamas skiltyje Failas-> Pavyzdžiai-> pfodParser. Atidarykite tą pavyzdį, tada, užprogramavę „Sparkfun ESP32 Thing“(ar kitą ESP32 plokštę), turėtumėte nustatyti ryšį su juo „pfodApp“(daugiau informacijos žr. valdyba.

PATARIMAS: ESP32 naudoja tą patį „Bluetooth“adresą tiek BLE, tiek „Bluetooth“, taigi, jei anksčiau nustatėte ESP32 „Bluetooth“ryšį programoje „pfodApp“, prieš nustatydami BLE ryšį, turite ištrinti tą „pfodApp“„Bluetooth“ryšį, nes „pfodApp“filtruoja esamus ryšius (pagal adresas) iš galimų įrenginių rodomo sąrašo. Taip pat gali tekti atidaryti mobiliojo telefono nustatymus ir „pamiršti“ESP32 „Bluetooth“ryšį, tada išjungti mobiliojo telefono „Bluetooth“ir iš naujo paleisti telefoną, kad išvalytumėte „Bluetooth“krūvą

PATARIMAS: Neilo Kolbano biblioteka ESP32_BLE_Arduino nesuderinama su BLEPeripheral biblioteka iš „Sandeep Mistry“, kurią naudoja kai kurie kiti BLE taikiniai, sukurti „pfodDesigner“. Taigi, norėdami sudaryti ESP32 BLE eskizus, turite pašalinti BLEPeripheral katalogą (jei jis yra) iš katalogo „Arduino/libraries“.

Vykdomas „pfodESP32_Bluetooth“pavyzdys

Nustačius „Target“į „ESP32“per „Bluetooth“, kodas sugeneruojamas pfodESP32_LED_Bluetooth.ino. Šis eskizas taip pat pasiekiamas skiltyje Failas-> Pavyzdžiai-> pfodParser. Atidarykite tą pavyzdį, tada užprogramuokite „Sparkfun ESP32 Thing“(arba kitą ESP32 plokštę). Turite suporuoti ESP32 su savo telefonu, nereikia PIN kodo. Tada nustatykite ryšį su juo „pfodApp“(išsamesnės informacijos ieškokite pfodAppForAndroidGettingStarted.pdf) ir prijunkite bei galėsite reguliuoti plokštės šviesos diodo ryškumą.

Vykdomas „pfodESP32_WiFi“pavyzdys

Nustačius „Target“į „ESP32“per „WiFi“, kodas sugeneruojamas pfodESP32_LED_WiFi.ino. Šis eskizas taip pat pasiekiamas skiltyje Failas-> Pavyzdžiai-> pfodParser. Atidarykite tą pavyzdį ir įveskite tinklo pavadinimą bei slaptažodį ir pasirinkite statinį šio įrenginio IP. Tada, užprogramavę „Sparkfun ESP32 Thing“(ar kitą ESP32 plokštę), turėtumėte nustatyti ryšį su juo „pfodApp“(išsamiau žr.

9 veiksmas: „WiFi“sauga

Jei prisijungiate prie ESP32 internetu (per „Wi -Fi“), saugumas yra svarbus. Jūs nenorite, kad, pavyzdžiui, bet kas galėtų atidaryti jūsų garažo duris. Kodų generatorius ir „pfodParser“biblioteka palaiko 128 bitų saugumą. Šis saugumas neužšifruoja pranešimų, o prie kiekvieno pranešimo prideda kriptografinę maišą, kad apsaugotų nuo neleistino ryšio ir valdymo. Daugiau informacijos apie tai, kaip įdiegta ši sauga, rasite „SipHash Secure Challenge and Response“.

Pridedamas 128 bitų saugumas

Apsaugoti nuo neįgaliotų vartotojų, kurie prieina prie jūsų įrenginio internetu, yra taip paprasta, kaip redaguoti#define pfodSecurityCode "", kad pridėtumėte savo slaptą kodą. (iki 32 šešiakampių skaitmenų)

Pavyzdžiui, norėdami nustatyti 173057F7A706AF9BBE65D51122A14CEE saugos kodą, turėtumėte naudoti#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Žinoma, turėtumėte naudoti savo slaptą kodą. Nustatę savo kodą „pfodApp“ryšyje, galite prisijungti jūs ir niekas kitas.

Norint užtikrinti gerą saugumą, reikalingas ilgas atsitiktinis kodas. „pfodApp“palaiko iki 128 bitų kaip 32Hex skaitmenis.

Norėdami sukurti savo slaptą kodą, iš čia galite atsisiųsti atsitiktinį slaptųjų raktų generatorių. Ši programa ne tik sukuria atsitiktinius raktus, bet ir įrašo juos kaip QR kodus, kad galėtumėte lengvai ir tiksliai juos nustatyti savo „pfodApp“ryšyje.

Galite atsispausdinti QR kodą ir pridėti jį prie „pfodDevice“. Tada spustelėkite „Nuskaityti QR“apačią pfodApp „WiFi“ryšio ekrane ir perskaitykite slaptažodį.

Išsamų raktų generatoriaus ir QR kodo naudojimo pavyzdį rasite paprastame „WiFi“/„Arduino pfodDevice ™“su 128 bitų apsauga.

Išvada

Ši pamoka parodė, kaip nustatyti „Arduino IDE“programuoti ESP32. Tada ji naudojo nemokamą programą „pfodDesigner“, kad sukurtų meniu, skirtą valdyti borto LED ir sugeneruoto kodo ryškumą, kad būtų galima prisijungti prie ESP32 per BLE, „Bluetooth“arba „WiFi“. Jei prisijungsite per „pfodApp apppfodApp“programą, pamatysite sukurtą meniu ir galėsite valdyti šviesos diodo ryškumą per slankiklį. „PfodDesigner“generuoja visą „Arduino“kodą, įskaitant „Arduino analogWrite“modeliavimą. Nebuvo reikalingas „Arduino“kodavimas. „PfodApp“rūpinasi visa „Android“puse, nereikia „Android“kodavimo.

Rekomenduojamas: