Inhoudsopgave:
- Stap 1: Tip: de Arduino-ondersteuning voor de ESP32 installeren met BLE-ondersteuning
- Stap 2: De PfodParser-bibliotheken voor de ESP32 installeren
- Stap 3: PfodDesignerV3 gebruiken voor ESP32
- Stap 4: ESP32 BLE-codegenerator
- Stap 5: Het menu ontwerpen - de prompt
- Stap 6: Het menu ontwerpen - PWM Led-bediening
- Stap 7: Genereer de ESP32-code
- Stap 8: De voorbeelden uitvoeren
- Stap 9: WiFi-beveiliging
Video: ESP32 Code Generator - Wifi, BLE, Bluetooth - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Invoering
ESP32 is een goedkope dual-processorchip, met ondersteuning voor WiFi, Bluetooth Classic en BLE (Bluetooth Low Energy). Hoewel de chip al een aantal jaren uit is, is de code-ondersteuning voor Arduino nog steeds niet compleet (zoals in april 2018), maar deze instructable en codegenerator vult de ontbrekende BLE- en analogWrite-functies in.
Tip: De ESP32 heeft geen 'standaard Arduino' analogWrite-functie. Deze codegenerator genereert echter code die deze voor u simuleert
Tip: de ESP-code-installatie bevat geen BLE-ondersteuning. De hier beschreven installatie omvat BLE-ondersteuning
Deze webpagina behandelt het instellen van de Arduino IDE om de ESP32 te programmeren voor BLE-, Bluetooth- of WiFi-verbindingen. De pfodDesigner genereert code voor elk van deze verbindingstypes en genereert ook code om de ontbrekende analogWrite-functie te simuleren.
ESP32 is een goedkope dual-processorchip, met ondersteuning voor WiFi, Bluetooth Classic en BLE (Bluetooth Low Energy). Hoewel de chip al een aantal jaren uit is, is de code-ondersteuning voor Arduino nog steeds niet compleet (zoals in april 2018), maar deze tutorial en codegenerator vult de ontbrekende BLE- en analogWrite-functies in. Deze webpagina behandelt het instellen van de Arduino IDE om de ESP32 te programmeren voor BLE-, Bluetooth- of WiFi-verbindingen. De pfodDesigner genereert code voor elk van deze verbindingstypes en genereert ook code om de ontbrekende analogWrite-functie te simuleren.
De Arduino-add-on ondersteunt zo'n 31 ESP32-kaarten. Wanneer u de pfodDesigner gebruikt, moet u pinverbindingen kiezen die overeenkomen met die beschikbaar zijn op uw specifieke bord. Het Sparkfun ESP32 Thing (of Adafruit HUZZAH32 Feather) wordt hier gebruikt als het voorbeeld ESP32-bord, maar je kunt de code gebruiken voor elk van de 31 ondersteunde ESP32-borden.
De gratis pfodDesignerV3 Android-app wordt gebruikt om het bedieningsmenu (WYSIWYG) te maken en vervolgens de code voor de ESP32 te genereren, voor een BLE-, WiFi- of Bluetooth-verbinding. Nadat u uw ESP32-bord hebt geprogrammeerd, kunt u de pfodApp Android-app (betaald) gebruiken om verbinding te maken met uw ESP32 (via BLE of WiFi of Bluetooth) en uw bedieningsmenu weer te geven en uw ESP32 te bedienen. Als u pfodApp niet wilt gebruiken, kunt u de gegenereerde code nog steeds gebruiken als basis voor uw eigen WiFi-, BLE- (Nordic UART) of Bluetooth-verbindingen, omdat het een Stream (print/lees)-interface biedt voor elk van deze verbindingstypes.
Stap 1: Tip: de Arduino-ondersteuning voor de ESP32 installeren met BLE-ondersteuning
Zoals in april 2018 is het installeren van de Arduino ESP32-ondersteuning meer betrokken dan bij de meeste andere boards en zijn de meegeleverde codebibliotheken niet compleet. U kunt de Arduino Board-manager niet gebruiken om de ESP32-ondersteuning te installeren. Volg deze stappen om Arduino in te stellen voor ESP32-programmering. Hiermee wordt ESP32 en ook de BLE-ondersteuning geïnstalleerd.
1 Zoek het pad van uw Arduino Sketchbook-locatiemap. Open Arduino IDE en kijk onder Bestand->Voorkeuren en bovenaan dat scherm zie je de Sketchbook-locatie.
2 Download dit ESP32_hardware.zip-bestand en pak het uit naar de Sketchbook-locatie. Het creëert daar een hardware-submap. In het onwaarschijnlijke geval dat u al een hardware-submap op uw Sketchbook-locatie heeft, voegt u de inhoud ervan samen met deze.
3 Installeer de Xtensa- en ESP32-tools. Opmerking: deze download en installatie duurt enige tijd om de ~0.5Gig aan bestanden te verwerken. Ga naar de map hardware\espressif\esp32\tools en voer voor Windows-machines het bestand get.exe uit. Voor Mac- en Linux-gebruikers: voer het get.py python-script uit om de tools te downloaden. Navigeer met behulp van een terminal naar de map hardware/espressif/esp32/tools. Typ vervolgens: python get.py Het "get.py" python-script zal de Xtensa GNU-tools en de ESP32-softwareontwikkelingskit (SDK) downloaden en uitpakken naar de juiste locatie.
Je zou een paar nieuwe mappen in de map "tools" moeten zien, inclusief "sdk" en "xtensa-esp32-elf" als het klaar is.
Zodra dit is voltooid, sluit en open je je Arduino IDE en je zou nu een lange lijst met ESP32-kaarten moeten hebben om uit te kiezen onder het menu Tool->Boards. Kies "SparkFun ESP32 Thing" (of "Adafruit ESP32 Feather")
U kunt dan de lijst Bestandsvoorbeelden openen om een aantal ESP32-voorbeeldbestanden te zien
Het bovenstaande proces installeert een momentopname van de github-code voor de ESP32- en BLE-ondersteuning die zijn samengevoegd tot een enkel zipbestand. De door pfodDesigner gegenereerde code en de onderstaande voorbeelden gebruiken deze versie van die bibliotheken. Als je de nieuwste versie wilt, met mogelijk een andere set functies en bugs, download dan de zip van de nieuwste versie van https://github.com/espressif/arduino-esp32 en pak deze uit naar hardware/espressif en hernoem de map esp32 en download vervolgens voor de BLE-ondersteuning een zip van de nieuwste versie van https://github.com/espressif/arduino-esp32 en pak deze uit in de map esp32/libraries en hernoem deze ESP32_BLE_Arduino (indien nodig).
Stap 2: De PfodParser-bibliotheken voor de ESP32 installeren
a) Download vervolgens de pfodParser.zip-bibliotheek V3.23+, pfodDwgControls.zip en, voor ESP32 WiFi, de pfodESP32BufferedClient.zip, zip-bestanden naar uw computer, verplaats ze naar uw bureaublad of een andere map die u gemakkelijk kunt vinden.
b) Gebruik vervolgens Arduino 1.8.2 IDE menu-optie Sketch → Bibliotheek importeren → Bibliotheek toevoegen om ze te installeren. (Als Arduino je het niet laat installeren omdat de bibliotheek al bestaat, zoek en verwijder dan de oudere pfodParser, pfodCmdParser of pfodCHAP etc mappen en importeer deze dan)
c) Stop en herstart de Arduino IDE en onder Bestand->Voorbeelden zou u nu pfodParser, pfodDwgControls en pfodESP32BufferedClient bibliotheken en een aantal voorbeelden moeten zien.
Stap 3: PfodDesignerV3 gebruiken voor ESP32
De gratis pfodDesignerV3 (V3291+) app ondersteunt het genereren van code voor de ESP32-chip om via BLE, WiFi of Bluetooth Classic verbinding te maken met pfodApp (betaald).
Er zijn veel bestaande tutorials over hoe u bedieningselementen voor uw Android-mobiel kunt maken om een breed scala aan borden te bedienen met behulp van pfodDesignerV3. Met pfodDesignerV3 kunt u bedieningselementen maken die uitgangen in-/uitschakelen of pulseren, uitgangen bedienen via PWM, de status van een ingang of analoge waarde weergeven, gegevens loggen en plotten en submenu's en nog veel meer.
Tip: De ESP32 Arduino-ondersteuning biedt ondersteuning voor zo'n 31 verschillende ESP32-kaarten. De pfodDesignerV3 geeft u toegang tot alle ESP32 I/O-pinnen, maar niet alle kaarten verbinden alle ESP32-pinnen met kaartpinnen. Controleer de documentatie van je board voor welke pinnen beschikbaar zijn gemaakt en bekijk het bestand pins_arduino.h onder de hardware\espressif\esp32\variants directory van je board.
pfodDesignerV3-pinlijst bevat opmerkingen over beschikbaarheid en speciale gebruikspinnen voor de Sparkfun ESP32 Thing en Adafruit HUZZAH32 – ESP32 Feather Boards.
Deze voorbeelden gebruiken het Sparkfun ESP32 Thing-bord en maken een schuifregelaar om de helderheid van de ingebouwde LED die is aangesloten op pin 5 vanaf uw Android-mobiel te regelen. Als je in plaats daarvan het Adafruit HUZZAH32 – ESP32 Feather board gebruikt, dan is de onboard Led aangesloten op pin 13. De ESP32 Arduino-ondersteuning, hierboven geïnstalleerd, ondersteunt Arduino's analogWrite niet direct. In plaats daarvan heeft de ESP32 16 PWM-kanalen die u kunt bedienen en aansluiten op een van de uitgangen. De pfodDesignerV3 genereert alle benodigde code om het kanaal toe te wijzen en aan te sluiten op de door u gekozen uitgang. Installeer de gratis pfodDesignerV3 (V3291+) van Google Play.
Stap 4: ESP32 BLE-codegenerator
Start een nieuw menu
Klik op de knop Doel om het doelapparaat te wijzigen.
Het eerste voorbeelddoel is ESP32 BLE, dus klik op de Bluetooth Low Energy-knop.
Selecteer ESP32 verbonden via BLE en druk vervolgens op de terugknop van de mobiel om terug te gaan naar het hoofdscherm.
Stap 5: Het menu ontwerpen - de prompt
Dit eenvoudige voorbeeld heeft slechts een prompt en een enkele controle. Klik op de knop Prompt bewerken en vervolgens op de knop Prompttekst bewerken om de prompttekst in te stellen.
Hier wordt de prompt ingesteld op "ESP32 Led". Klik op het vinkje om uw bewerkingen op te slaan en terug te keren naar het vorige scherm. Klik vervolgens op Achtergrondkleur instellen om de volledige kleur voor het menu met bedieningselementen te selecteren.
U kunt voor elk besturingselement verschillende kleuren selecteren. Er zijn verschillende andere formaten beschikbaar voor de prompt. Hier is de achtergrond ingesteld op Blauw en de lettergrootte is +5 en de tekst is Vet. Een voorbeeld van de opgemaakte prompt wordt onder aan het scherm Editing Prompt weergegeven.
Stap 6: Het menu ontwerpen - PWM Led-bediening
Gebruik de terugknop van de mobiel om terug te keren naar het hoofdmenu en klik vervolgens op Menu-item toevoegen om een besturings- of weergave-item toe te voegen.
Selecteer het item PWM-uitgang. Boven aan het scherm wordt een voorbeeld van de besturing getoond.
Tip: De ESP32 heeft geen 'standaard Arduino' analogWrite-functie. Deze codegenerator genereert echter code die deze voor u simuleert
Klik op de knop Voorlooptekst bewerken en wijzig "PWM-instelling" in "Led". Let op de volgspatie om "Led" te scheiden van de %-indicatie.
Klik op het vinkje om uw bewerking op te slaan en scrol vervolgens omlaag naar de knop "Niet verbonden met een I/O-pin".
Klik op die knop om een lijst met pinnen weer te geven die als uitgangen kunnen worden gebruikt.
Dit toont de speciale gebruikspinnen voor de Sparkfun ESP32 Thing en Adafruit HUZZAH32 Feather boards. Selecteer pin 5 zodat de schuifregelaar de ingebouwde led-helderheid van de Sparkfun ESP32 Thing regelt. Als je het Adafruit HUZZAH32 Feather board gebruikt, selecteer dan pin 13. Raadpleeg voor andere boards de documentatie van je boards en het bestand pins_arduino.h in de directory hardware\espressif\esp32\variants van je board
Als u klaar bent met het maken van andere opmaakinstellingen voor deze schuifregelaar, gebruik dan de terugknop van de mobiel om terug te gaan naar het hoofdmenu en klik op Voorbeeldmenu om te zien hoe het uiteindelijke menu eruit zal zien op uw mobiel wanneer het wordt weergegeven door pfodApp. De bedieningselementen zijn live, dus u kunt ze in het voorbeeld verplaatsen.
Stap 7: Genereer de ESP32-code
Ga terug naar het hoofdmenu en scrol omlaag naar de knop Code genereren.
Klik op de knop Code genereren en klik vervolgens op de knop Code schrijven naar bestand om de code te genereren
Sluit pfodDesignerV3 af en breng de code in /pfodAppRawData/pfodDesignerV3.txt over van je mobiel naar je computer. Zie pfodAppForAndroidGettingStarted.pdf voor manieren om dit te doen. De wifi-bestandsoverdracht pro-app van smarterDroid is een manier om de overdracht uit te voeren.
Met behulp van de "Change Target"-knop op het Generate Code-scherm kunt u schakelen tussen ESP32 via BLE, ESP32 via Bluetooth en ESP32 via WiFi
Stap 8: De voorbeelden uitvoeren
Met behulp van de "Change Target"-knop op het Generate Code-scherm kunt u schakelen tussen ESP32 via BLE, ESP32 via Bluetooth en ESP32 via WiFi
Dit is hoe de volgende drie voorbeeldschetsen zijn gegenereerd op basis van het bovenstaande ontwerp.
Het voorbeeld pfodESP32_BLE uitvoeren
Door het doel in te stellen op ESP32 via BLE wordt de code gegenereerd in pfodESP32_LED_BLE.ino. Deze schets is ook beschikbaar onder Bestand->Voorbeelden->pfodParser. Open dat voorbeeld en na het programmeren van het Sparkfun ESP32 Thing (of een ander ESP32-bord), moet u er vervolgens een verbinding mee maken op pfodApp (zie pfodAppForAndroidGettingStarted.pdf voor de details) en verbinding maken en de helderheid van de bord geleid.
TIP: ESP32 gebruikt hetzelfde bluetooth-adres voor zowel BLE als Bluetooth, dus als je eerder een ESP32 Bluetooth-verbinding in pfodApp hebt opgezet, moet je die pfodApp Bluetooth-verbinding verwijderen voordat je een BLE-verbinding instelt, omdat pfodApp bestaande verbindingen filtert (door adres) in de weergavelijst met beschikbare apparaten. Mogelijk moet u ook de instellingen van uw mobiele telefoon openen en de ESP32 Bluetooth-verbinding 'vergeten' en vervolgens de Bluetooth van de mobiele telefoon uitschakelen en uw telefoon opnieuw opstarten om de Bluetooth-stack te wissen
TIP: De ESP32_BLE_Arduino-bibliotheek van Neil Kolban is niet compatibel met de BLEPeripheral-bibliotheek van Sandeep Mistry die wordt gebruikt door enkele andere BLE-doelen die zijn gegenereerd door pfodDesigner. U moet dus de BLEPeripheral-directory (indien aanwezig) uit uw Arduino/libraries-directory verwijderen om ESP32 BLE-schetsen te compileren.
Het voorbeeld pfodESP32_Bluetooth uitvoeren
Door het doel in te stellen op ESP32 via Bluetooth wordt de code gegenereerd in pfodESP32_LED_Bluetooth.ino. Deze schets is ook beschikbaar onder Bestand->Voorbeelden->pfodParser. Open dat voorbeeld en programmeer vervolgens het Sparkfun ESP32 Thing (of een ander ESP32-bord). U moet de ESP32 koppelen met uw telefoon, geen pincode vereist. Maak er vervolgens een verbinding mee op pfodApp (zie pfodAppForAndroidGettingStarted.pdf voor de details) en maak verbinding en pas de helderheid van de led op het bord aan.
Het voorbeeld pfodESP32_WiFi uitvoeren
Door het doel in te stellen op ESP32 via WiFi wordt de code gegenereerd in pfodESP32_LED_WiFi.ino. Deze schets is ook beschikbaar onder Bestand->Voorbeelden->pfodParser. Open dat voorbeeld en voer de naam en het wachtwoord van uw netwerk in en kies een statisch IP-adres voor dit apparaat. Na het programmeren van het Sparkfun ESP32 Thing (of een ander ESP32-bord), moet u er een verbinding mee maken op pfodApp (zie pfodAppForAndroidGettingStarted.pdf voor de details) en verbinding maken en de helderheid van de led op het bord kunnen aanpassen.
Stap 9: WiFi-beveiliging
Als je via internet (via wifi) verbinding maakt met de ESP32, dan is beveiliging belangrijk. Je wilt bijvoorbeeld niet dat iedereen zomaar je garagedeur kan openen. De codegenerator en de pfodParser-bibliotheek ondersteunen 128-bits beveiliging. Deze beveiliging versleutelt de berichten niet, maar voegt in plaats daarvan een cryptografische hash toe aan elk bericht om te beschermen tegen ongeoorloofde verbinding en controle. Zie SipHash Secure Challenge and Response voor details over hoe deze beveiliging wordt geïmplementeerd.
128-bits beveiliging toevoegen
Beveiliging tegen onbevoegde gebruikers die toegang hebben tot uw apparaat via internet is net zo eenvoudig als het bewerken van #define pfodSecurityCode ""om uw eigen geheime code toe te voegen. (maximaal 32 hexadecimale cijfers)
Als u bijvoorbeeld de beveiligingscode 173057F7A706AF9BBE65D51122A14CEE wilt instellen, gebruikt u #define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE". U moet natuurlijk uw eigen geheime code gebruiken. Door uw eigen code in uw pfodApp-verbinding in te stellen, kunt u en niemand anders verbinding maken.
Voor een goede beveiliging is een lange willekeurige code nodig. pfodApp ondersteunt tot 128 bits als 32 Hex-cijfers.
Om uw eigen geheime code te genereren, kunt u hier een willekeurige geheime sleutelgenerator downloaden. Dit programma genereert niet alleen willekeurige sleutels, maar schrijft ze ook uit als QR-codes, zodat u ze gemakkelijk en nauwkeurig in uw pfodApp-verbinding kunt instellen.
U kunt de QR-code afdrukken en aan uw pfodDevice toevoegen. Klik vervolgens op de Scan QR-botton in het pfodApp WiFi-verbindingsscherm om het wachtwoord in te lezen.
Zie Een eenvoudig WiFi/Arduino pfodDevice™ met 128-bits beveiliging voor een gedetailleerd voorbeeld van het gebruik van de sleutelgenerator en de QR-code.
Conclusie
Deze tutorial heeft laten zien hoe je de Arduino IDE instelt om de ESP32 te programmeren. Vervolgens gebruikte het de gratis pfodDesigner-app om een menu te ontwerpen om de helderheid van de led aan boord te regelen en de gegenereerde code voor verbinding met de ESP32 via BLE, Bluetooth of WiFi. Als je vervolgens verbinding maakt via de pfodApp apppfodApp app, zie je het menu dat je hebt ontworpen en kun je de helderheid van de led regelen via een schuifregelaar. De pfodDesigner genereert alle Arduino-code, inclusief het simuleren van Arduino's analogWrite. Er was geen Arduino-codering vereist. De pfodApp zorgt voor alle Android-kant, geen Android-codering vereist.
Aanbevolen:
Generator: Fidget Spinner Generator 3 in 1: 3 stappen
Generator: Fidget Spinner Generator 3 in 1: fidget spinner generator 3 in 1 - nu kunt u uw fidget spinner generator configureren (drie keuzes) de micro generator gebruikt 3 neodymium bollen en 3 neodymium schijven (led en kleine spoel ijzer minder)Vind ons OP INSTAGRAM en zie een eenvoudige elektrische
ESP32 Bluetooth-zelfstudie - Hoe de ingebouwde Bluetooth van ESP32 te gebruiken: 5 stappen
ESP32 Bluetooth-zelfstudie | Hoe de ingebouwde Bluetooth van ESP32 te gebruiken: Hallo, aangezien het ESP32-bord wordt geleverd met WiFi & Bluetooth beide, maar voor onze meestal projecten gebruiken we meestal alleen wifi, we gebruiken geen Bluetooth. Dus in deze instructables laat ik zien hoe gemakkelijk het is om Bluetooth van ESP32 & Voor uw basisprojecten
Aan de slag met ESP32 - ESP32-kaarten installeren in Arduino IDE - ESP32-knippercode: 3 stappen
Aan de slag met ESP32 | ESP32-kaarten installeren in Arduino IDE | ESP32-knippercode: in deze instructie zullen we zien hoe we met esp32 kunnen werken en hoe we esp32-kaarten in Arduino IDE kunnen installeren en we zullen esp 32 programmeren om knippercode uit te voeren met behulp van arduino ide
Bluetooth (BLE) gebruiken met ESP32: 3 stappen:
Bluetooth (BLE) gebruiken met ESP32: #####OPMERKING#####De methode die in deze Instructables wordt getoond, is oud en verouderd. Bekijk deze video voor de nieuwste methode.###############Hoewel de ESP32 een uitgebreide lijst met functies heeft (Wikipedia), is de grootste functie die de aandacht trekt de ingebouwde blauwe
Nano ESP32 BLE-scanner: 14 stappen (met afbeeldingen)
Nano ESP32 BLE-scanner: deze instructables laten zien hoe u ESP32 kunt gebruiken om een draadloze BLE-signaalscanner te maken, alle gescande gegevens worden via WiFi naar de HTTP-server verzonden