Sadržaj:

Generator koda ESP32 - Wifi, BLE, Bluetooth: 9 koraka
Generator koda ESP32 - Wifi, BLE, Bluetooth: 9 koraka

Video: Generator koda ESP32 - Wifi, BLE, Bluetooth: 9 koraka

Video: Generator koda ESP32 - Wifi, BLE, Bluetooth: 9 koraka
Video: Урок 9. Bluetooth LE. ESP-32. Android. 2024, Studeni
Anonim
Generator koda ESP32 - Wifi, BLE, Bluetooth
Generator koda ESP32 - Wifi, BLE, Bluetooth

Uvod

ESP32 je jeftin dvoprocesorski čip, s podrškom za WiFi, Bluetooth Classic i BLE (Bluetooth Low Energy). Iako čip ne postoji već nekoliko godina, podrška za kod za Arduino još uvijek nije potpuna (u travnju 2018.), ali ovaj instruktor i generator koda popunjava nedostajuće BLE i analogWrite funkcije.

Savjet: ESP32 nema 'standardnu Arduino' analogWrite funkciju. Međutim, ovaj generator koda generira kod koji ga simulira umjesto vas

Savjet: Instalacija ESP koda ne uključuje podršku za BLE. Ovdje opisana instalacija uključuje podršku za BLE

Ova web stranica pokriva postavljanje Arduino IDE -a za programiranje ESP32 za BLE, Bluetooth ili WiFi veze. PfodDesigner generira kôd za svaki od ovih tipova veze, a također generira kôd za simulaciju nedostajuće funkcije analogWrite.

ESP32 je jeftin dvoprocesorski čip, s podrškom za WiFi, Bluetooth Classic i BLE (Bluetooth Low Energy). Iako čip ne postoji već nekoliko godina, podrška za kod za Arduino još uvijek nije potpuna (kao u travnju 2018.), ali ovaj vodič i generator koda popunjavaju nedostajuće BLE i analogWrite funkcije. Ova web stranica pokrivat će postavljanje Arduino IDE za programiranje ESP32 za BLE, Bluetooth ili WiFi veze. PfodDesigner generira kôd za svaki od ovih tipova veze, a također generira kôd za simulaciju nedostajuće funkcije analogWrite.

Dodatak Arduino podržava nekih 31 ESP32 ploča. Kada koristite pfodDesigner, morat ćete odabrati pin veze koje odgovaraju onima dostupnim na vašoj ploči. Sparkfun ESP32 Thing (ili Adafruit HUZZAH32 pero) ovdje se koristi kao primjer ESP32 ploče, ali možete koristiti kôd za bilo koju od 31 podržane ESP32 ploče.

Besplatna aplikacija pfodDesignerV3 za Android koristi se za izradu kontrolnog izbornika (WYSIWYG), a zatim generira kôd za ESP32, bilo za BLE, WiFi ili Bluetooth vezu. Nakon što ste programirali svoju ESP32 ploču, tada se možete koristiti pfodApp Android aplikacijom (plaćeno) za povezivanje s vašim ESP32 (putem BLE -a ili WiFi -a ili Bluetootha) i prikazati svoj upravljački izbornik i upravljati svojim ESP32. Ako ne želite koristiti pfodApp, i dalje možete koristiti generirano kodiranje kao osnovu za vlastite WiFi, BLE (nordijske UART) ili Bluetooth veze jer pruža sučelje Stream (ispis/čitanje) svakoj od ovih vrsta veza.

Korak 1: Savjet: Instaliranje Arduino podrške za ESP32 s podrškom za BLE

Od travnja 2018. instaliranje Arduino ESP32 podrške više je uključeno nego za većinu drugih ploča, a isporučene knjižnice kodova nisu potpune. Ne možete koristiti Arduino Board manager za instaliranje ESP32 podrške. Slijedite ove korake za postavljanje Arduina za programiranje ESP32. Ovo će instalirati ESP32 i BLE podršku.

1 Pronađite put vašeg imenika lokacija Arduino Sketchbook. Otvorite Arduino IDE i pogledajte pod Datoteka-> Postavke i na vrhu tog zaslona vidjet ćete mjesto Sketchbook.

2 Preuzmite ovu datoteku ESP32_hardware.zip i raspakirajte je na mjesto Sketchbook. Tamo se stvara hardverski poddirektorij. U malo vjerojatnom slučaju da već imate hardverski poddirektorij na lokaciji Sketchbook, spojite njegov sadržaj s ovim.

3 Instalirajte Xtensa i ESP32 alate. Napomena: Za preuzimanje i instalaciju potrebno je neko vrijeme za obradu ~ 0,5Gig datoteka. Idite u hardverski / espressif / esp32 / tools direktorij, a zatim za Windows strojeve pokrenite datoteku get.exe. Za korisnike Mac -a i Linuxa pokrenite get.py python skriptu za preuzimanje alata. Pomoću terminala idite do mape hardware/espressif/esp32/tools. Zatim upišite: python get.pySkripta "get.py" python će preuzeti Xtensa GNU alate i komplet za razvoj softvera ESP32 (SDK) i raspakirati ih na odgovarajuće mjesto.

Nakon što to učinite, trebali biste vidjeti nekoliko novih mapa u direktoriju "tools", uključujući "sdk" i "xtensa-esp32-elf".

Nakon što ovo dovrši, zatvorite i ponovno otvorite svoj Arduino IDE i sada biste trebali imati dugačak popis ESP32 ploča koje možete izabrati u izborniku Alat-> Ploče. Odaberite "SparkFun ESP32 Thing" (ili "Adafruit ESP32 pero")

Zatim možete otvoriti popis Primjeri datoteka kako biste vidjeli brojne datoteke primjera ESP32

Gore navedeni postupak instalira snimku github koda za podršku ESP32 i BLE koji su spojeni u jednu zip datoteku. PfodDesigner generirani kod i donji primjeri koriste ovu verziju tih knjižnica. Ako želite najnoviju verziju, s mogućim drugačijim skupom značajki i grešaka, preuzmite zip najnovije verzije https://github.com/espressif/arduino-esp32 i raspakirajte je na hardver/espressif te promijenite naziv mapu esp32, a zatim za podršku za BLE preuzmite zip najnovije verzije https://github.com/espressif/arduino-esp32 i raspakirajte je u mapu esp32/libraries te je preimenujte u ESP32_BLE_Arduino (ako je potrebno).

Korak 2: Instaliranje PfodParser knjižnica za ESP32

a) Zatim preuzmite biblioteku pfodParser.zip V3.23+, pfodDwgControls.zip i, za ESP32 WiFi, pfodESP32BufferedClient.zip, zip datoteke na računalo, premjestite ih na radnu površinu ili u neku drugu mapu koju lako možete pronaći.

b) Zatim upotrijebite opciju izbornika Arduino 1.8.2 IDE Sketch → Import Library → Add Library da biste ih instalirali. (Ako vam Arduino ne dopušta da ga instalirate jer knjižnica već postoji, pronađite i izbrišite starije mape pfodParser, pfodCmdParser ili pfodCHAP itd., A zatim ih uvezite)

c) Zaustavite i ponovno pokrenite Arduino IDE, a pod Datoteka-> Primjeri sada biste trebali vidjeti knjižnice pfodParser, pfodDwgControls i pfodESP32BufferedClient i niz primjera.

Korak 3: Korištenje PfodDesignerV3 za ESP32

Besplatna aplikacija pfodDesignerV3 (V3291+) podržava generiranje koda za ESP32 čip za povezivanje putem BLE, WiFi ili Bluetooth Classic na pfodApp (plaćeno).

Postoje mnogi postojeći vodiči o tome kako stvoriti kontrole za svoj Android mobitel za upravljanje širokim rasponom ploča pomoću pfodDesignerV3. Pomoću pfodDesignerV3 možete stvoriti kontrole koje uključuju/isključuju izlaze ili ih pulsiraju, upravljati izlazima putem PWM-a, prikazivati stanje ulazne ili analogne vrijednosti, evidentirati podatke i podcrte te podizbornike i još mnogo toga.

Savjet: Podrška za ESP32 Arduino uključuje podršku za 31 različitu ESP32 ploču. PfodDesignerV3 vam daje pristup svim ESP32 I/O pinovima, ali ne i sve ploče povezuju sve ESP32 pinove s pinovima na ploči. Provjerite dokumentaciju vaše ploče za koje su pinove dostupne i pogledajte datoteku pins_arduino.h u direktoriju hardvera / espressif / esp32 / variants ploče.

Popis pfodDesignerV3 uključuje komentare o dostupnosti i igle za posebnu upotrebu za Sparkfun ESP32 Thing i Adafruit HUZZAH32 - ESP32 pernate ploče.

Ovi primjeri koriste Sparkfun ESP32 Thing ploču i stvaraju klizač za kontrolu svjetline ugrađene LED diode spojene na pin 5 s vašeg Android mobitela. Ako umjesto toga koristite Adafruit HUZZAH32 - ESP32 pernatu ploču, tada je ugrađeni LED dioda spojen na pin 13. ESP32 Arduino podrška, instalirana gore, ne podržava Arduino analogWrite izravno. Umjesto toga, ESP32 ima 16 PWM kanala koje možete kontrolirati i spojiti na bilo koji izlaz. PfodDesignerV3 generira sav potreban kôd za dodjelu kanala i povezivanje s odabranim izlazom. Instalirajte besplatni pfodDesignerV3 (V3291+) s google playa.

Korak 4: Generator koda ESP32 BLE

Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE
Generator koda ESP32 BLE

Pokrenite novi izbornik

Pritisnite gumb Target za promjenu ciljnog uređaja.

Prvi primjer cilja bit će ESP32 BLE pa kliknite gumb Bluetooth s niskom potrošnjom energije.

Odaberite ESP32 spojen putem BLE -a, a zatim pritisnite gumb za povratak na mobilnom telefonu za povratak na glavni zaslon.

Korak 5: Dizajniranje izbornika - upit

Dizajniranje izbornika - upit
Dizajniranje izbornika - upit
Dizajniranje izbornika - upit
Dizajniranje izbornika - upit
Dizajniranje izbornika - upit
Dizajniranje izbornika - upit

Ovaj jednostavan primjer imat će samo prompt i jednu kontrolu. Pritisnite gumb Uredi upit, a zatim gumb Uredi tekst upita da biste postavili tekst upita.

Ovdje je upit postavljen na "ESP32 Led". Pritisnite gumb za označavanje da biste spremili izmjene i vratili se na prethodni zaslon. Zatim kliknite Postavi boju pozadine za odabir više boja za izbornik kontrola.

Za svaku kontrolu možete odabrati različite boje. Za upit su dostupni različiti drugi formati. Ovdje je pozadina postavljena na Plava, a veličina fonta je +5, a tekst podebljan. Pregled formatiranog upita prikazan je pri dnu zaslona Uređivanje upita.

Korak 6: Dizajniranje izbornika - PWM Led kontrola

Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola
Dizajniranje izbornika - PWM Led kontrola

Pomoću gumba za povratak na mobilnom uređaju vratite se na glavni izbornik, a zatim kliknite Dodaj stavku izbornika za dodavanje stavke kontrole ili prikaza.

Odaberite stavku PWM izlaza. Pregled kontrole prikazan je pri vrhu zaslona.

Savjet: ESP32 nema 'standardnu Arduino' analogWrite funkciju. Međutim, ovaj generator koda generira kod koji ga simulira umjesto vas

Pritisnite gumb Uredi vodeći tekst i promijenite „Postavka PWM -a“u „Led“. Obratite pažnju na krajnji razmak kako biste odvojili „Led“od oznake %.

Pritisnite gumb za označavanje da biste spremili uređivanje, a zatim se pomaknite dolje do gumba "Nije spojeno na I/O pin".

Pritisnite taj gumb za prikaz popisa pinova koji se mogu koristiti kao izlazi.

Ovo pokazuje igle za posebnu uporabu za pernate ploče Sparkfun ESP32 Thing i Adafruit HUZZAH32. Odaberite pin 5 tako da klizač kontrolira svjetlinu LED diode Sparkfun ESP32 Thing. Ako koristite pernatu ploču Adafruit HUZZAH32, umjesto toga odaberite pin 13. Za ostale ploče provjerite dokumentaciju ploča i datoteku pins_arduino.h u direktoriju hardvera / espressif / esp32 / variants ploče

Zatim, kada završite s bilo kojim drugim postavkama oblikovanja za ovaj klizač, pomoću gumba za povratak na mobilnom uređaju vratite se na glavni izbornik i kliknite Izbornik za pregled da biste vidjeli kako će konačni izbornik izgledati na vašem mobitelu kada ga prikaže pfodApp. Kontrole su aktivne pa ih možete pomicati u pregledu.

Korak 7: Generirajte ESP32 kod

Generirajte ESP32 kod
Generirajte ESP32 kod
Generirajte ESP32 kod
Generirajte ESP32 kod

Vratite se na glavni izbornik i pomaknite se dolje do gumba Generiranje koda.

Pritisnite gumb Generiraj kôd, a zatim gumb Zapiši kôd u datoteku da biste generirali kôd

Izađite iz pfodDesignerV3 i prenesite kôd u /pfodAppRawData/pfodDesignerV3.txt s mobilnog telefona na računalo. Za načine kako to učiniti pogledajte pfodAppForAndroidGettingStarted.pdf. Aplikacija smarterDroid za prijenos WiFi datoteka jedan je od načina prijenosa.

Pomoću gumba "Promijeni cilj" na ekranu Generiranje koda možete se prebacivati između ESP32 putem BLE, ESP32 putem Bluetootha i ESP32 putem WiFi -a

Korak 8: Pokretanje primjera

Pokretanje primjera
Pokretanje primjera

Pomoću gumba “Promijeni cilj” na ekranu Generiranje koda možete se prebacivati između ESP32 putem BLE, ESP32 putem Bluetootha i ESP32 putem WiFi -a

Ovako su sljedeće tri primjera skice nastale iz gornjeg dizajna.

Pokretanje primjera pfodESP32_BLE

Postavljanje cilja na ESP32 putem BLE-a generira kôd u pfodESP32_LED_BLE.ino Ova je skica također dostupna pod Datoteka-> Primjeri-> pfodParser. Otvorite taj primjer, a zatim, nakon programiranja Sparkfun ESP32 Thing (ili druge ploče ESP32), tada biste trebali postaviti vezu s njim na pfodApp (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf) te se povezati i moći prilagoditi svjetlinu odbor vodio.

SAVJET: ESP32 koristi istu Bluetooth adresu i za BLE i za Bluetooth, pa ako ste prethodno postavili ESP32 Bluetooth vezu u pfodApp -u, morate izbrisati tu Bluetooth vezu pfodApp prije postavljanja BLE veze, jer pfodApp filtrira postojeće veze (pomoću adresa) s popisa prikaza dostupnih uređaja. Možda ćete također morati otvoriti postavke svog mobilnog telefona i 'zaboraviti' ESP32 Bluetooth vezu, a zatim isključiti Bluetooth mobitela i ponovno pokrenuti telefon kako biste očistili Bluetooth hrpu

SAVJET: Knjižnica ESP32_BLE_Arduino od Neila Kolbana nije kompatibilna s bibliotekom BLEPeripheral iz Sandeep Mistryja koju koriste neki drugi BLE ciljevi koje generira pfodDesigner. Dakle, morate ukloniti direktorij BLEPeripheral (ako postoji) iz vašeg Arduino/libraries direktorija kako biste sastavili ESP32 BLE skice.

Pokretanje primjera pfodESP32_Bluetooth

Postavljanje cilja na ESP32 putem Bluetootha generira kôd u pfodESP32_LED_Bluetooth.ino Ova skica je također dostupna pod Datoteka-> Primjeri-> pfodParser. Otvorite taj primjer, a zatim programirajte Sparkfun ESP32 Thing (ili drugu ESP32 ploču). Morate upariti ESP32 sa svojim telefonom, nije potreban pin broj. Zatim postavite vezu s njim na pfodApp (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf) te se povežite i moći ćete prilagoditi svjetlinu LED diode.

Pokretanje primjera pfodESP32_WiFi

Postavljanje cilja na ESP32 putem WiFi-a generira kôd u pfodESP32_LED_WiFi.ino Ova je skica također dostupna pod Datoteka-> Primjeri-> pfodParser. Otvorite taj primjer i umetnite ime i lozinku svoje mreže te odaberite statički IP za ovaj uređaj. Zatim, nakon programiranja Sparkfun ESP32 Thing (ili druge ESP32 ploče), trebate postaviti vezu s njom na pfodApp (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf) i spojiti se te moći prilagoditi svjetlinu LED diode.

Korak 9: WiFi sigurnost

Ako se povezujete na ESP32 putem interneta (putem WiFi -a), tada je sigurnost važna. Ne želite da bilo tko može otvoriti vaša garažna vrata, na primjer. Generator koda i knjižnica pfodParser podržavaju 128 -bitnu sigurnost. Ova sigurnost ne kriptira poruke, već dodaje svakoj poruci kriptografsko raspršivanje radi zaštite od neovlaštenog povezivanja i kontrole. Pogledajte SipHash Secure Challenge and Response za detalje o tome kako se ova sigurnost primjenjuje.

Dodavanje 128 -bitne sigurnosti

Zaštita od neovlaštenih korisnika koji vašem uređaju pristupaju putem interneta jednostavno je uređivanje#definirajte pfodSecurityCode "" za dodavanje vlastitog tajnog koda. (do 32 šesterostruke znamenke)

Na primjer, za postavljanje sigurnosnog koda 173057F7A706AF9BBE65D51122A14CEE trebali biste koristiti#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Naravno, trebali biste koristiti vlastiti tajni kod. Postavljanje vlastitog koda u vašoj pfodApp vezi omogućuje vam povezivanje ni s kim drugim.

Za dobru sigurnost potreban je dugi slučajni kôd. pfodApp podržava do 128 bita kao 32Hex znamenke.

Za generiranje vlastitog tajnog koda preuzmite nasumični Generator tajnih ključeva odavdeSekretni generator ključeva odavde. Osim generiranja nasumičnih ključeva, ovaj ih program zapisuje i kao QR kodove tako da ih možete jednostavno i točno postaviti u svoju pfodApp vezu.

Možete ispisati QR kôd i priložiti ga na svoj pfodDevice. Zatim kliknite gumb Skeniraj QR na ekranu pfodApp WiFi veze za čitanje lozinke.

Pogledajte Jednostavni WiFi/Arduino pfodDevice ™ sa 128 -bitnom sigurnošću za detaljan primjer korištenja generatora ključeva i QR koda.

Zaključak

Ovaj vodič pokazao je kako postaviti Arduino IDE za programiranje ESP32. Zatim je upotrijebio besplatnu aplikaciju pfodDesigner za dizajn izbornika za kontrolu svjetline ugrađenog LED -a i generiranog koda za povezivanje s ESP32 putem BLE -a, Bluetootha ili WiFi -ja. Ako se zatim povežete putem aplikacije pfodApp apppfodApp, vidjet ćete izbornik koji ste osmislili i moći ćete kontrolirati svjetlinu LED diode pomoću klizača. PfodDesigner generira sav Arduino kod, uključujući simulaciju Arduinovog analogWrite -a. Nije potrebno Arduino kodiranje. PfodApp vodi brigu o Androidu, nije potrebno kodiranje Androida.

Preporučeni: