Përmbajtje:

ESP32 Generator Code - Wifi, BLE, Bluetooth: 9 hapa
ESP32 Generator Code - Wifi, BLE, Bluetooth: 9 hapa

Video: ESP32 Generator Code - Wifi, BLE, Bluetooth: 9 hapa

Video: ESP32 Generator Code - Wifi, BLE, Bluetooth: 9 hapa
Video: BLE with ESP32 tutorial part 1: the Server 2024, Nëntor
Anonim
ESP32 Generator Code - Wifi, BLE, Bluetooth
ESP32 Generator Code - Wifi, BLE, Bluetooth

Prezantimi

ESP32 është një çip i dyfishtë me kosto të ulët, me mbështetje për WiFi, Bluetooth Classic dhe BLE (Bluetooth Low Energy). Megjithëse çipi ka dalë për disa vite, mbështetja e kodit për Arduino nuk është ende e plotë (në prill 2018), por ky gjenerator udhëzues dhe i kodit plotëson funksionet e munguara të BLE dhe analogWrite.

Këshillë: ESP32 nuk ka një funksion 'standard Arduino' analogWrite. Sidoqoftë, ky gjenerues kodesh gjeneron kod që e simulon atë për ju

Këshillë: Instalimi i kodit ESP nuk përfshin mbështetjen BLE. Instalimi i përshkruar këtu përfshin mbështetjen e BLE

Kjo faqe në internet do të mbulojë konfigurimin e Arduino IDE për të programuar ESP32 për lidhjet BLE, Bluetooth ose WiFi. PfodDesigner gjeneron kod për secilën prej këtyre llojeve të lidhjeve dhe gjithashtu gjeneron kod për të simuluar funksionin analogWrite që mungon.

ESP32 është një çip i dyfishtë me kosto të ulët, me mbështetje për WiFi, Bluetooth Classic dhe BLE (Bluetooth Low Energy). Megjithëse çipi ka dalë për disa vite, mbështetja e kodit për Arduino nuk është ende e plotë (si në prill 2018), por ky tutorial dhe gjeneratori i kodit plotëson funksionet që mungojnë BLE dhe analogWrite. Kjo faqe në internet do të mbulojë ngritjen e Arduino IDE për të programuar ESP32 për lidhjet BLE, Bluetooth ose WiFi. PfodDesigner gjeneron kod për secilën prej këtyre llojeve të lidhjeve dhe gjithashtu gjeneron kod për të simuluar funksionin analogWrite që mungon.

Shtesa Arduino mbështet rreth 31 borde ESP32. Kur përdorni pfodDesigner, do t'ju duhet të zgjidhni lidhjet pin që përputhen me ato të disponueshme në tabelën tuaj të veçantë. Sparkfun ESP32 Thing (ose pendë Adafruit HUZZAH32) përdoret këtu si shembull i tabelës ESP32, por mund të përdorni kodin për cilindo nga 31 bordet ESP32 të mbështetur.

Aplikacioni falas pfodDesignerV3 Android përdoret për të krijuar menunë e kontrollit (WYSIWYG) dhe më pas për të gjeneruar kodin për ESP32, qoftë për një lidhje BLE, WiFi ose Bluetooth. Pasi të keni programuar tabelën tuaj ESP32, mund të përdorni aplikacionin pfodApp Android (me pagesë) për t'u lidhur me ESP32 tuaj (përmes BLE ose WiFi ose Bluetooth) dhe të shfaqni menunë tuaj të kontrollit dhe të kontrolloni ESP32 tuaj. Nëse nuk doni të përdorni pfodApp, mund të përdorni kodin e krijuar si bazë për lidhjet tuaja WiFi, BLE (Nordic UART) ose Bluetooth pasi siguron një ndërfaqe Stream (print/lexo) për secilin nga këto lloje të lidhjeve Me

Hapi 1: Këshillë: Instalimi i Mbështetjes Arduino për ESP32 Me Mbështetje BLE

Në Prill 2018, instalimi i mbështetjes Arduino ESP32 është më i përfshirë sesa për shumicën e bordeve të tjera dhe bibliotekat e kodit të ofruara nuk janë të plota. Ju nuk mund të përdorni menaxherin e Bordit Arduino për të instaluar mbështetjen ESP32. Ndiqni këto hapa për të konfiguruar Arduino për programimin ESP32. Kjo do të instalojë ESP32 dhe gjithashtu mbështetjen BLE.

1 Gjeni shtegun e Drejtorisë tuaj të vendndodhjes Sketchbook të Arduino. Hapni Arduino IDE dhe shikoni nën File-> Preferencat dhe në krye të atij ekrani do të shihni vendndodhjen Sketchbook.

2 Shkarkoni këtë skedar ESP32_hardware.zip dhe hapeni atë në vendndodhjen Sketchbook. Krijon një nën-drejtori harduerike atje. Në rast të pamundur që ju tashmë keni një nën-drejtori harduerike në vendndodhjen tuaj Sketchbook, bashkoni përmbajtjen e tij me këtë.

3 Instaloni mjetet Xtensa dhe ESP32. Shënim: Ky shkarkim dhe instalim kërkon pak kohë për të përpunuar skedarët 0.5Gig. Shkoni te drejtoria e pajisjeve / espressif / esp32 / tools pastaj Për makinat Windows përdorni skedarin get.exe. Për përdoruesit Mac dhe Linux, ekzekutoni skriptin get.py python për të shkarkuar mjetet. Duke përdorur një terminal, lundroni te dosja hardware/espressif/esp32/tools. Pastaj shkruani: python get.pySkripti python "get.py" do të shkarkojë veglat Xtensa GNU dhe kompletin e zhvillimit të softuerit ESP32 (SDK) dhe do t'i zbërthejë ato në vendin e duhur.

Ju duhet të shihni disa dosje të reja në drejtorinë "mjete", duke përfshirë "sdk" dhe "xtensa-esp32-elf" sapo të jetë bërë.

Pasi të përfundojë kjo, mbyllni dhe rihapni Arduino IDE tuaj dhe tani duhet të keni një listë të gjatë të bordeve ESP32 për të zgjedhur nga menyja Tool-> Boards. Zgjidhni "SparkFun ESP32 Thing" (ose "Pendë Adafruit ESP32")

Pastaj mund të hapni listën e Shembujve të Skedarëve për të parë një numër skedarësh shembull ESP32

Procesi i mësipërm instalon një fotografi të kodit github për mbështetjen ESP32 dhe BLE të cilat janë bashkuar në një skedar të vetëm zip. Kodi i krijuar nga pfodDesigner dhe shembujt e mëposhtëm përdorin këtë version të atyre bibliotekave. Nëse dëshironi versionin më të fundit, me një grup të ndryshëm karakteristikash dhe defektesh, atëherë shkarkoni zipin e versionit më të fundit të https://github.com/espressif/arduino-esp32 dhe e hapni atë në hardware/espressif dhe riemërtoni dosja esp32 dhe më pas për mbështetjen BLE shkarkoni një zip të versionit më të fundit të https://github.com/espressif/arduino-esp32 dhe e hapni atë në dosjen esp32/libraries dhe riemërtojeni atë ESP32_BLE_Arduino (nëse është e nevojshme).

Hapi 2: Instalimi i Bibliotekave PfodParser për ESP32

a) Pastaj shkarkoni bibliotekën pfodParser.zip V3.23+, pfodDwgControls.zip dhe, për ESP32 WiFi, pfodESP32BufferedClient.zip, skedarët zip në kompjuterin tuaj, zhvendosini ato në desktopin tuaj ose në ndonjë dosje tjetër që mund të gjeni lehtësisht.

b) Pastaj përdorni opsionin e menusë Arduino 1.8.2 IDE Sketch → Import Bibliotekë → Shto Bibliotekë për t'i instaluar ato. (Nëse Arduino nuk ju lejon ta instaloni sepse biblioteka ekziston tashmë, atëherë gjeni dhe fshini dosjet më të vjetra pfodParser, pfodCmdParser ose pfodCHAP etj dhe më pas importoni ato)

c) Ndaloni dhe rinisni Arduino IDE dhe nën File-> Shembuj tani duhet të shihni bibliotekat pfodParser, pfodDwgControls dhe pfodESP32BufferedClient dhe një numër shembujsh.

Hapi 3: Përdorimi i PfodDesignerV3 për ESP32

Aplikacioni falas pfodDesignerV3 (V3291+) mbështet gjenerimin e kodit për çipin ESP32 për t'u lidhur nëpërmjet BLE, WiFi ose Bluetooth Classic me pfodApp (me pagesë).

Ka shumë mësime ekzistuese se si të krijoni kontrolle për celularin tuaj Android për të kontrolluar një gamë të gjerë bordesh duke përdorur pfodDesignerV3. Me pfodDesignerV3 ju mund të krijoni kontrolle që aktivizojnë/çaktivizojnë daljet ose i pulsojnë ato, kontrolloni daljet përmes PWM, shfaqni gjendjen e një vlere hyrëse ose analoge, regjistroni dhe regjistroni të dhënat dhe nën-menutë dhe shumë më tepër.

Këshillë: Mbështetja ESP32 Arduino përfshin mbështetje për rreth 31 borde të ndryshme ESP32. PfodDesignerV3 ju jep qasje në të gjitha kunjat ESP32 I/O, por jo të gjitha bordet lidhin të gjitha kunjat ESP32 me kunjat e bordit. Kontrolloni dokumentacionin e bordit tuaj për të cilat kunjat janë vënë në dispozicion dhe shihni skedarin pins_arduino.h nën drejtorinë e varianteve të pajisjeve / espressif / esp32 / të bordit tuaj.

Lista e kunjave të pfodDesignerV3 përfshin komente për disponueshmërinë dhe kunjat e përdorimit të veçantë për Sparkfun ESP32 Thing dhe Adafruit HUZZAH32 - ESP32 Feards Boards.

Këta shembuj përdorin bordin Sparkfun ESP32 Thing dhe krijon një rrëshqitës për të kontrolluar shkëlqimin e LED -it në bord të lidhur me pin 5 nga celulari juaj Android. Nëse jeni duke përdorur bordin e pendës Adafruit HUZZAH32 - ESP32, atëherë Ledi në bord është i lidhur me pin 13. Mbështetja ESP32 Arduino, e instaluar më sipër, nuk e mbështet analogWrite të Arduino drejtpërdrejt. Në vend të kësaj, ESP32 ka 16 kanale PWM që mund t'i kontrolloni dhe lidheni me ndonjë nga daljet. PfodDesignerV3 gjeneron të gjithë kodin e nevojshëm për të ndarë kanalin dhe për ta lidhur atë me daljen tuaj të zgjedhur. Instaloni pfodDesignerV3 falas (V3291+) nga google play.

Hapi 4: Gjenerator i kodit ESP32 BLE

ESP32 BLE Kodi Generator
ESP32 BLE Kodi Generator
ESP32 BLE Kodi Generator
ESP32 BLE Kodi Generator
ESP32 BLE Kodi Gjenerator
ESP32 BLE Kodi Gjenerator
ESP32 BLE Kodi Generator
ESP32 BLE Kodi Generator

Filloni një Meny të re

Klikoni në butonin Target për të ndryshuar pajisjen e synuar.

Synimi i parë i shembullit do të jetë ESP32 BLE, kështu që klikoni në butonin Bluetooth me energji të ulët.

Zgjidhni ESP32 të lidhur përmes BLE dhe më pas shtypni butonin e pasëm të celularit për t'u kthyer në ekranin kryesor.

Hapi 5: Hartimi i menysë - kërkesa

Hartimi i menysë - kërkesa
Hartimi i menysë - kërkesa
Hartimi i menysë - kërkesa
Hartimi i menysë - kërkesa
Hartimi i menysë - kërkesa
Hartimi i menysë - kërkesa

Ky shembull i thjeshtë do të ketë vetëm një kontroll të shpejtë dhe të vetëm. Klikoni butonin Edit Prompt dhe pastaj butonin Edit Prompt Text për të vendosur tekstin e shpejtë.

Këtu kërkesa është vendosur në "ESP32 Led". Klikoni butonin e shënimit për të ruajtur redaktimet dhe për t'u kthyer në ekranin e mëparshëm. Pastaj klikoni Vendos ngjyrën e sfondit për të zgjedhur ngjyrën mbi të gjitha për menunë e kontrolleve.

Ju mund të zgjidhni ngjyra të ndryshme për çdo kontroll. Ekzistojnë formate të ndryshme të tjera në dispozicion për kërkesën. Këtu sfondi është vendosur në Blu dhe madhësia e shkronjave është +5 dhe teksti është Bold. Një pamje paraprake e kërkesës së formatuar shfaqet në fund të ekranit të Editing Prompt.

Hapi 6: Hartimi i menysë - PWM Led Control

Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control
Hartimi i menysë - PWM Led Control

Përdorni butonin e pasëm të celularit për t'u kthyer në menunë kryesore dhe pastaj klikoni Shto artikullin e menysë për të shtuar një artikull kontrolli ose shfaqjeje.

Zgjidhni artikullin PWM Output. Një pamje paraprake e kontrollit shfaqet në krye të ekranit.

Këshillë: ESP32 nuk ka një funksion 'standard Arduino' analogWrite. Sidoqoftë, ky gjenerues kodesh gjeneron kod që e simulon atë për ju

Klikoni butonin Redakto tekstin kryesor dhe ndryshoni "Cilësimet PWM" në "Led" Vini re hapësirën pasuese për të ndarë "Led" nga treguesi %.

Klikoni butonin e shënimit për të ruajtur modifikimin tuaj dhe më pas lëvizni poshtë te butoni "Jo i lidhur me një kunj I/O".

Klikoni atë buton për të shfaqur një listë të kunjave që mund të përdoren si dalje.

Kjo tregon kunjat e përdorimit të veçantë për dërrasat me pendë Sparkfun ESP32 Thing dhe Adafruit HUZZAH32. Zgjidhni pinin 5 në mënyrë që kontrolli i rrëshqitësit të kontrollojë shkëlqimin e drejtuar të bordit të Sparkfun ESP32 Thing. Nëse përdorni bordin e pendës Adafruit HUZZAH32, zgjidhni pinin 13 në vend. Për bordet e tjera kontrolloni dokumentacionin e bordeve tuaja dhe skedarin pins_arduino.h nën drejtorinë e varianteve të pajisjeve / espressif / esp32 / bordit tuaj.

Pastaj, kur të keni përfunduar bërjen e cilësimeve të tjera të formatimit për këtë rrëshqitës, përdorni butonin e pasëm të celularit për t'u kthyer në menunë kryesore dhe klikoni Menuja e Pamjes për të parë se si do të duket menuja përfundimtare në celularin tuaj kur shfaqet nga pfodApp. Kontrollet janë të drejtpërdrejta, kështu që ju mund t'i zhvendosni ato në pamjen paraprake.

Hapi 7: Gjeneroni Kodin ESP32

Gjeneroni Kodin ESP32
Gjeneroni Kodin ESP32
Gjeneroni Kodin ESP32
Gjeneroni Kodin ESP32

Kthehuni te menuja kryesore dhe lëvizni poshtë te butoni Generate Code.

Klikoni butonin Generate Code dhe më pas klikoni butonin Shkruaj kodin në skedar për të gjeneruar kodin

Dilni nga pfodDesignerV3 dhe transferoni kodin në /pfodAppRawData/pfodDesignerV3.txt nga celulari juaj në kompjuterin tuaj. Shihni pfodAppForAndroidGettingStarted.pdf për mënyrat për ta bërë këtë. Aplikacioni i transferimit të skedarëve wifi nga smarterDroid është një mënyrë për të bërë transferimin.

Duke përdorur butonin "Ndrysho Targetin" në ekranin e Gjenerimit të Kodit, mund të kaloni midis ESP32 përmes BLE, ESP32 përmes Bluetooth dhe ESP32 përmes WiFi

Hapi 8: Drejtimi i Shembujve

Drejtimi i Shembujve
Drejtimi i Shembujve

Duke përdorur butonin "Ndrysho Targetin" në ekranin e Gjenerimit të Kodit, mund të kaloni midis ESP32 përmes BLE, ESP32 përmes Bluetooth dhe ESP32 përmes WiFi

Kështu u krijuan tre skicat e mëposhtëm të shembullit nga modeli i mësipërm.

Ekzekutimi i shembullit pfodESP32_BLE

Vendosja e Synimit në ESP32 përmes BLE gjeneron kodin në pfodESP32_LED_BLE.ino Ky skicë është gjithashtu i disponueshëm nën Skedari-> Shembuj-> pfodParser. Hapeni atë shembull, pastaj, pas programimit të Sparkfun ESP32 Thing (ose bordit tjetër ESP32), atëherë duhet të krijoni një lidhje me të në pfodApp (shiko pfodAppForAndroidGettingStarted.pdf për detajet) dhe lidheni dhe të jeni në gjendje të rregulloni shkëlqimin e bordi i udhëhequr.

K TSHILL: ESP32 përdor të njëjtën adresë bluetooth si për BLE ashtu edhe për Bluetooth, kështu që nëse keni vendosur më parë një lidhje ESP32 Bluetooth në pfodApp, duhet ta fshini atë lidhje Bluetooth pfodApp para se të krijoni një lidhje BLE, pasi pfodApp filtron lidhjet ekzistuese (nga adresa) nga lista e shfaqjes së pajisjeve në dispozicion. Ju gjithashtu mund të keni nevojë të hapni cilësimet e celularit tuaj dhe të "harroni" lidhjen ESP32 Bluetooth dhe pastaj fikni Bluetooth -in e celularit dhe rindizni telefonin tuaj për të pastruar stivën Bluetooth

Këshillë: Biblioteka ESP32_BLE_Arduino nga Neil Kolban nuk është e pajtueshme me bibliotekën BLEPeriferike nga Sandeep Mistry e cila përdoret nga disa objektiva të tjerë të BLE të krijuara nga pfodDesigner. Kështu që ju duhet të hiqni drejtorinë BLEPeriferike, (nëse ekziston), nga drejtoria juaj Arduino/bibliotekat në mënyrë që të përpiloni skicat ESP32 BLE.

Drejtimi i shembullit pfodESP32_Bluetooth

Vendosja e Synimit në ESP32 përmes Bluetooth gjeneron kodin në pfodESP32_LED_Bluetooth.ino Ky skicë është gjithashtu i disponueshëm nën Skedari-> Shembuj-> pfodParser. Hapeni atë shembull, më pas programoni Sparkfun ESP32 Thing (ose bordin tjetër ESP32). Duhet të çiftoni ESP32 me telefonin tuaj, nuk kërkohet numër pin. Pastaj vendosni një lidhje me të në pfodApp (shih pfodAppForAndroidGettingStarted.pdf për detajet) dhe lidheni dhe jeni në gjendje të rregulloni shkëlqimin e bordit të udhëhequr.

Drejtimi i shembullit pfodESP32_WiFi

Vendosja e Synimit në ESP32 nëpërmjet WiFi gjeneron kodin në pfodESP32_LED_WiFi.ino Ky skicë është gjithashtu i disponueshëm nën Skedari-> Shembuj-> pfodParser. Hapeni atë shembull dhe futni emrin dhe fjalëkalimin e rrjetit tuaj dhe zgjidhni një IP statike për këtë pajisje. Pastaj, pas programimit të Sparkfun ESP32 Thing (ose bordit tjetër ESP32), duhet të krijoni një lidhje me të në pfodApp (shiko pfodAppForAndroidGettingStarted.pdf për detajet) dhe të lidheni dhe të jeni në gjendje të rregulloni shkëlqimin e bordit të udhëhequr.

Hapi 9: Siguria WiFi

Nëse lidheni me ESP32 përmes internetit (përmes wifi), atëherë siguria është e rëndësishme. Ju nuk dëshironi që askush të jetë në gjendje të hap derën e garazhit tuaj, për shembull. Gjeneratori i kodit dhe biblioteka pfodParser mbështet sigurinë 128 bit. Ky siguri nuk i kodon mesazhet, por shton një hash kriptografik në secilin mesazh për t'u mbrojtur nga lidhja dhe kontrolli i paautorizuar. Shihni Sfidën dhe Përgjigjen e Sigurt SipHash për detaje se si zbatohet kjo siguri.

Shtimi i sigurisë 128bit

Sigurimi kundër përdoruesve të paautorizuar që hyjnë në pajisjen tuaj përmes internetit është aq i lehtë sa të redaktoni "define pfodSecurityCode" "për të shtuar kodin tuaj sekret. (deri në 32 shifra gjashtëkëndore)

Për shembull për të vendosur një kod sigurie prej 173057F7A706AF9BBE65D51122A14CEE ju do të përdorni#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Sigurisht që duhet të përdorni kodin tuaj sekret. Vendosja e kodit tuaj në lidhjen tuaj pfodApp ju lejon, dhe askush tjetër, të lidheni.

Një kod i gjatë i rastësishëm është i nevojshëm për siguri të mirë. pfodApp mbështet deri në 128bit si shifra 32Hex.

Për të gjeneruar kodin tuaj sekret, mund të shkarkoni një gjenerator të rastësishëm sekret nga këtu. Përveç krijimit të çelësave të rastësishëm, ky program i shkruan ato si kode QR, në mënyrë që t'i vendosni me lehtësi dhe me saktësi në lidhjen tuaj pfodApp.

Mund të printoni kodin QR dhe ta bashkëngjitni atë në pajisjen tuaj pfodDevice. Pastaj klikoni në skanimin QR në fund në ekranin e lidhjes WiFi pfodApp për të lexuar fjalëkalimin.

Shikoni Një Simple WiFi/Arduino pfodDevice ™ me siguri 128 bit për një shembull të detajuar të përdorimit të gjeneratorit kryesor dhe kodit QR.

Përfundim

Ky tutorial ka treguar se si të vendosni Arduino IDE për të programuar ESP32. Pastaj përdori aplikacionin falas pfodDesigner për të hartuar një menu për të kontrolluar shkëlqimin e kodit të udhëhequr dhe gjeneruar në bord për t'u lidhur me ESP32 përmes BLE, Bluetooth ose WiFi. Nëse lidheni më pas përmes aplikacionit pfodApp apppfodApp do të shihni menunë që keni krijuar dhe do të jeni në gjendje të kontrolloni shkëlqimin e led përmes një rrëshqitësi. PfodDesigner gjeneron të gjithë kodin Arduino, duke përfshirë simulimin analogWrite të Arduino -s. Asnjë kodim Arduino nuk kërkohej. PfodApp kujdeset për të gjithë anën Android, nuk kërkohet kodim Android.

Recommended: