Sisällysluettelo:
- Vaihe 1: Vinkki: Arduino -tuen asentaminen ESP32: lle BLE -tuella
- Vaihe 2: PfodParser -kirjastojen asennus ESP32: lle
- Vaihe 3: PfodDesignerV3: n käyttö ESP32: lle
- Vaihe 4: ESP32 BLE -koodigeneraattori
- Vaihe 5: Valikon suunnittelu - kehote
- Vaihe 6: Valikon suunnittelu - PWM Led Control
- Vaihe 7: Luo ESP32 -koodi
- Vaihe 8: Esimerkkien suorittaminen
- Vaihe 9: WiFi -suojaus
Video: ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Johdanto
ESP32 on edullinen kaksoisprosessorisiru, joka tukee WiFi: tä, Bluetooth Classicia ja BLE: tä (Bluetooth Low Energy). Vaikka siru on ollut poissa useita vuosia, Arduinon koodituki ei ole vieläkään valmis (huhtikuussa 2018), mutta tämä ohjeellinen ja koodigeneraattori täyttää puuttuvat BLE- ja analogWrite -toiminnot.
Vinkki: ESP32: ssa ei ole "tavallista Arduino" analogWrite -toimintoa. Tämä koodigeneraattori luo kuitenkin koodin, joka simuloi sitä sinulle
Vinkki: ESP -koodin asennus ei sisällä BLE -tukea. Tässä kuvattu asennus sisältää BLE -tuen
Tämä verkkosivu kattaa Arduino IDE: n määrittämisen ESP32: n ohjelmoimiseksi BLE-, Bluetooth- tai WiFi -yhteyksiä varten. PfodDesigner luo koodin kullekin näistä yhteystyypeistä ja myös koodin jäljittelevän analogWrite -toiminnon simuloimiseksi.
ESP32 on edullinen kaksoisprosessorisiru, joka tukee WiFi: tä, Bluetooth Classicia ja BLE: tä (Bluetooth Low Energy). Vaikka siru on ollut poissa käytöstä useita vuosia, Arduinon koodituki ei ole vielä valmis (huhtikuussa 2018), mutta tämä opetusohjelma ja koodigeneraattori täyttävät puuttuvat BLE- ja analogWrite -toiminnot. Tämä verkkosivu kattaa Arduino IDE ohjelmoida ESP32 BLE-, Bluetooth- tai WiFi -yhteyksiä varten. PfodDesigner luo koodin kullekin näistä yhteystyypeistä ja myös koodin jäljittelevän analogWrite -toiminnon simuloimiseksi.
Arduino-lisäosa tukee noin 31 ESP32-korttia. Kun käytät pfodDesigneria, sinun on valittava nastaliitännät, jotka vastaavat omalla kortillasi olevia. Sparkfun ESP32 Thing (tai Adafruit HUZZAH32 Feather) käytetään tässä esimerkkinä ESP32 -korttina, mutta voit käyttää minkä tahansa 31 tuetun ESP32 -levyn koodia.
Ilmaista pfodDesignerV3 Android -sovellusta käytetään ohjausvalikon (WYSIWYG) luomiseen ja sitten ESP32 -koodin luomiseen joko BLE-, WiFi- tai Bluetooth -yhteydelle. Kun olet ohjelmoinut ESP32 -korttisi, voit käyttää pfodApp Android -sovellusta (maksullinen) muodostaaksesi yhteyden ESP32 -laitteeseesi (BLE- tai WiFi- tai Bluetooth -yhteyden kautta) ja näyttää ohjausvalikon ja hallita ESP32 -laitettasi. Jos et halua käyttää pfodAppia, voit silti käyttää luotua koodattua perustana omille WiFi-, BLE- (Nordic UART) tai Bluetooth -yhteyksillesi, koska se tarjoaa Stream (tulostus/luku) -rajapinnan kullekin näistä yhteystyypeistä.
Vaihe 1: Vinkki: Arduino -tuen asentaminen ESP32: lle BLE -tuella
Huhtikuussa 2018 Arduino ESP32 -tuen asentaminen on enemmän mukana kuin useimmilla muilla levyillä, ja toimitetut koodikirjastot eivät ole valmiita. Et voi käyttää Arduino Board Manageria ESP32 -tuen asentamiseen. Asenna Arduino ESP32 -ohjelmointia varten seuraavasti. Tämä asentaa ESP32: n ja myös BLE -tuen.
1 Etsi Arduino Sketchbook -sijaintihakemistosi polku. Avaa Arduino IDE ja katso Tiedosto-> Asetukset ja näytön yläreunassa näet Sketchbook-sijainnin.
2 Lataa tämä ESP32_hardware.zip -tiedosto ja pura se Sketchbook -sijaintiin. Se luo laitteiston alihakemiston sinne. Siinä epätodennäköisessä tapauksessa, että sinulla on jo laitteisto-alihakemisto Sketchbook-sijainnissasi, yhdistä sen sisältö tähän.
3 Asenna Xtensa- ja ESP32 -työkalut. Huomautus: Tämä lataus ja asennus vie jonkin aikaa ~ 0.5Gig tiedostojen käsittelyssä. Siirry laitteisto / espressif / esp32 / tools -hakemistoon ja suorita Windows -koneissa get.exe -tiedosto. Mac- ja Linux -käyttäjille voit ladata työkalut suorittamalla get.py -python -komentosarjan. Siirry päätelaitteen avulla laitteisto/espressif/esp32/tools -kansioon. Kirjoita sitten: python get.py "get.py" python -skripti lataa Xtensa GNU -työkalut ja ESP32 -ohjelmistokehityssarjan (SDK) ja purkaa ne oikeaan paikkaan.
Sinun pitäisi nähdä muutamia uusia kansioita "työkalut" -hakemistossa, mukaan lukien "sdk" ja "xtensa-esp32-elf", kun se on tehty.
Kun tämä on valmis, sulje Arduino IDE ja avaa se uudelleen, ja sinulla pitäisi nyt olla pitkä luettelo ESP32-levyistä, jotka voit valita Työkalut-> Taulut-valikosta. Valitse "SparkFun ESP32 Thing" (tai "Adafruit ESP32 Feather")
Voit sitten avata Tiedostoesimerkit-luettelon nähdäksesi useita ESP32-esimerkkitiedostoja
Yllä oleva prosessi asentaa tilannekuvan ESP32- ja BLE -tuen github -koodista, jotka on yhdistetty yhdeksi zip -tiedostoksi. PfodDesigner -luoma koodi ja alla olevat esimerkit käyttävät tätä kirjastojen versiota. Jos haluat uusimman version, jossa on mahdollisesti erilaisia ominaisuuksia ja vikoja, lataa https://github.com/espressif/arduino-esp32 uusimman version zip ja pura se laitteistoon/espressif ja nimeä se uudelleen kansioon esp32 ja sitten BLE-tuen lataamiseksi zip-tiedoston uusimmasta versiosta https://github.com/espressif/arduino-esp32 ja purkaa se esp32/libraries-kansioon ja nimeä se uudelleen ESP32_BLE_Arduino (tarvittaessa).
Vaihe 2: PfodParser -kirjastojen asennus ESP32: lle
a) Lataa sitten pfodParser.zip -kirjasto V3.23+, pfodDwgControls.zip ja ESP32 WiFi -palvelussa pfodESP32BufferedClient.zip, zip -tiedostot tietokoneellesi, siirrä ne työpöydällesi tai johonkin muuhun helposti löydettävään kansioon.
b) Asenna ne sitten Arduino 1.8.2 IDE -valikkovaihtoehdolla Luonnos → Tuo kirjasto → Lisää kirjasto. (Jos Arduino ei salli sen asentamista, koska kirjasto on jo olemassa, etsi ja poista vanhemmat pfodParser-, pfodCmdParser- tai pfodCHAP -yms. Kansiot ja tuo ne sitten)
c) Pysäytä ja käynnistä Arduino IDE uudelleen ja kohdasta Tiedosto-> Esimerkit näet nyt pfodParser-, pfodDwgControls- ja pfodESP32BufferedClient-kirjastot ja useita esimerkkejä.
Vaihe 3: PfodDesignerV3: n käyttö ESP32: lle
Ilmainen pfodDesignerV3 (V3291+) -sovellus tukee koodin luomista ESP32 -sirulle, jotta se voi muodostaa yhteyden BLE-, WiFi- tai Bluetooth Classic -palvelun kautta pfodAppiin (maksullinen).
On olemassa monia opetusohjelmia siitä, miten voit luoda ohjaimia Android -mobiililaitteellesi, jotta voit hallita monenlaisia levyjä pfodDesignerV3: n avulla. PfodDesignerV3: n avulla voit luoda säätimiä, jotka kytkevät lähdöt päälle/pois tai pulssoivat niitä, ohjata lähtöjä PWM: n kautta, näyttää tulo- tai analogiarvon tilan, loki- ja piirtotiedot sekä alivalikot ja paljon muuta.
Vinkki: ESP32 Arduino -tuki sisältää tuen noin 31 eri ESP32 -levylle. PfodDesignerV3 antaa sinulle pääsyn kaikkiin ESP32 I/O -nastoihin, mutta kaikki levyt eivät yhdistä kaikkia ESP32 -nastoja kortin nastoihin. Tarkista korttisi dokumentaatio, jonka nastat ovat saatavilla, ja katso pins_arduino.h -tiedosto korttisi laitteisto / espressif / esp32 / variantit -hakemistosta.
pfodDesignerV3 -nastalista sisältää kommentteja Sparkfun ESP32 Thing- ja Adafruit HUZZAH32 - ESP32 Feather Boards -levyjen saatavuudesta ja erikoiskäyttötapeista.
Nämä esimerkit käyttävät Sparkfun ESP32 Thing -korttia ja luovat liukusäätimen Android -matkapuhelimesi nastaan 5 yhdistetyn sisäisen LED -valon kirkkauden säätämiseksi. Jos käytät sen sijaan Adafruit HUZZAH32 - ESP32 Feather -korttia, sisäinen Led on kytketty nastaan 13. ESP32 Arduino -tuki, joka on asennettu edellä, ei tue Arduinon analogWriteä suoraan. Sen sijaan ESP32: ssa on 16 PWM -kanavaa, joita voit ohjata ja liittää mihin tahansa lähtöön. PfodDesignerV3 luo kaiken tarvittavan koodin kanavan varaamiseksi ja liittämiseksi valittuun lähtöön. Asenna ilmainen pfodDesignerV3 (V3291+) Google Playsta.
Vaihe 4: ESP32 BLE -koodigeneraattori
Aloita uusi valikko
Vaihda kohdelaitetta napsauttamalla Kohde -painiketta.
Ensimmäinen esimerkkikohde on ESP32 BLE, joten napsauta Bluetooth Low Energy -painiketta.
Valitse BLE: n kautta yhdistetty ESP32 ja palaa sitten päänäyttöön painamalla matkapuhelimen takaisin -painiketta.
Vaihe 5: Valikon suunnittelu - kehote
Tässä yksinkertaisessa esimerkissä on vain kehote ja yksi ohjausobjekti. Napsauta Muokkaa kehotetta -painiketta ja sitten Muokkaa kehoteksti -painiketta asettaaksesi kehotekstin.
Tässä kehote on asetettu “ESP32 Led”. Tallenna muutokset ja palaa edelliseen näyttöön napsauttamalla rasti -painiketta. Napsauta sitten Aseta taustaväri valitaksesi kaikki värit säätimien valikosta.
Voit valita jokaiselle säätimelle eri värit. Kehotteelle on saatavana useita muita muotoja. Täällä taustaksi on asetettu sininen ja kirjasinkoko on +5 ja teksti on lihavoitu. Muotoillun kehotteen esikatselu näkyy muokkauskehotteen alareunassa.
Vaihe 6: Valikon suunnittelu - PWM Led Control
Palaa päävalikkoon matkapuhelimen takaisin -painikkeen avulla ja lisää sitten ohjaus- tai näyttökohde napsauttamalla Lisää valikkokohta.
Valitse PWM -lähtö. Ohjausobjektin esikatselu näkyy näytön yläreunassa.
Vinkki: ESP32: ssa ei ole "tavallista Arduino" analogWrite -toimintoa. Tämä koodigeneraattori luo kuitenkin koodin, joka simuloi sitä sinulle
Napsauta Muokkaa johtavaa tekstiä -painiketta ja vaihda”PWM -asetus” -asetukseksi”Led”. Huomaa, että jäljessä oleva välilyönti erotetaan “Led” % -ilmaisimesta.
Tallenna muokkauksesi napsauttamalla valintanappia ja vieritä alas kohtaan “Ei yhteyttä I/O -nastaan”.
Napsauta tätä painiketta näyttääksesi luettelon nastoista, joita voidaan käyttää lähtöinä.
Tämä osoittaa Sparkfun ESP32 Thing- ja Adafruit HUZZAH32 Feather -levyjen erikoiskäyttötapit. Valitse nasta 5, jotta liukusäädin ohjaa Sparkfun ESP32 Thingin sisäisen led-kirkkautta. Jos käytät Adafruit HUZZAH32 Feather -levyä, valitse sen sijaan tappi 13. Muiden taulukoiden osalta tarkista taulukoiden dokumentaatio ja pins_arduino.h -tiedosto korttisi laitteisto / espressif / esp32 / variantit -hakemistosta
Kun olet tehnyt kaikki muut tämän liukusäätimen muotoiluasetukset, siirry takaisin päävalikkoon matkapuhelimen Takaisin -painikkeella ja napsauta Esikatselu -valikkoa nähdäksesi, miltä lopullinen valikko näyttää mobiililaitteellasi, kun pfodApp näyttää sen. Säätimet ovat reaaliajassa, joten voit siirtää niitä esikatselussa.
Vaihe 7: Luo ESP32 -koodi
Palaa päävalikkoon ja vieritä alas kohtaan Luo koodi -painike.
Napsauta Luo koodi -painiketta ja luo sitten koodi napsauttamalla Kirjoita koodi tiedostoon -painiketta
Sulje pfodDesignerV3 ja siirrä koodi /pfodAppRawData/pfodDesignerV3.txt -tiedostosta matkapuhelimesta tietokoneeseen. Katso pfodAppForAndroidGettingStarted.pdf tapoja tehdä tämä. SmarterDroidin wifi -tiedostonsiirtosovellus on yksi tapa siirtää.
Luo koodi -näytön Vaihda kohde -painikkeella voit vaihtaa ESP32: n BLE: n, ESP32: n Bluetoothin ja ESP32: n välillä WiFi: n välillä
Vaihe 8: Esimerkkien suorittaminen
Luo koodi -näytön Vaihda kohde -painikkeella voit vaihtaa ESP32: n BLE: n, ESP32: n Bluetoothin ja ESP32: n välillä WiFi: n välillä
Seuraavat kolme esimerkkiluonnosta luotiin edellä esitetystä mallista.
Esimerkki pfodESP32_BLE
Kohteen asettaminen ESP32: ksi BLE: n kautta luo koodin pfodESP32_LED_BLE.ino-muodossa. Tämä luonnos on saatavana myös kohdassa Tiedosto-> Esimerkit-> pfodParser. Avaa tämä esimerkki, ja sitten, kun olet ohjelmoinut Sparkfun ESP32 Thingin (tai muun ESP32 -kortin), sinun on sitten muodostettava yhteys siihen pfodAppissa (katso lisätietoja pfodAppForAndroidGettingStarted.pdf -tiedostosta) ja yhdistä ja pysty säätämään kirkkautta hallituksen johtama.
VIHJE: ESP32 käyttää samaa Bluetooth -osoitetta sekä BLE: lle että Bluetoothille, joten jos olet aiemmin määrittänyt ESP32 Bluetooth -yhteyden pfodAppissa, sinun on poistettava pfodApp Bluetooth -yhteys ennen BLE -yhteyden luomista, koska pfodApp suodattaa olemassa olevat yhteydet (osoite) käytettävissä olevien laitteiden näyttöluettelosta. Sinun on ehkä myös avattava matkapuhelimesi asetukset ja "unohdettava" ESP32 -Bluetooth -yhteys ja sammutettava sitten matkapuhelimen Bluetooth ja käynnistettävä puhelin uudelleen, jotta Bluetooth -pino tyhjennetään
VIHJE: Neil Kolbanin ESP32_BLE_Arduino -kirjasto ei ole yhteensopiva Sandeep Mistryn BLEPeripheral -kirjaston kanssa, jota jotkut muut pfodDesignerin luomat BLE -kohteet käyttävät. Joten sinun on poistettava BLEPeripheral -hakemisto (jos sellainen on) Arduino/libraries -hakemistostasi ESP32 BLE -luonnosten kokoamiseksi.
Suorita pfodESP32_Bluetooth -esimerkki
Kohteen asettaminen ESP32: ksi Bluetoothin kautta luo koodin pfodESP32_LED_Bluetooth.ino -luetteloon. Tämä luonnos on saatavana myös kohdassa Tiedosto-> Esimerkit-> pfodParser. Avaa tämä esimerkki ja ohjelmoi sitten Sparkfun ESP32 Thing (tai muu ESP32 -kortti). ESP32 on muodostettava pariksi puhelimesi kanssa, PIN -numeroa ei tarvita. Muodosta sitten yhteys siihen pfodApp -sovelluksessa (katso lisätietoja pfodAppForAndroidGettingStarted.pdf -tiedostosta) ja yhdistä ja pysty säätämään piirilevyn ledin kirkkautta.
Esimerkki pfodESP32_WiFi
Kohteen asettaminen ESP32: ksi WiFi: n kautta luo koodin pfodESP32_LED_WiFi.ino-ohjelmassa. Tämä luonnos on saatavana myös kohdassa Tiedosto-> Esimerkit-> pfodParser. Avaa tämä esimerkki ja lisää verkon nimi ja salasana ja valitse tälle laitteelle staattinen IP -osoite. Sitten, kun olet ohjelmoinut Sparkfun ESP32 Thingin (tai muun ESP32 -kortin), sinun on muodostettava yhteys siihen pfodAppissa (katso lisätietoja pfodAppForAndroidGettingStarted.pdf -tiedostosta) ja yhdistä ja pysty säätämään piirilevyn ledin kirkkautta.
Vaihe 9: WiFi -suojaus
Jos muodostat yhteyden ESP32 -laitteeseen Internetin kautta (wifi -yhteyden kautta), suojaus on tärkeää. Et halua, että kuka tahansa voi esimerkiksi avata autotallisi oven. Koodigeneraattori ja pfodParser -kirjasto tukevat 128 -bittistä suojausta. Tämä suojaus ei salaa viestejä, vaan lisää salaushajautuksen jokaiseen viestiin suojatakseen luvatonta yhteyttä ja hallintaa vastaan. Katso SipHash Secure Challenge and Response saadaksesi lisätietoja tämän suojauksen toteuttamisesta.
128 -bittisen suojauksen lisääminen
Suojautuminen luvattomilta käyttäjiltä, jotka käyttävät laitettasi Internetin kautta, on yhtä helppoa kuin muokata#define pfodSecurityCode "" oman salakoodin lisäämiseksi. (enintään 32 heksadesimaalia)
Jos esimerkiksi haluat asettaa suojakoodin 173057F7A706AF9BBE65D51122A14CEE, käytä#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Käytä tietysti omaa salaista koodiasi. Kun määrität oman koodin pfodApp-yhteyteesi, voit muodostaa yhteyden sinä ja kukaan muu.
Pitkä satunnainen koodi on tarpeen hyvän turvallisuuden takaamiseksi. pfodApp tukee jopa 128 bittiä 32Hex -numerona.
Voit luoda oman salaisen koodisi lataamalla satunnaisen salaisen avaingeneraattorin täältäSalaisen avaimen generaattori täältä. Sen lisäksi, että ohjelma luo satunnaisia avaimia, se kirjoittaa ne QR -koodeiksi, jotta voit asettaa ne helposti ja tarkasti pfodApp -yhteyteesi.
Voit tulostaa QR -koodin ja liittää sen pfodDevice -laitteeseesi. Napsauta sitten skannaa QR -pohja pfodApp WiFi -yhteysnäytössä salasanan lukemiseksi.
Katso Yksinkertainen WiFi/Arduino pfodDevice ™, jossa on 128 -bittinen suojaus, yksityiskohtainen esimerkki avaingeneraattorin ja QR -koodin käytöstä.
Johtopäätös
Tämä opetusohjelma on osoittanut, kuinka Arduino IDE asetetaan ESP32: n ohjelmointiin. Sen jälkeen se suunnitteli ilmaisen pfodDesigner -sovelluksen avulla valikon ohjaamaan sisäisen ledin ja luodun koodin kirkkautta, jotta se voi muodostaa yhteyden ESP32: een BLE: n, Bluetoothin tai WiFi: n kautta. Jos muodostat yhteyden pfodApp apppfodApp -sovelluksen kautta, näet suunnittelemasi valikon ja voit ohjata ledin kirkkautta liukusäätimen avulla. PfodDesigner luo kaiken Arduino -koodin, mukaan lukien Arduinon analogisen Writen simulointi. Arduino -koodausta ei tarvittu. PfodApp huolehtii kaikesta Android -puolelta, Android -koodausta ei tarvita.
Suositeltava:
Mi Band -ilmaisin ESP32 BLE: n avulla: 6 vaihetta
Mi Band Detector ESP32 BLE: Hei Maker m ( - -) m Luin tämän artikkelin 陳亮 (moononournation github) siitä, miten esp32 ble -laitetta käytetään laitteen skannaamiseen, joten minun piti kokeilla tätä koodia githubissa Arduino_BLE_Scanner. nyt haluan avata Mi Band 3: n avulla oven lukituksen, kun tulen toimistolleni
Bluetoothin (BLE) käyttäminen ESP32: n kanssa: 3 vaihetta
Bluetoothin (BLE) käyttäminen ESP32: n kanssa: ##### HUOMAUTUS ##### Tässä ohjeessa esitetty menetelmä on vanha ja vanhentunut. Katso tästä videosta uusin menetelmä. ############### ESP32: lla on laaja ominaisuuksien luettelo (Wikipedia), mutta suurin piirtävä ominaisuus on sisäänrakennettu sininen
Pyörivä robotti, jossa ESP32 Thing ja TB6612FNG -ohjain, Androidin ohjaama BLE: 11 vaihetta
Pyörivä robotti, jossa on ESP32 Thing ja TB6612FNG -ohjain, Androidin ohjaama BLE: Hei kaikille Tämä on ensimmäinen ohjeeni. Pyörivä robotti (lempinimeltään Raidho - liikkeeseen liittyvästä runeesta), joka perustuu ESP32 Thingiin, TB6612 FNG: hen ja BLE: hen. Yksi osa, joka saattaa tuntua erikoiselta, on, että valokuvat eivät ole valmistusprosessista
Nano ESP32 BLE -skanneri: 14 vaihetta (kuvien kanssa)
Nano ESP32 BLE -skanneri: Tässä ohjeessa näytetään, miten ESP32: lla voidaan tehdä langaton BLE -signaaliskanneri, kaikki skannatut tiedot lähetetään HTTP -palvelimelle WiFi -yhteyden kautta
ESP32 Bluetooth BLE -kaukosäädin: 8 vaihetta
ESP32 Bluetooth BLE -kaukosäädin: Tämä projekti on esimerkki halvan Bluetooth BLE -ohjaimen liittämisestä ESP32 -laitteeseen. Koodi on kirjoitettu Arduino IDE Ver 1.8.5: llä ja ESP32 -lisäosalla. Käytetty BLE -joystick on kaupallinen laite, jonka voit ostaa Inte