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, Novembar
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 Arduino kod 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: Instaliranje 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ć dugi niz godina, podrška za Arduino kod još uvijek nije potpuna (u travnju 2018.), ali ovaj vodič i generator koda popunjavaju nedostajuće BLE i analogWrite funkcije. Ova web stranica pokriva 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 kreiranje 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 možete koristiti aplikaciju pfodApp Android (plaćenu) za povezivanje sa svojim ESP32 (putem BLE -a ili WiFi -a ili Bluetooth -a) i prikazati vaš kontrolni meni 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 za prijenos (ispis/čitanje) za svaki od ovih tipova veze.

Korak 1: Savjet: Instalirajte Arduino podršku za ESP32 s BLE podrškom

U travnju 2018. instaliranje Arduino ESP32 podrške više je uključeno nego za većinu drugih ploča, a isporučene biblioteke 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 putanju vašeg direktorija lokacija Arduino Sketchbook. Otvorite Arduino IDE i pogledajte pod Datoteka-> Postavke i na vrhu tog zaslona vidjet ćete lokaciju Sketchbook.

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

3 Instalirajte Xtensa i ESP32 Tools. Napomena: Za preuzimanje i instalaciju potrebno je neko vrijeme da se obradi ~ 0.5Gig datoteka. Idite u direktorij hardver / espressif / esp32 / tools, 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ću lokaciju.

Trebali biste vidjeti nekoliko novih mapa u direktoriju "tools", uključujući "sdk" i "xtensa-esp32-elf" kada to završi.

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

Zatim možete otvoriti listu Primjeri datoteka da vidite brojne datoteke primjera ESP32

Gore navedeni postupak instalira snimak 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 biblioteka. Ako želite najnoviju verziju, s možda drugačijim skupom funkcija i grešaka, preuzmite zip najnovije verzije https://github.com/espressif/arduino-esp32 i raspakirajte je na hardver/espressif te preimenujte folder esp32, a zatim za podršku za BLE preuzmite zip najnovije verzije https://github.com/espressif/arduino-esp32 i raspakirajte ga u mapu esp32/libraries te ga preimenujte u ESP32_BLE_Arduino (ako je potrebno).

Korak 2: Instaliranje PfodParser biblioteka za ESP32

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

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

c) Zaustavite i ponovo pokrenite Arduino IDE, a pod File-> Primjeri sada biste trebali vidjeti pfodParser, pfodDwgControls i pfodESP32BufferedClient biblioteke i brojne primjere.

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, kontrolirati izlaze putem PWM-a, prikazivati stanje ulazne ili analogne vrijednosti, evidentirati i crtati podatke i pod-menije i još mnogo toga.

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

spisak pfodDesignerV3 uključuje komentare o dostupnosti i posebne pinove 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 spojen na pin 13. ESP32 Arduino podrška, instalirana gore, ne podržava direktno Arduino analogWrite. 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 meni

Pritisnite gumb Target za promjenu ciljnog uređaja.

Prvi primjer meta bit će ESP32 BLE pa kliknite gumb Bluetooth Low Energy.

Odaberite ESP32 povezan putem BLE -a, a zatim pritisnite gumb za povratak na mobilnom uređaju za povratak na glavni zaslon.

Korak 5: Dizajniranje menija - upit

Dizajniranje menija - Odziv
Dizajniranje menija - Odziv
Dizajniranje menija - Odziv
Dizajniranje menija - Odziv
Dizajniranje menija - Odziv
Dizajniranje menija - Odziv

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

Ovdje je upit postavljen na “ESP32 Led”. Pritisnite dugme za potvrdu da biste sačuvali izmjene i vratili se na prethodni ekran. 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 ekrana za uređivanje upita.

Korak 6: Dizajniranje menija - PWM Led kontrola

Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola
Dizajniranje menija - PWM Led kontrola

Pomoću dugmeta za povratak na mobilnom uređaju vratite se u glavni meni, a zatim kliknite na Dodaj stavku menija da biste dodali stavku kontrole ili prikaza.

Odaberite stavku PWM Output. Pregled kontrole prikazan je pri vrhu ekrana.

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

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

Pritisnite gumb za označavanje da biste spremili uređivanje, a zatim se pomaknite prema dolje do gumba "Nije povezano s I/O iglom".

Pritisnite to dugme za prikaz popisa pinova koji se mogu koristiti kao izlazi.

Ovo pokazuje igle za posebnu upotrebu za Sparkfun ESP32 Thing i Adafruit HUZZAH32 pernate ploče. 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 u glavni izbornik i kliknite Pregledni meni da vidite kako će konačni izbornik izgledati na vašem mobilnom telefonu kada ga prikaže pfodApp. Kontrole su aktivne pa ih možete pomicati u pregledu.

Korak 7: Generirajte ESP32 kôd

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

Vratite se na glavni meni i pomerite se nadole do dugmeta Generiši kôd.

Kliknite na dugme Generiši kôd, a zatim na dugme Napiši kôd u datoteku da biste generisali kôd

Izađite iz pfodDesignerV3 i prenesite kôd u /pfodAppRawData/pfodDesignerV3.txt sa svog mobilnog telefona na računar. 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 skica je također dostupna pod Datoteka-> Primjeri-> pfodParser. Otvorite taj primjer, a zatim, nakon programiranja Sparkfun ESP32 Thing (ili druge ESP32 ploče), trebate postaviti vezu s njim na pfodApp (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf) i povezati se i moći prilagoditi svjetlinu ploča led.

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 mobilnog telefona i „zaboraviti“ESP32 Bluetooth vezu, a zatim isključiti Bluetooth mobilnog telefona i ponovo pokrenuti telefon da biste očistili Bluetooth stek

SAVJET: Biblioteka ESP32_BLE_Arduino iz Neila Kolbana nije kompatibilna s bibliotekom BLEPeripheral iz Sandeep Mistry -a koju koriste neki drugi BLE ciljevi koje generira pfodDesigner. Zato morate ukloniti BLEPeripheral direktorij (ako postoji) iz vašeg Arduino/libraries direktorija da 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 telefonom, nije potreban pin broj. Zatim postavite vezu na njega na pfodApp -u (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf) i povežite se 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 skica je također dostupna pod Datoteka-> Primjeri-> pfodParser. Otvorite taj primjer i umetnite ime i lozinku svoje mreže te odaberite statičku IP adresu 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: Sigurnost WiFi -a

Ako se povezujete na ESP32 putem interneta (putem WiFi -ja), tada je sigurnost važna. Ne želite da bilo ko može otvoriti vaša garažna vrata, na primjer. Generator koda i biblioteka pfodParser podržavaju 128 -bitnu sigurnost. Ova sigurnost ne šifrira poruke, već dodaje svakoj poruci kriptografski raspršivač radi zaštite od neovlaštene veze 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ćava vam i nikome drugom da se povežete.

Dugi slučajni kôd neophodan je za dobru sigurnost. 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 precizno postaviti u svoju pfodApp vezu.

Možete ispisati QR kôd i pričvrstiti 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č je pokazao kako postaviti Arduino IDE za programiranje ESP32. Zatim je koristila besplatnu aplikaciju pfodDesigner za dizajn menija za kontrolu svjetline ugrađenog LED -a i generiranog koda za povezivanje na ESP32 putem BLE -a, Bluetooth -a ili WiFi -a. Ako se tada povežete putem aplikacije pfodApp apppfodApp, vidjet ćete izbornik koji ste dizajnirali 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 se brine o svim Android stranama, nije potrebno Android kodiranje.

Preporučuje se: