Innehållsförteckning:
- Steg 1: Tips: Installera Arduino -stödet för ESP32 med BLE -stöd
- Steg 2: Installera PfodParser Libraries för ESP32
- Steg 3: Använda PfodDesignerV3 för ESP32
- Steg 4: ESP32 BLE -kodgenerator
- Steg 5: Designa menyn - prompten
- Steg 6: Designa menyn - PWM Led Control
- Steg 7: Generera ESP32 -koden
- Steg 8: Kör exemplen
- Steg 9: WiFi -säkerhet
Video: ESP32 -kodgenerator - Wifi, BLE, Bluetooth: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Introduktion
ESP32 är ett lågpris dual processor -chip, med stöd för WiFi, Bluetooth Classic och BLE (Bluetooth Low Energy). Även om chippet har varit ute i ett antal år är kodstöd för Arduino fortfarande inte komplett (som i april 2018), men denna instruerbara och kodgenerator fyller i de saknade BLE- och analogWrite -funktionerna.
Tips: ESP32 har inte en "standard Arduino" analogWrite -funktion. Men denna kodgenerator genererar kod som simulerar den åt dig
Tips: ESP -kodinstallationen inkluderar inte BLE -stöd. Installationen som beskrivs här inkluderar BLE -stöd
Den här webbsidan kommer att omfatta installation av Arduino IDE för att programmera ESP32 för BLE-, Bluetooth- eller WiFi -anslutningar. PfodDesigner genererar kod för var och en av dessa anslutningstyper och genererar också kod för att simulera den saknade analogWrite -funktionen.
ESP32 är ett lågpris dual processor -chip, med stöd för WiFi, Bluetooth Classic och BLE (Bluetooth Low Energy). Även om chippet har varit ute i ett antal år, är kodstöd för Arduino fortfarande inte komplett (som i april 2018), men denna handledning och kodgenerator fyller i de saknade BLE- och analogWrite -funktionerna. Denna webbsida kommer att täcka installation av Arduino IDE för att programmera ESP32 för BLE-, Bluetooth- eller WiFi -anslutningar. PfodDesigner genererar kod för var och en av dessa anslutningstyper och genererar också kod för att simulera den saknade analogWrite -funktionen.
Arduino-tillägget stöder cirka 31 ESP32-kort. När du använder pfodDesigner måste du välja stiftanslutningar som matchar dem som finns tillgängliga på just ditt kort. Sparkfun ESP32 Thing (eller Adafruit HUZZAH32 Feather) används här som exempel på ESP32 -kort, men du kan använda koden för alla 31 ESP32 -kort som stöds.
Den fria pfodDesignerV3 Android -appen används för att skapa kontrollmenyn (WYSIWYG) och sedan generera koden för ESP32, antingen för en BLE-, WiFi- eller Bluetooth -anslutning. Efter att ha programmerat ditt ESP32 -kort kan du sedan använda pfodApp Android -appen (betald) för att ansluta till din ESP32 (via BLE eller WiFi eller Bluetooth) och visa din kontrollmeny och styra din ESP32. Om du inte vill använda pfodApp kan du fortfarande använda den genererade kodade som grund för dina egna WiFi-, BLE (Nordic UART) eller Bluetooth -anslutningar eftersom det ger ett Stream (skriv ut/läs) gränssnitt till var och en av dessa anslutningstyper.
Steg 1: Tips: Installera Arduino -stödet för ESP32 med BLE -stöd
Från och med april 2018 är installationen av Arduino ESP32 -stödet mer involverad än för de flesta andra kort och kodbiblioteken som levereras är inte fullständiga. Du kan inte använda Arduino Board Manager för att installera ESP32 -stödet. Följ dessa steg för att konfigurera Arduino för ESP32 -programmering. Detta kommer att installera ESP32 och även BLE -stödet.
1 Hitta sökvägen till din Arduino Sketchbook -platskatalog. Öppna Arduino IDE och titta under File-> Preferences och högst upp på skärmen ser du Sketchbook-platsen.
2 Ladda ner denna ESP32_hardware.zip -fil och packa upp den till Sketchbook -platsen. Det skapar en maskinvaruunderkatalog där. I det osannolika fallet att du redan har en maskinvaruunderkatalog i din Sketchbook-plats, slå samman dess innehåll med den här.
3 Installera verktygen Xtensa och ESP32. Obs! Den här nedladdningen och installationen tar lite tid att bearbeta ~ 0,5Gig filer. Gå till katalogen hardware / espressif / esp32 / tools och kör sedan för Windows -maskiner filen get.exe. För Mac- och Linux -användare, kör python -skriptet get.py för att ladda ner verktygen. Använd en terminal och navigera till mappen hardware/espressif/esp32/tools. Skriv sedan: python get.py Python -skriptet "get.py" laddar ner Xtensa GNU -verktygen och ESP32 -mjukvaruutvecklingssatsen (SDK) och packar upp dem till rätt plats.
Du bör se några nya mappar i katalogen "verktyg", inklusive "sdk" och "xtensa-esp32-elf" när det är klart.
När detta är klart, stäng och öppna din Arduino IDE igen och du bör nu ha en lång lista med ESP32-kort att välja mellan under menyn Verktyg-> Kort. Välj "SparkFun ESP32 Thing" (eller "Adafruit ESP32 Feather")
Du kan sedan öppna listan Fil-exempel för att se ett antal ESP32-exempelfiler
Processen ovan installerar en ögonblicksbild av github -koden för ESP32- och BLE -stödet som har slagits samman till en enda zip -fil. Den pfodDesigner -genererade koden och exemplen nedan använder den här versionen av dessa bibliotek. Om du vill ha den senaste versionen, med eventuellt en annan uppsättning funktioner och buggar, kan du ladda ner zip-filen för den senaste versionen av https://github.com/espressif/arduino-esp32 och packa upp den till hardware/espressif och byt namn på mapp esp32 och sedan för BLE-stödet ladda ner en zip med den senaste versionen av https://github.com/espressif/arduino-esp32 och packa upp den till mappen esp32/libraries och byt namn på den ESP32_BLE_Arduino (om det behövs).
Steg 2: Installera PfodParser Libraries för ESP32
a) Ladda sedan ner biblioteket pfodParser.zip V3.23+, pfodDwgControls.zip och, för ESP32 WiFi, pfodESP32BufferedClient.zip, zip -filer till din dator, flytta dem till skrivbordet eller någon annan mapp som du enkelt hittar.
b) Använd sedan Arduino 1.8.2 IDE -menyalternativet Skiss → Importera bibliotek → Lägg till bibliotek för att installera dem. (Om Arduino inte låter dig installera det eftersom biblioteket redan finns, hitta och ta bort de äldre pfodParser-, pfodCmdParser- eller pfodCHAP etc -mapparna och importera sedan dessa)
c) Stoppa och starta om Arduino IDE och under Fil-> Exempel ska du nu se pfodParser, pfodDwgControls och pfodESP32BufferedClient-bibliotek och ett antal exempel.
Steg 3: Använda PfodDesignerV3 för ESP32
Den kostnadsfria appen pfodDesignerV3 (V3291+) stöder generering av kod för ESP32 -chipet för anslutning via BLE, WiFi eller Bluetooth Classic till pfodApp (betalt).
Det finns många befintliga självstudier om hur du skapar kontroller för din Android -mobil för att styra ett brett utbud av kort med pfodDesignerV3. Med pfodDesignerV3 kan du skapa kontroller som slår på/av eller pulsar utgångar, styr utgångar via PWM, visar status för ett ingångs- eller analogt värde, loggar och plottar data och undermenyer och mycket mer.
Tips: ESP32 Arduino -stödet innehåller stöd för cirka 31 olika ESP32 -kort. PfodDesignerV3 ger dig tillgång till alla ESP32 I/O -stift men inte alla kort ansluter alla ESP32 -stift till kortstift. Kontrollera styrelsens dokumentation för vilka stift som finns tillgängliga och se pins_arduino.h -filen under din tavles maskinvarukatalog / espressif / esp32 / varianter.
pfodDesignerV3 stiftlista innehåller kommentarer om tillgänglighet och nålar för speciell användning för Sparkfun ESP32 Thing och Adafruit HUZZAH32 - ESP32 fjäderbrädor.
Dessa exempel använder Sparkfun ESP32 Thing -kortet och skapar ett reglage för att styra ljusstyrkan på den inbyggda lysdioden som är ansluten till pin 5 från din Android -mobil. Om du använder Adafruit HUZZAH32 - ESP32 fjäderbräda istället är den inbyggda LED -enheten ansluten till stift 13. ESP32 Arduino -stödet, installerat ovan, stöder inte Arduinos analogWrite direkt. I stället har ESP32 16 PWM -kanaler som du kan styra och ansluta till någon av utgångarna. PfodDesignerV3 genererar all nödvändig kod för att tilldela kanalen och ansluta den till din valda utgång. Installera gratis pfodDesignerV3 (V3291+) från Google Play.
Steg 4: ESP32 BLE -kodgenerator
Starta en ny meny
Klicka på målknappen för att ändra målenheten.
Det första exempelmålet är ESP32 BLE så klicka på Bluetooth Low Energy -knappen.
Välj ESP32 ansluten via BLE och tryck sedan på mobilens bakåtknapp för att komma tillbaka till huvudskärmen.
Steg 5: Designa menyn - prompten
Detta enkla exempel kommer bara att ha en prompt och en enda kontroll. Klicka på knappen Redigera uppmaning och sedan på knappen Redigera uppmaningstext för att ställa in texten.
Här är prompten inställd på “ESP32 Led”. Klicka på krysset för att spara redigeringarna och återgå till föregående skärm. Klicka sedan på Ställ in bakgrundsfärg för att välja den övergripande färgen för kontrollmenyn.
Du kan välja olika färger för varje kontroll. Det finns olika andra format tillgängliga för prompten. Här är bakgrunden inställd på Blå och teckensnittet är +5 och texten är fet. En förhandsgranskning av den formaterade prompten visas längst ner på skärmen Redigeringsfråga.
Steg 6: Designa menyn - PWM Led Control
Använd mobilens bakåtknapp för att återgå till huvudmenyn och klicka sedan på Lägg till menyalternativ för att lägga till ett kontroll- eller visningsobjekt.
Välj objektet PWM Output. En förhandsvisning av kontrollen visas högst upp på skärmen.
Tips: ESP32 har inte en "standard Arduino" analogWrite -funktion. Men denna kodgenerator genererar kod som simulerar den åt dig
Klicka på knappen Redigera ledande text och ändra "PWM -inställning" till "Led" Notera det bakre utrymmet för att skilja "Led" från % -indikationen.
Klicka på markeringsknappen för att spara din redigering och rulla sedan ner till knappen "Inte ansluten till en I/O -pin".
Klicka på den knappen för att visa en lista med stift som kan användas som utgångar.
Detta visar de speciella stiften för Sparkfun ESP32 Thing och Adafruit HUZZAH32 fjäderbrädor. Välj stift 5 så att reglaget kontrollerar Sparkfun ESP32 Things inbyggda LED-ljusstyrka. Om du använder Adafruit HUZZAH32 fjäderbräda, välj stift 13 istället. För andra brädor, kontrollera din styrelsedokumentation och pins_arduino.h -filen under din styrels katalog maskinvara / espressif / esp32 / varianter
När du sedan har gjort andra formateringsinställningar för det här reglaget använder du mobilens bakåtknapp för att gå tillbaka till huvudmenyn och klickar på Förhandsgranskningsmeny för att se hur den sista menyn kommer att se ut på din mobil när den visas av pfodApp. Kontrollerna är live så att du kan flytta dem i förhandsgranskningen.
Steg 7: Generera ESP32 -koden
Gå tillbaka till huvudmenyn och rulla ner till knappen Generera kod.
Klicka på knappen Generera kod och sedan på knappen Skriv kod till fil för att generera koden
Avsluta pfodDesignerV3 och överför koden i /pfodAppRawData/pfodDesignerV3.txt från din mobil till din dator. Se pfodAppForAndroidGettingStarted.pdf för sätt att göra detta. Wifi file transfer pro -appen av smarterDroid är ett sätt att göra överföringen.
Med knappen "Ändra mål" på skärmen Generera kod kan du växla mellan ESP32 via BLE, ESP32 via Bluetooth och ESP32 via WiFi
Steg 8: Kör exemplen
Med knappen "Ändra mål" på skärmen Generera kod kan du växla mellan ESP32 via BLE, ESP32 via Bluetooth och ESP32 via WiFi
Så här genererades följande tre exempelskisser från ovanstående design.
Kör exemplet pfodESP32_BLE
Att ställa in målet på ESP32 via BLE genererar koden i pfodESP32_LED_BLE.ino Denna skiss är också tillgänglig under Fil-> Exempel-> pfodParser. Öppna det exemplet, sedan, efter programmering av Sparkfun ESP32 Thing (eller annat ESP32 -kort), bör du sedan skapa en anslutning till den på pfodApp (se pfodAppForAndroidGettingStarted.pdf för detaljer) och ansluta och kunna justera ljusstyrkan på styrelsen ledde.
TIPS: ESP32 använder samma Bluetooth -adress för både BLE och Bluetooth, så om du tidigare har konfigurerat en ESP32 Bluetooth -anslutning i pfodApp måste du ta bort den pfodApp Bluetooth -anslutningen innan du konfigurerar en BLE -anslutning, eftersom pfodApp filtrerar befintliga anslutningar (med adress) från listan över tillgängliga enheter. Du kan också behöva öppna din mobilinställning och "glömma" ESP32 Bluetooth -anslutningen och sedan stänga av mobilens Bluetooth och starta om telefonen för att rensa Bluetooth -stacken
TIPS: ESP32_BLE_Arduino -biblioteket från Neil Kolban är inte kompatibelt med BLEPeriferbiblioteket från Sandeep Mistry som används av några andra BLE -mål som genereras av pfodDesigner. Så du måste ta bort BLEPeripheral -katalogen (om den finns) från din Arduino/bibliotek -katalog för att kunna sammanställa ESP32 BLE -skisser.
Kör exemplet pfodESP32_Bluetooth
Att ställa in målet på ESP32 via Bluetooth genererar koden i pfodESP32_LED_Bluetooth.ino Denna skiss är också tillgänglig under Fil-> Exempel-> pfodParser. Öppna exemplet och programmera sedan Sparkfun ESP32 Thing (eller annat ESP32 -kort). Du måste parkoppla ESP32 med din telefon, inget PIN -nummer krävs. Skapa sedan en anslutning till den på pfodApp (se pfodAppForAndroidGettingStarted.pdf för detaljer) och anslut och kunna justera ljusstyrkan på kortets led.
Kör exemplet pfodESP32_WiFi
Att ställa in målet på ESP32 via WiFi genererar koden i pfodESP32_LED_WiFi.ino Denna skiss är också tillgänglig under Fil-> Exempel-> pfodParser. Öppna det exemplet och infoga nätverkets namn och lösenord och välj en statisk IP för den här enheten. Efter att du har programmerat Sparkfun ESP32 Thing (eller annat ESP32 -kort) bör du upprätta en anslutning till den på pfodApp (se pfodAppForAndroidGettingStarted.pdf för detaljer) och ansluta och kunna justera ljusstyrkan på kortets lysdiod.
Steg 9: WiFi -säkerhet
Om du ansluter till ESP32 via internet (via wifi) är säkerheten viktig. Du vill inte att vem som helst ska kunna öppna din garageport, till exempel. Kodgeneratorn och pfodParser -biblioteket stöder 128 -bitars säkerhet. Denna säkerhet krypterar inte meddelanden utan lägger istället till en kryptografisk hash till varje meddelande för att skydda mot obehörig anslutning och kontroll. Se SipHash Secure Challenge and Response för detaljer om hur denna säkerhet implementeras.
Lägger till 128 -bitars säkerhet
Att säkra mot obehöriga användare som får åtkomst till din enhet via internet är lika enkelt som att redigera#definiera pfodSecurityCode "" för att lägga till din egen hemliga kod. (upp till 32 Hex -siffror)
Till exempel för att ställa in en säkerhetskod på 173057F7A706AF9BBE65D51122A14CEE skulle du använda#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Naturligtvis bör du använda din egen hemliga kod. Genom att ange din egen kod i din pfodApp-anslutning kan du och ingen annan ansluta.
En lång slumpmässig kod är nödvändig för god säkerhet. pfodApp stöder upp till 128bits som 32Hex -siffror.
För att generera din egen hemliga kod kan du ladda ner en slumpmässig Secret Key Generator härifrån Secret Key Generator härifrån. Förutom att generera slumpmässiga nycklar skriver detta program ut dem som QR -koder så att du enkelt och exakt kan ställa in dem i din pfodApp -anslutning.
Du kan skriva ut QR -koden och bifoga den till din pfodDevice. Klicka sedan på knappen Scan QR i pfodApp WiFi -anslutningsskärmen för att läsa in lösenordet.
Se En enkel WiFi/Arduino pfodDevice ™ med 128 bitars säkerhet för ett detaljerat exempel på hur du använder nyckelgeneratorn och QR -koden.
Slutsats
Denna handledning har visat hur du konfigurerar Arduino IDE för att programmera ESP32. Den använde sedan den fria pfodDesigner -appen för att designa en meny för att styra ljusstyrkan på den inbyggda ledningen och genererade kod för anslutning till ESP32 via BLE, Bluetooth eller WiFi. Om du sedan ansluter via pfodApp apppfodApp -appen ser du menyn du designade och kan styra LED: ns ljusstyrka via ett reglage. PfodDesigner genererar all Arduino -kod, inklusive simulering av Arduinos analogWrite. Ingen Arduino -kodning krävdes. PfodApp tar hand om alla Android -sidor, ingen Android -kodning krävs.
Rekommenderad:
Mi -banddetektor med ESP32 BLE: 6 steg
Mi Band Detector Använda ESP32 BLE: Hello Maker m ( - -) m Jag läste denna artikelformulär 陳亮 (moononournation github) om hur man använder esp32 ble för att skanna enheten så jag var tvungen att prova denna kod på github Arduino_BLE_Scanner. nu vill jag använda mitt Mi Band 3 för att låsa upp dörren när jag kommer till mitt kontor
ESP32 Bluetooth -handledning - Så här använder du inbyggd Bluetooth av ESP32: 5 steg
ESP32 Bluetooth -handledning | Hur man använder inbyggd Bluetooth av ESP32: Hej killar Eftersom ESP32 -kortet levereras med WiFi & Bluetooth båda men för våra mestadels projekt använder vi vanligtvis bara Wifi, vi använder inte Bluetooth. Så i denna instruktioner visar jag hur enkelt det är att använda Bluetooth av ESP32 & För dina grundläggande projekt
Så här använder du Bluetooth (BLE) med ESP32: 3 steg
Så här använder du Bluetooth (BLE) med ESP32: ##### NOTE ##### Metoden som visas i denna instruktion är gammal och föråldrad. Titta på den här videon för den senaste metoden. ################ ESP32 har en omfattande funktionslista (Wikipedia), men den största funktionen som drar blicken är den inbyggda blå
Rullande robot med ESP32 -sak och TB6612FNG -drivrutin, styrd av Android över BLE: 11 steg
Rolling Robot With ESP32 Thing and TB6612FNG Driver, Controlled by Android Over BLE: Hello everyoneThis is my first instructable. En rullande robot (smeknamnet Raidho - från runan som är associerad med rörelse) baserad på ESP32 Thing, TB6612 FNG och BLE. En del som kan verka märklig är att bilderna inte är från tillverkningsprocessen
ESP32 Bluetooth BLE fjärrkontroll: 8 steg
ESP32 Bluetooth BLE -fjärrkontroll: Detta projekt är ett exempel på hur du ansluter en billig Bluetooth BLE -joystick till en ESP32. Koden skrevs med Arduino IDE Ver 1.8.5 med tillägget ESP32. BLE -joysticken som används är en kommersiell enhet som du kan köpa på Inte