Cuprins:

Generator de coduri ESP32 - Wifi, BLE, Bluetooth: 9 pași
Generator de coduri ESP32 - Wifi, BLE, Bluetooth: 9 pași

Video: Generator de coduri ESP32 - Wifi, BLE, Bluetooth: 9 pași

Video: Generator de coduri ESP32 - Wifi, BLE, Bluetooth: 9 pași
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Noiembrie
Anonim
Generator de coduri ESP32 - Wifi, BLE, Bluetooth
Generator de coduri ESP32 - Wifi, BLE, Bluetooth

Introducere

ESP32 este un cip cu procesor dual cu cost redus, cu suport pentru WiFi, Bluetooth Classic și BLE (Bluetooth Low Energy). Deși cipul nu mai există de câțiva ani, suportul pentru cod pentru Arduino nu este încă complet (în aprilie 2018), dar acest generator instructiv și de cod completează funcțiile BLE și analogWrite lipsă.

Sfat: ESP32 nu are o funcție analogWrite „standard Arduino”. Cu toate acestea, acest generator de cod generează cod care îl simulează pentru dvs

Sfat: Instalarea codului ESP nu include suport BLE. Instalarea descrisă aici include suport BLE

Această pagină web va acoperi configurarea Arduino IDE pentru a programa ESP32 pentru conexiuni BLE, Bluetooth sau WiFi. PfodDesigner generează cod pentru fiecare dintre aceste tipuri de conexiuni și, de asemenea, generează cod pentru a simula funcția analogWrite lipsă.

ESP32 este un cip cu procesor dual cu cost redus, cu suport pentru WiFi, Bluetooth Classic și BLE (Bluetooth Low Energy). Deși cipul a fost scos de câțiva ani, suportul pentru cod pentru Arduino nu este încă complet (în aprilie 2018), dar acest tutorial și acest generator de cod completează funcțiile BLE și analogWrite lipsă. Această pagină web va acoperi configurarea Arduino IDE pentru a programa ESP32 pentru conexiuni BLE, Bluetooth sau WiFi. PfodDesigner generează cod pentru fiecare dintre aceste tipuri de conexiuni și, de asemenea, generează cod pentru a simula funcția analogWrite lipsă.

Suplimentul Arduino acceptă aproximativ 31 de plăci ESP32. Când utilizați pfodDesigner, va trebui să alegeți conexiuni pin care se potrivesc cu cele disponibile pe placa dvs. particulară. Sparkfun ESP32 Thing (sau Adafruit HUZZAH32 Feather) este folosit aici ca exemplu de placă ESP32, dar puteți utiliza codul pentru oricare dintre cele 31 de plăci ESP32 acceptate.

Aplicația gratuită pfodDesignerV3 pentru Android este utilizată pentru a crea meniul de control (WYSIWYG) și apoi pentru a genera codul pentru ESP32, fie pentru o conexiune BLE, WiFi sau Bluetooth. După ce ați programat placa ESP32, puteți utiliza apoi aplicația pfodApp Android (plătită) pentru a vă conecta la ESP32 (prin BLE sau WiFi sau Bluetooth) și afișa meniul de control și controla ESP32. Dacă nu doriți să utilizați pfodApp, puteți utiliza în continuare codul generat ca bază pentru propriile conexiuni WiFi, BLE (Nordic UART) sau Bluetooth, deoarece oferă o interfață Stream (tipărire / citire) pentru fiecare dintre aceste tipuri de conexiuni.

Pasul 1: Sfat: Instalarea suportului Arduino pentru ESP32 cu suport BLE

În aprilie 2018, instalarea suportului Arduino ESP32 este mai implicată decât pentru majoritatea celorlalte plăci, iar bibliotecile de cod furnizate nu sunt complete. Nu puteți utiliza managerul Arduino Board pentru a instala suportul ESP32. Urmați acești pași pentru a configura Arduino pentru programarea ESP32. Aceasta va instala ESP32 și, de asemenea, suportul BLE.

1 Găsiți calea directorului dvs. de locații Arduino Sketchbook. Deschideți Arduino IDE și căutați sub Fișier-> Preferințe și în partea de sus a ecranului veți vedea locația Sketchbook.

2 Descărcați acest fișier ESP32_hardware.zip și dezarhivați-l în locația Sketchbook. Acolo creează un subdirector hardware. În cazul puțin probabil că aveți deja un subdirector hardware în locația Sketchbook, îmbinați conținutul acestuia cu acesta.

3 Instalați instrumentele Xtensa și ESP32. Notă: Această descărcare și instalare durează ceva timp pentru a procesa ~ 0,5Gig de fișiere. Accesați directorul hardware / espressif / esp32 / tools, apoi pentru mașinile Windows rulați fișierul get.exe. Pentru utilizatorii de Mac și Linux, rulați scriptul get.py python pentru a descărca instrumentele. Folosind un terminal, navigați la folderul hardware / espressif / esp32 / tools. Apoi tastați: python get.py Scriptul python „get.py” va descărca instrumentele Xtensa GNU și kitul de dezvoltare software ESP32 (SDK) și le va dezarhiva la locația corectă.

Ar trebui să vedeți câteva foldere noi în directorul „instrumente”, inclusiv „sdk” și „xtensa-esp32-elf” odată ce ați terminat.

Odată ce acest lucru este complet, închideți și redeschideți ID-ul Arduino și ar trebui să aveți acum o listă lungă de plăci ESP32 din care să alegeți în meniul Instrument-> Placi. Alegeți „SparkFun ESP32 Thing” (sau „Adafruit ESP32 Feather”)

Apoi puteți deschide lista de exemple de fișiere pentru a vedea un număr de fișiere de exemplu ESP32

Procesul de mai sus instalează un instantaneu al codului github pentru suportul ESP32 și BLE care au fost îmbinate într-un singur fișier zip. Codul generat de pfodDesigner și exemplele de mai jos utilizează această versiune a acelor biblioteci. Dacă doriți cea mai recentă versiune, cu un set diferit de caracteristici și erori, descărcați fișierul zip al celei mai recente versiuni a https://github.com/espressif/arduino-esp32 și dezarhivați-l la hardware / espressif și redenumiți folderul esp32 și apoi pentru suportul BLE descărcați un zip al celei mai recente versiuni a https://github.com/espressif/arduino-esp32 și dezarhivați-l în folderul esp32 / libraries și redenumiți-l ESP32_BLE_Arduino (dacă este necesar).

Pasul 2: Instalarea bibliotecilor PfodParser pentru ESP32

a) Apoi descărcați biblioteca pfodParser.zip V3.23 +, pfodDwgControls.zip și, pentru ESP32 WiFi, pfodESP32BufferedClient.zip, fișierele zip pe computer, mutați-le pe desktop sau în orice alt folder pe care îl puteți găsi cu ușurință.

b) Apoi utilizați opțiunea de meniu ID Arduino 1.8.2 Sketch → Import Library → Add Library pentru a le instala. (Dacă Arduino nu vă permite să îl instalați deoarece biblioteca există deja, găsiți și ștergeți folderele mai vechi pfodParser, pfodCmdParser sau pfodCHAP etc. și apoi importați-le)

c) Opriți și reporniți ID-ul Arduino și în Fișier-> Exemple ar trebui să vedeți acum bibliotecile pfodParser, pfodDwgControls și pfodESP32BufferedClient și o serie de exemple.

Pasul 3: Utilizarea PfodDesignerV3 pentru ESP32

Aplicația gratuită pfodDesignerV3 (V3291 +) acceptă generarea de cod pentru cipul ESP32 pentru conectarea prin BLE, WiFi sau Bluetooth Classic la pfodApp (plătit).

Există multe tutoriale existente despre cum să creați controale pentru dispozitivul dvs. Android pentru a controla o gamă largă de plăci folosind pfodDesignerV3. Cu pfodDesignerV3 puteți crea controale care activează / dezactivează ieșirile sau le impulsionează, controlează ieșirile prin PWM, afișează starea unei valori de intrare sau analogice, date de jurnal și grafic și submeniuri și multe altele.

Sfat: Suportul ESP32 Arduino include suport pentru aproximativ 31 de plăci ESP32 diferite. PfodDesignerV3 vă oferă acces la toți pinii I / O ESP32, dar nu toate plăcile conectează toți pinii ESP32 la pinii plăcii. Verificați documentația plăcii pentru care pinii sunt disponibili și consultați fișierul pins_arduino.h din directorul hardware / espressif / esp32 / variants al plăcii.

Lista de pini pfodDesignerV3 include comentarii despre disponibilitate și pini de utilizare specială pentru Sparkfun ESP32 Thing și Adafruit HUZZAH32 - ESP32 Feather Boards.

Aceste exemple folosesc placa Sparkfun ESP32 Thing și creează un glisor pentru a controla luminozitatea LED-ului integrat conectat la pinul 5 de pe mobilul dvs. Android. Dacă utilizați în schimb placa Adafruit HUZZAH32 - ESP32 Feather, atunci ledul de la bord este conectat la pinul 13. Suportul ESP32 Arduino, instalat mai sus, nu acceptă direct Arduino analogWrite. În schimb, ESP32 are 16 canale PWM pe care le puteți controla și conecta la oricare dintre ieșiri. PfodDesignerV3 generează tot codul necesar pentru a aloca canalul și a-l conecta la ieșirea aleasă. Instalați pfodDesignerV3 gratuit (V3291 +) de pe Google Play.

Pasul 4: Generator de coduri ESP32 BLE

Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE
Generator de coduri ESP32 BLE

Porniți un nou meniu

Faceți clic pe butonul Țintă pentru a schimba dispozitivul țintă.

Primul exemplu țintă va fi ESP32 BLE, deci faceți clic pe butonul Bluetooth Low Energy.

Selectați ESP32 conectat prin BLE și apoi apăsați butonul Înapoi al telefonului pentru a reveni la ecranul principal.

Pasul 5: Proiectarea meniului - promptul

Proiectarea meniului - promptul
Proiectarea meniului - promptul
Proiectarea meniului - promptul
Proiectarea meniului - promptul
Proiectarea meniului - promptul
Proiectarea meniului - promptul

Acest exemplu simplu va avea doar un prompt și un singur control. Faceți clic pe butonul Edit Prompt și apoi pe butonul Edit Prompt Text pentru a seta textul prompt.

Aici promptul este setat la „ESP32 Led”. Faceți clic pe butonul de bifare pentru a vă salva modificările și a reveni la ecranul anterior. Apoi faceți clic pe Setare culoare de fundal pentru a selecta culoarea peste toate pentru meniul de controale.

Puteți selecta culori diferite pentru fiecare control. Există diverse alte formate disponibile pentru prompt. Aici fundalul este setat la Albastru și dimensiunea fontului este +5, iar textul este Bold. O previzualizare a solicitării formatate este afișată în partea de jos a ecranului Promitere editare.

Pasul 6: Proiectarea meniului - PWM Led Control

Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control
Proiectarea meniului - PWM Led Control

Utilizați butonul Înapoi al telefonului mobil pentru a reveni la meniul principal, apoi faceți clic pe Adăugare element meniu pentru a adăuga un element de control sau afișare.

Selectați elementul PWM Output. O previzualizare a comenzii este afișată în partea de sus a ecranului.

Sfat: ESP32 nu are o funcție analogWrite „standard Arduino”. Cu toate acestea, acest generator de cod generează cod care îl simulează pentru dvs

Faceți clic pe butonul Editați textul principal și schimbați „Setarea PWM“la „Led” Notați spațiul final pentru a separa „Led” de indicația%.

Faceți clic pe butonul de bifare pentru a salva editarea și apoi derulați în jos până la butonul „Nu este conectat la un pin I / O”.

Faceți clic pe butonul respectiv pentru a afișa o listă de pini care pot fi folosiți ca ieșiri.

Aceasta arată pinii de utilizare specială pentru plăcile Sparkfun ESP32 Thing și Adafruit HUZZAH32 Feather. Selectați pinul 5, astfel încât controlul glisorului să controleze luminozitatea LED-ului de la Sparkfun ESP32 Thing. Dacă utilizați placa Adafruit HUZZAH32 Feather, selectați în schimb pinul 13. Pentru alte plăci verificați documentația plăcilor dvs. și fișierul pins_arduino.h din directorul hardware / espressif / esp32 / variants al plăcii dvs.

Apoi, când ați terminat de realizat orice alte setări de formatare pentru acest glisor, utilizați butonul Înapoi al telefonului mobil pentru a reveni la meniul principal și faceți clic pe Previzualizare meniu pentru a vedea cum va arăta meniul final pe telefonul dvs. atunci când este afișat de pfodApp. Comenzile sunt live, astfel încât să le puteți muta în previzualizare.

Pasul 7: Generați codul ESP32

Generați codul ESP32
Generați codul ESP32
Generați codul ESP32
Generați codul ESP32

Reveniți la meniul principal și derulați în jos până la butonul Generare cod.

Faceți clic pe butonul Generați cod, apoi faceți clic pe butonul Scrieți cod în fișier pentru a genera codul

Ieșiți din pfodDesignerV3 și transferați codul în /pfodAppRawData/pfodDesignerV3.txt de pe mobil pe computer. Consultați pfodAppForAndroidGettingStarted.pdf pentru modalități de a face acest lucru. Aplicația wifi de transfer de fișiere de către smarterDroid este o modalitate de a efectua transferul.

Folosind butonul „Change Target” de pe ecranul Generare cod, puteți comuta între ESP32 prin BLE, ESP32 prin Bluetooth și ESP32 prin WiFi

Pasul 8: Rularea exemplelor

Executarea exemplelor
Executarea exemplelor

Folosind butonul „Change Target” de pe ecranul Generare cod, puteți comuta între ESP32 prin BLE, ESP32 prin Bluetooth și ESP32 prin WiFi

Acesta este modul în care următoarele trei schițe de exemplu au fost generate din designul de mai sus.

Rularea exemplului pfodESP32_BLE

Setarea țintei la ESP32 prin BLE generează codul în pfodESP32_LED_BLE.ino Această schiță este disponibilă și în Fișier-> Exemple-> pfodParser. Deschideți acest exemplu, apoi, după programarea Sparkfun ESP32 Thing (sau altă placă ESP32), ar trebui să configurați o conexiune la acesta pe pfodApp (consultați pfodAppForAndroidGettingStarted.pdf pentru detalii) și să vă conectați și să puteți regla luminozitatea placă condusă.

SFAT: ESP32 utilizează aceeași adresă Bluetooth atât pentru BLE cât și pentru Bluetooth, deci dacă ați configurat anterior o conexiune Bluetooth ESP32 în pfodApp, trebuie să ștergeți acea conexiune Bluetooth pfodApp înainte de a configura o conexiune BLE, deoarece pfodApp filtrează conexiunile existente (de adresa) din lista de afișare a dispozitivelor disponibile. De asemenea, poate fi necesar să deschideți setările telefonului mobil și să „uitați” conexiunea Bluetooth ESP32 și apoi să opriți Bluetooth-ul telefonului mobil și să reporniți telefonul pentru a șterge stiva Bluetooth

SFAT: Biblioteca ESP32_BLE_Arduino de la Neil Kolban nu este compatibilă cu biblioteca BLEPeripheral de la Sandeep Mistry care este utilizată de alte ținte BLE generate de pfodDesigner. Deci, trebuie să eliminați directorul BLEPeripheral, (dacă există), din directorul Arduino / biblioteci pentru a compila schițe ESP32 BLE.

Rularea exemplului pfodESP32_Bluetooth

Setarea țintei la ESP32 prin Bluetooth generează codul în pfodESP32_LED_Bluetooth.ino Această schiță este disponibilă și în Fișier-> Exemple-> pfodParser. Deschideți acest exemplu, apoi programați Sparkfun ESP32 Thing (sau altă placă ESP32). Trebuie să împerecheați ESP32 cu telefonul dvs., nu este necesar un număr PIN. Apoi configurați o conexiune la aceasta pe pfodApp (consultați pfodAppForAndroidGettingStarted.pdf pentru detalii) și conectați-vă și puteți regla luminozitatea ledului plăcii.

Rularea exemplului pfodESP32_WiFi

Setarea țintei la ESP32 prin WiFi generează codul în pfodESP32_LED_WiFi.ino Această schiță este disponibilă și în Fișier-> Exemple-> pfodParser. Deschideți exemplul respectiv și introduceți numele și parola rețelei și alegeți un IP static pentru acest dispozitiv. Apoi, după programarea Sparkfun ESP32 Thing (sau altă placă ESP32), ar trebui să configurați o conexiune la aceasta pe pfodApp (consultați pfodAppForAndroidGettingStarted.pdf pentru detalii) și să vă conectați și să puteți regla luminozitatea ledului plăcii.

Pasul 9: Securitate WiFi

Dacă vă conectați la ESP32 prin internet (prin wifi), atunci securitatea este importantă. De exemplu, nu doriți ca oricine să vă poată deschide ușa garajului. Generatorul de cod și biblioteca pfodParser acceptă securitate pe 128 biți. Această securitate nu criptează mesajele, ci adaugă un hash criptografic la fiecare mesaj pentru a proteja împotriva conexiunii și controlului neautorizat. Consultați SipHash Secure Challenge and Response pentru detalii despre modul în care este implementată această securitate.

Se adaugă securitate pe 128 biți

Asigurarea împotriva utilizatorilor neautorizați care vă accesează dispozitivul prin internet este la fel de ușoară ca editarea # define pfodSecurityCode "" pentru a adăuga propriul cod secret. (până la 32 de cifre hexagonale)

De exemplu, pentru a seta un cod de securitate 173057F7A706AF9BBE65D51122A14CEE, veți utiliza # define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Desigur, ar trebui să utilizați propriul cod secret. Setarea propriului cod în conexiunea pfodApp vă permite, și nimănui, să vă conectați.

Pentru o bună securitate este necesar un cod aleatoriu lung. pfodApp acceptă până la 128 de biți ca cifre 32Hex.

Pentru a vă genera propriul cod secret, puteți descărca un Generator de chei secrete aleatoriu de aici. Generator de chei secrete de aici. Pe lângă generarea de chei aleatorii, acest program le scrie ca coduri QR, astfel încât să le puteți seta cu ușurință și cu precizie în conexiunea pfodApp.

Puteți imprima codul QR și îl puteți atașa la pfodDevice. Apoi faceți clic pe butonul Scanare QR din ecranul conexiunii WiFi pfodApp pentru a citi parola.

Consultați Un WiFi / Arduino pfodDevice ™ simplu cu securitate pe 128 biți pentru un exemplu detaliat de utilizare a generatorului de chei și a codului QR.

Concluzie

Acest tutorial a arătat cum să configurați Arduino IDE pentru a programa ESP32. Apoi a folosit aplicația gratuită pfodDesigner pentru a proiecta un meniu pentru a controla luminozitatea ledului de la bord și a codului generat pentru conectarea la ESP32 prin BLE, Bluetooth sau WiFi. Dacă vă conectați apoi prin intermediul aplicației pfodApp, veți vedea meniul pe care l-ați proiectat și puteți controla luminozitatea ledului printr-un glisor. PfodDesigner generează tot codul Arduino, inclusiv simularea analogWrite a lui Arduino. Nu a fost necesară codificarea Arduino. PfodApp are grijă de toate aspectele Android, nu este necesară codificarea Android.

Recomandat: