Sisällysluettelo:

ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth: 9 vaihetta
ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth: 9 vaihetta

Video: ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth: 9 vaihetta

Video: ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth: 9 vaihetta
Video: Прошиваем и тестируем WIFI репитер из ESP32 2024, Marraskuu
Anonim
ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth
ESP32 -koodigeneraattori - Wifi, BLE, Bluetooth

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

ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
ESP32 BLE -koodigeneraattori
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

Valikon suunnittelu - kehote
Valikon suunnittelu - kehote
Valikon suunnittelu - kehote
Valikon suunnittelu - kehote
Valikon suunnittelu - kehote
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

Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
Valikon suunnittelu - PWM Led Control
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

Luo ESP32 -koodi
Luo ESP32 -koodi
Luo ESP32 -koodi
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

Esimerkkien suorittaminen
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: