Innholdsfortegnelse:

ESP32 Kodegenerator - Wifi, BLE, Bluetooth: 9 trinn
ESP32 Kodegenerator - Wifi, BLE, Bluetooth: 9 trinn

Video: ESP32 Kodegenerator - Wifi, BLE, Bluetooth: 9 trinn

Video: ESP32 Kodegenerator - Wifi, BLE, Bluetooth: 9 trinn
Video: Mudah Membuat QR Kode atau Barcode di Handphone (2021) 2024, November
Anonim
ESP32 Kodegenerator - Wifi, BLE, Bluetooth
ESP32 Kodegenerator - Wifi, BLE, Bluetooth

Introduksjon

ESP32 er en billig dual -prosessorbrikke, med støtte for WiFi, Bluetooth Classic og BLE (Bluetooth Low Energy). Selv om brikken har vært ute i flere år, er kodestøtte for Arduino fortsatt ikke fullført (som i april 2018), men denne instruerbare og kodegeneratoren fyller ut de manglende BLE- og analogWrite -funksjonene.

Tips: ESP32 har ikke en 'standard Arduino' analogWrite -funksjon. Imidlertid genererer denne kodegeneratoren kode som simulerer den for deg

Tips: Installasjonen av ESP -koden inkluderer ikke BLE -støtte. Installasjonen beskrevet her inkluderer BLE -støtte

Denne websiden dekker konfigurering av Arduino IDE for å programmere ESP32 for BLE-, Bluetooth- eller WiFi -tilkoblinger. PfodDesigner genererer kode for hver av disse tilkoblingstypene og genererer også kode for å simulere den manglende analogWrite -funksjonen.

ESP32 er en billig dual -prosessorbrikke, med støtte for WiFi, Bluetooth Classic og BLE (Bluetooth Low Energy). Selv om brikken har vært ute i flere år, er kodestøtte for Arduino fortsatt ikke fullført (som i april 2018), men denne opplæringen og kodegeneratoren fyller ut de manglende BLE- og analogWrite -funksjonene. Denne nettsiden vil dekke oppsett av Arduino IDE for å programmere ESP32 for BLE-, Bluetooth- eller WiFi -tilkoblinger. PfodDesigner genererer kode for hver av disse tilkoblingstypene og genererer også kode for å simulere den manglende analogWrite -funksjonen.

Arduino-tillegget støtter rundt 31 ESP32-kort. Når du bruker pfodDesigner, må du velge pin -tilkoblinger som samsvarer med de som er tilgjengelige på nettbrettet ditt. Sparkfun ESP32 Thing (eller Adafruit HUZZAH32 Feather) brukes her som eksempelet ESP32 -kort, men du kan bruke koden for alle de 31 støttede ESP32 -kortene.

Den gratis pfodDesignerV3 Android -appen brukes til å lage kontrollmenyen (WYSIWYG) og deretter generere koden for ESP32, enten for en BLE-, WiFi- eller Bluetooth -tilkobling. Etter å ha programmert ESP32 -kortet, kan du deretter bruke pfodApp Android -appen (betalt) til å koble til ESP32 (via BLE eller WiFi eller Bluetooth) og vise kontrollmenyen og kontrollere ESP32. Hvis du ikke vil bruke pfodApp, kan du fremdeles bruke den genererte kodede som grunnlag for dine egne WiFi-, BLE (Nordic UART) eller Bluetooth -tilkoblinger, ettersom den gir et Stream (utskrift/les) -grensesnitt til hver av disse tilkoblingstypene.

Trinn 1: Tips: Installere Arduino -støtten for ESP32 med BLE -støtte

I april 2018 er installasjonen av Arduino ESP32 -støtten mer involvert enn for de fleste andre tavler, og kodebibliotekene som følger med er ikke fullførte. Du kan ikke bruke Arduino Board manager til å installere ESP32 -støtte. Følg disse trinnene for å konfigurere Arduino for ESP32 -programmering. Dette vil installere ESP32 og også BLE -støtte.

1 Finn banen til din Arduino Sketchbook -lokasjonskatalog. Åpne Arduino IDE og se under File-> Preferences, og øverst på skjermen vil du se Sketchbook-plasseringen.

2 Last ned denne ESP32_hardware.zip -filen og pakk den ut til Sketchbook -stedet. Det oppretter en maskinvareundermappe der. I det usannsynlige tilfellet du allerede har en maskinvareundermappe i din Sketchbook-plassering, fletter du innholdet med denne.

3 Installer Xtensa- og ESP32 -verktøyene. Merk: Denne nedlastingen og installasjonen tar litt tid å behandle ~ 0,5Gig filer. Gå til katalogen hardware / espressif / esp32 / tools, og kjør deretter Get.exe -filen for Windows -maskiner. For Mac- og Linux -brukere, kjør python -skriptet get.py for å laste ned verktøyene. Bruk en terminal til å navigere til mappen hardware/espressif/esp32/tools. Skriv deretter inn: python get.py "get.py" python -skriptet vil laste ned Xtensa GNU -verktøyene og ESP32 programvareutviklingssett (SDK), og pakke dem ut til riktig sted.

Du bør se noen nye mapper i "verktøy" -katalogen, inkludert "sdk" og "xtensa-esp32-elf" når det er gjort.

Når dette er fullført, lukker og åpner du Arduino IDE igjen, og du bør nå ha en lang liste med ESP32-kort å velge mellom under Verktøy-> Tavler-menyen. Velg "SparkFun ESP32 Thing" (eller "Adafruit ESP32 Feather")

Du kan deretter åpne Fileksempler-listen for å se en rekke ESP32-eksempelfiler

Prosessen ovenfor installerer et øyeblikksbilde av github -koden for ESP32- og BLE -støtten som er slått sammen til en enkelt zip -fil. Den pfodDesigner -genererte koden og eksemplene nedenfor bruker denne versjonen av disse bibliotekene. Hvis du vil ha den nyeste versjonen, med muligens et annet sett med funksjoner og feil, kan du laste ned zip-en til den nyeste versjonen av https://github.com/espressif/arduino-esp32 og pakke den ut til hardware/espressif og gi nytt navn til mappe esp32 og deretter for BLE-støtte laste ned en zip av den nyeste versjonen av https://github.com/espressif/arduino-esp32 og pakk den ut til esp32/biblioteker-mappen og gi den nytt navn til ESP32_BLE_Arduino (om nødvendig).

Trinn 2: Installere PfodParser Libraries for ESP32

a) Last deretter ned pfodParser.zip -biblioteket V3.23+, pfodDwgControls.zip og, for ESP32 WiFi, pfodESP32BufferedClient.zip, zip -filene til datamaskinen, flytt dem til skrivebordet eller en annen mappe du enkelt kan finne.

b) Bruk deretter Arduino 1.8.2 IDE -menyalternativet Skisse → Importer bibliotek → Legg til bibliotek for å installere dem. (Hvis Arduino ikke lar deg installere det fordi biblioteket allerede finnes, finn og slett deretter de eldre pfodParser-, pfodCmdParser- eller pfodCHAP etc -mappene, og importer deretter disse)

c) Stopp og start Arduino IDE på nytt og under Fil-> Eksempler skal du nå se pfodParser, pfodDwgControls og pfodESP32BufferedClient-biblioteker og en rekke eksempler.

Trinn 3: Bruke PfodDesignerV3 for ESP32

Den gratis pfodDesignerV3 (V3291+) -appen støtter generering av kode for ESP32 -brikken for tilkobling via BLE, WiFi eller Bluetooth Classic til pfodApp (betalt).

Det er mange eksisterende opplæringsprogrammer om hvordan du oppretter kontroller for Android -mobilen din for å kontrollere et bredt spekter av tavler ved hjelp av pfodDesignerV3. Med pfodDesignerV3 kan du lage kontroller som slår utganger på/av eller pulserer dem, styrer utganger via PWM, viser tilstanden til en inngang eller analog verdi, logger og plotter data og undermenyer og mye mer.

Tips: ESP32 Arduino -støtten inkluderer støtte for rundt 31 forskjellige ESP32 -kort. PfodDesignerV3 gir deg tilgang til alle ESP32 I/O -pinnene, men ikke alle kortene kobler alle ESP32 -pinnene til brettpinnene. Sjekk brettets dokumentasjon for hvilke pinner som er tilgjengelige, og se pins_arduino.h -filen under kataloget med maskinvaren / espressif / esp32 / varianter.

pfodDesignerV3 pin -liste inneholder kommentarer om tilgjengelighet og pins for spesiell bruk for Sparkfun ESP32 Thing og Adafruit HUZZAH32 - ESP32 fjærbrett.

Disse eksemplene bruker Sparkfun ESP32 Thing -kortet og lager en glidebryter for å kontrollere lysstyrken til LED -lampen ombord som er koblet til pin 5 fra Android -mobilen din. Hvis du bruker Adafruit HUZZAH32 - ESP32 fjærbrett i stedet, er den innebygde LED -en koblet til pin 13. ESP32 Arduino -støtten, installert ovenfor, støtter ikke Arduinos analogWrite direkte. I stedet har ESP32 16 PWM -kanaler du kan kontrollere og koble til hvilken som helst av utgangene. PfodDesignerV3 genererer all nødvendig kode for å allokere kanalen og koble den til den valgte utgangen. Installer gratis pfodDesignerV3 (V3291+) fra Google Play.

Trinn 4: ESP32 BLE -kodegenerator

ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator
ESP32 BLE -kodegenerator

Start en ny meny

Klikk på Mål -knappen for å endre målenheten.

Det første eksempelmålet vil være ESP32 BLE, så klikk på Bluetooth Low Energy -knappen.

Velg ESP32 tilkoblet via BLE, og trykk deretter på mobilens tilbakeknapp for å komme tilbake til hovedskjermen.

Trinn 5: Utforming av menyen - ledeteksten

Utforming av menyen - ledeteksten
Utforming av menyen - ledeteksten
Utforming av menyen - ledeteksten
Utforming av menyen - ledeteksten
Utforming av menyen - ledeteksten
Utforming av menyen - ledeteksten

Dette enkle eksemplet vil bare ha en ledetekst og en enkelt kontroll. Klikk på knappen Rediger melding og deretter på knappen Rediger meldingstekst for å angi meldingsteksten.

Her er ledeteksten satt til “ESP32 Led”. Klikk på hake -knappen for å lagre redigeringene og gå tilbake til forrige skjermbilde. Klikk deretter på Angi bakgrunnsfarge for å velge den overordnede fargen for kontrollmenyen.

Du kan velge forskjellige farger for hver kontroll. Det er forskjellige andre formater tilgjengelig for ledeteksten. Her er bakgrunnen satt til blå og skriftstørrelsen er +5 og teksten er fet. En forhåndsvisning av den formaterte ledeteksten vises nederst på skjermbildet for redigering.

Trinn 6: Utforming av menyen - PWM Led Control

Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control
Design av menyen - PWM Led Control

Bruk mobilens tilbakeknapp for å gå tilbake til hovedmenyen, og klikk deretter på Legg til menyelement for å legge til et kontroll- eller visningselement.

Velg PWM Output -elementet. En forhåndsvisning av kontrollen vises øverst på skjermen.

Tips: ESP32 har ikke en 'standard Arduino' analogWrite -funksjon. Imidlertid genererer denne kodegeneratoren kode som simulerer den for deg

Klikk på Rediger ledende tekst -knappen og endre "PWM -innstilling" til "Led". Legg merke til bakrommet for å skille "Led" fra % -indikasjonen.

Klikk på hake -knappen for å lagre redigeringen, og bla deretter ned til knappen "Ikke koblet til en I/O -pin".

Klikk på knappen for å vise en liste over pinner som kan brukes som utganger.

Dette viser pins for spesiell bruk for Sparkfun ESP32 Thing og Adafruit HUZZAH32 fjærbrett. Velg pin 5 slik at glidebryteren kontrollerer Sparkfun ESP32 Things innebygde lysstyrke. Hvis du bruker Adafruit HUZZAH32 fjærbrett, velger du pin 13 i stedet. For andre tavler, sjekk brettdokumentasjonen og pins_arduino.h -filen under tavlen maskinvare / espressif / esp32 / varianter

Når du er ferdig med å gjøre andre formateringsinnstillinger for denne glidebryteren, bruker du mobilens tilbakeknapp for å gå tilbake til hovedmenyen og klikker på Forhåndsvisning -menyen for å se hvordan den endelige menyen vil se ut på mobilen din når den vises av pfodApp. Kontrollene er live, slik at du kan flytte dem i forhåndsvisningen.

Trinn 7: Generer ESP32 -koden

Generer ESP32 -koden
Generer ESP32 -koden
Generer ESP32 -koden
Generer ESP32 -koden

Gå tilbake til hovedmenyen og bla ned til knappen Generer kode.

Klikk på knappen Generer kode og deretter på knappen Skriv kode til fil for å generere koden

Avslutt pfodDesignerV3 og overfør koden i /pfodAppRawData/pfodDesignerV3.txt fra mobilen til datamaskinen. Se pfodAppForAndroidGettingStarted.pdf for hvordan du gjør dette. Wifi file transfer pro -appen av smarterDroid er en måte å gjøre overføringen på.

Ved å bruke "Endre mål" -knappen på Generer kode -skjermen, kan du bytte mellom ESP32 via BLE, ESP32 via Bluetooth og ESP32 via WiFi

Trinn 8: Kjøre eksemplene

Kjører eksemplene
Kjører eksemplene

Ved å bruke "Endre mål" -knappen på Generer kode -skjermen, kan du bytte mellom ESP32 via BLE, ESP32 via Bluetooth og ESP32 via WiFi

Slik ble de følgende tre eksempelskissene generert fra designen ovenfor.

Kjører eksempelet pfodESP32_BLE

Angi målet til ESP32 via BLE genererer koden i pfodESP32_LED_BLE.ino Denne skissen er også tilgjengelig under Fil-> Eksempler-> pfodParser. Åpne det eksemplet, og etter programmering av Sparkfun ESP32 Thing (eller et annet ESP32 -kort), bør du deretter opprette en tilkobling til det på pfodApp (se pfodAppForAndroidGettingStarted.pdf for detaljer) og koble til og kunne justere lysstyrken til styret ledet.

TIPS: ESP32 bruker den samme Bluetooth -adressen for både BLE og Bluetooth, så hvis du tidligere har konfigurert en ESP32 Bluetooth -tilkobling i pfodApp, må du slette den pfodApp Bluetooth -tilkoblingen før du setter opp en BLE -tilkobling, siden pfodApp filtrerer eksisterende tilkoblinger (av adresse) fra visningslisten over tilgjengelige enheter. Du må kanskje også åpne mobilens innstillinger og 'glemme' ESP32 Bluetooth -tilkoblingen og deretter slå av mobilens Bluetooth og starte telefonen på nytt for å fjerne Bluetooth -stabelen

TIPS: ESP32_BLE_Arduino -biblioteket fra Neil Kolban er ikke kompatibelt med BLEPeripheral -biblioteket fra Sandeep Mistry som brukes av noen andre BLE -mål generert av pfodDesigner. Så du må fjerne BLEPeripheral -katalogen (hvis den finnes) fra Arduino/bibliotek -katalogen for å kunne kompilere ESP32 BLE -skisser.

Kjører eksempelet pfodESP32_Bluetooth

Angi målet til ESP32 via Bluetooth genererer koden i pfodESP32_LED_Bluetooth.ino Denne skissen er også tilgjengelig under Fil-> Eksempler-> pfodParser. Åpne det eksemplet, og programmer deretter Sparkfun ESP32 Thing (eller et annet ESP32 -kort). Du må koble ESP32 til telefonen din, ingen PIN -kode kreves. Sett deretter opp en tilkobling til den på pfodApp (se pfodAppForAndroidGettingStarted.pdf for detaljer) og koble til og kunne justere lysstyrken på brettet.

Kjører eksempelet pfodESP32_WiFi

Angi målet til ESP32 via WiFi genererer koden i pfodESP32_LED_WiFi.ino Denne skissen er også tilgjengelig under Fil-> Eksempler-> pfodParser. Åpne det eksemplet og sett inn nettverkets navn og passord, og velg en statisk IP for denne enheten. Deretter, etter å ha programmert Sparkfun ESP32 Thing (eller et annet ESP32 -kort), bør du opprette en tilkobling til den på pfodApp (se pfodAppForAndroidGettingStarted.pdf for detaljer) og koble til og kunne justere lysstyrken på brettet.

Trinn 9: WiFi -sikkerhet

Hvis du kobler til ESP32 via internett (via wifi), er sikkerhet viktig. Du vil ikke at hvem som helst skal kunne åpne garasjeporten din, for eksempel. Kodegeneratoren og pfodParser -biblioteket støtter 128 -bits sikkerhet. Denne sikkerheten krypterer ikke meldingene, men legger i stedet til en kryptografisk hash til hver melding for å beskytte mot uautorisert tilkobling og kontroll. Se SipHash Secure Challenge and Response for detaljer om hvordan denne sikkerheten implementeres.

Legger til 128bit sikkerhet

Sikring mot uautoriserte brukere som får tilgang til enheten din over internett er like enkelt som å redigere#define pfodSecurityCode "" for å legge til din egen hemmelige kode. (opptil 32 sekskant)

For eksempel for å angi en sikkerhetskode på 173057F7A706AF9BBE65D51122A14CEE vil du bruke#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Selvfølgelig bør du bruke din egen hemmelige kode. Når du angir din egen kode i pfodApp-tilkoblingen, kan du og ingen andre koble til.

En lang tilfeldig kode er nødvendig for god sikkerhet. pfodApp støtter opptil 128 bit som 32Hex -sifre.

For å generere din egen hemmelige kode kan du laste ned en tilfeldig Secret Key Generator herfra Secret Key Generator herfra. I tillegg til å generere tilfeldige nøkler, skriver dette programmet dem ut som QR -koder, slik at du enkelt og nøyaktig kan sette dem i pfodApp -tilkoblingen.

Du kan skrive ut QR -koden og legge den til pfodDevice. Klikk deretter på Scan QR -knappen i pfodApp WiFi -tilkoblingsskjermen for å lese passordet.

Se En enkel WiFi/Arduino pfodDevice ™ med 128 biters sikkerhet for et detaljert eksempel på bruk av nøkkelgeneratoren og QR -koden.

Konklusjon

Denne opplæringen har vist hvordan du konfigurerer Arduino IDE for å programmere ESP32. Den brukte deretter gratis pfodDesigner -appen til å designe en meny for å kontrollere lysstyrken på LED -en og generert kode for tilkobling til ESP32 via BLE, Bluetooth eller WiFi. Hvis du deretter kobler til via pfodApp apppfodApp -appen, ser du menyen du har designet og kan kontrollere lysstyrken på LED -en via en glidebryter. PfodDesigner genererer all Arduino -koden, inkludert simulering av Arduinos analogWrite. Ingen Arduino -koding var nødvendig. PfodApp tar seg av all Android -siden, ingen Android -koding er nødvendig.

Anbefalt: