espBerry-LOGO

espBerry ESP32 Development Board Raspberry Pi GPIO:lla

espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-1

TUOTETIEDOT

Tekniset tiedot

  • Virtalähde: Useita lähteitä
  • GPIO: Yhteensopiva Raspberry Pi 40-pin GPIO-otsikon kanssa
  • Langattomat ominaisuudet: Kyllä
  • Ohjelmointi: Arduino IDE

Yliview

EspBerry DevBoard yhdistää ESP32DevKitC-kehityskortin minkä tahansa Raspberry Pi HATin kanssa yhdistämällä RPi-yhteensopivaan 40-nastaiseen GPIO-otsikkoon. Sen ei ole tarkoitus olla Raspberry Pi -vaihtoehto, vaan pikemminkin ESP32:n toiminnallisuuden laajennus hyödyntämällä markkinoiden laajaa valikoimaa RPi HATeja.

Laitteisto

Virtalähteen liitin
EspBerryä voidaan käyttää useista eri lähteistä. Katso käyttöoppaasta yksityiskohtaiset tiedot käytettävissä olevista virtalähteistä.

espBerry-kaaviot
EspBerry on suunniteltu kartoittamaan mahdollisimman monta signaalia (GPIO, SPI, UART jne.). Se ei kuitenkaan välttämättä kata kaikkia markkinoilla olevia hattuja. Jos haluat mukauttaa ja kehittää omaa HAT-laitettasi, katso espBerryn kaavio. Voit ladata täydelliset espBerry-kaaviot (PDF) tässä.

ESP32 DevKit Pinout
ESP32 DevKit pinout tarjoaa visuaalisen esityksen kortin pin-kokoonpanosta. Täyteen view klikkaa pinout-kuvasta tässä.

Raspberry Pi 40-pin GPIO Header
Raspberry Pi:ssä on rivi GPIO-nastoja laudan yläreunassa. EspBerry on yhteensopiva kaikkien nykyisten Raspberry Pi -levyjen 40-nastaisen GPIO-otsikon kanssa. Huomaa, että GPIO-otsikkoa ei ole täytetty Raspberry Pi Zero-, Raspberry Pi Zero W- ja Raspberry Pi Zero 2 W -malleissa. Ennen Raspberry Pi 1 -mallia B+ levyillä oli lyhyempi 26-nastainen otsikko. GPIO-otsikon nastaväli on 0.1 (2.54 mm).

SPI-porttiyhteys
EspBerryn SPI-portti mahdollistaa sarjamuotoisen full-duplex- ja synkronisen viestinnän. Se käyttää kellosignaalia tiedon siirtämiseen ja vastaanottamiseen keskusohjaimen (isäntä) ja useiden oheislaitteiden (orjien) välillä. Toisin kuin UART-kommunikaatio, joka on asynkroninen, kellosignaali synkronoi tiedonsiirron.

FAQ

  • Voinko käyttää mitä tahansa Raspberry Pi HATia espBerryn kanssa?
    EspBerry on suunniteltu yhteensopivaksi minkä tahansa Raspberry Pi HATin kanssa yhdistämällä laitteen sisäiseen 40-nastaiseen GPIO-otsakkeeseen. Se ei kuitenkaan välttämättä kata kaikkia markkinoilla olevia hattuja. Katso lisätietoja espBerryn kaaviosta.
  • Mitä ohjelmointikieltä voin käyttää espBerryn kanssa?
    EspBerry tukee ohjelmointia käyttämällä suosittua Arduino IDE:tä, joka tarjoaa erinomaiset ohjelmointiominaisuudet.
  • Mistä löydän lisätietoja ja resursseja?
    Vaikka tämä käyttöopas sisältää yksityiskohtaisia ​​tietoja, voit myös tutustua verkkojulkaisuihin ja artikkeleihin lisäresurssien saamiseksi. Jos tarvitset lisätietoja tai sinulla on ehdotuksia, ota rohkeasti yhteyttä.

Yliview

  • espBerry DevBoard yhdistää ESP32-DevKitC-kehitys Liitä minkä tahansa Raspberry Pi HATin kanssa yhdistämällä RPi-yhteensopivaan 40-nastaiseen GPIO-otsikkoon.
  • EspBerryn tarkoitusta ei pitäisi nähdä Raspberry Pi -vaihtoehtona, vaan ESP32:n toiminnallisuuden laajentamisena hyödyntämällä markkinoiden laajaa RPi-hattujen tarjontaa ja ottamalla etuja.tage useista ja joustavista laitteistovaihtoehdoista.
  • EspBerry on täydellinen ratkaisu prototyyppien luomiseen ja esineiden Internet (IoT) -sovelluksiin, erityisesti niihin, jotka vaativat langattomia ominaisuuksia. Kaikki avoimen lähdekoodin samples ottaa AdvantagSuosittu Arduino IDE erinomaisilla ohjelmointiominaisuuksillaan.
  • Seuraavassa selitämme laitteiston ja ohjelmiston ominaisuudet, mukaan lukien kaikki tiedot, jotka sinun on tiedettävä, jotta voit lisätä valitsemasi Raspberry HATin. Lisäksi tarjoamme kokoelman laitteistoja ja ohjelmistojaampse osoittaa espBerryn kyvyt.
  • Vältämme kuitenkin toistamasta tietoja, jotka ovat jo saatavilla muista lähteistä, kuten verkkojulkaisuista ja artikkeleista. Aina kun katsomme, että lisätietoja tarvitaan, lisäämme viitteitä opiskeluun.
    Huomautus: Pyrimme kovasti dokumentoimaan kaikki yksityiskohdat, jotka voivat olla tärkeitä asiakkaillemme. Dokumentointi vie kuitenkin aikaa, emmekä aina ole täydellisiä. Jos tarvitset lisätietoja tai sinulla on ehdotuksia, ota rohkeasti yhteyttä ota meihin yhteyttä.

espBerryn ominaisuudet

  • Prosessori: ESP32 DevKitC
    • 32-bittinen Xtensa kaksiytiminen @240 MHz
    • WiFi IEEE 802.11 b / g / n 2.4 GHz
    • Bluetooth 4.2 BR/EDR ja BLE
    • 520 kt SRAM (16 kt välimuistille)
    • 448 kt ROM
    • Ohjelmoitavissa USB A/mikro-USB B -kaapelilla
  • Raspberry Pi -yhteensopiva 40-nastainen GPIO-otsikko
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Syöttöteho: 5 VDC
    • Käänteisen napaisuuden suojaus
    • Overvoltage Suojaus
    • Power Barrel Connector Jack 2.00 mm ID (0.079"), 5.50 mm OD (0.217")
    • Saatavilla 12/24 VDC vaihtoehtoja
  • Toiminta-alue: -40 °C - 85 °C
    Huomautus: Useimmat RPi HATit toimivat 0 °C ~ 50 °C lämpötilassa
  • Mitat: 95 mm x 56 mm – 3.75" x 2.2"
    Täyttää Vakiot Raspberry Pi HAT -mekaaniset tekniset tiedot

Laitteisto

  • Yleensä espBerry-kehityskortti yhdistää ESP32-DevKitC-moduulin mihin tahansa Raspberry Pi HAT:iin yhdistämällä laitteen sisäiseen RPi-yhteensopivaan 40-nastaiseen GPIO-otsikkoon.
  • Eniten käytetyt liitännät ESP32:n ja RPi HATin välillä ovat SPI- ja UART-portit, kuten seuraavissa luvuissa selitetään. Olemme myös kartoittaneet useita GPIO-signaaleja (General Purpose Input Output). Katso tarkemmat tiedot kartoituksesta kaaviosta.
  • Yritämme kovasti tarjota hyvää dokumentaatiota. Huomaa kuitenkin, että emme voi selittää kaikkia ESP32:n yksityiskohtia tässä käyttöoppaassa. Katso tarkemmat tiedot osoitteesta ESP32-DevKitC V4 Aloitusopas.

espBerry Boardin komponentit

espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-2

Virtalähteen liitin

  • espBerry voi saada virtaa useista lähteistä:
    • Micro-USB-liitin ESP32 DevKitC -moduulissa
    • 5 VDC 2.0 mm liitäntä
    • 5 VDC -liitin
    • Ulkoinen virtalähde kytketty RPi HATiin
  • On olemassa Raspberry Pi HATeja, jotka mahdollistavat ulkoisen virran (esim. 12 VDC) syöttämisen suoraan HATiin. Kun annat espBerrylle virran tämän ulkoisen virtalähteen kautta, sinun on asetettava virtalähteen valitsimen hyppyjohdin asentoon "EXT". Muussa tapauksessa sen on asetettava "On Board".
  • On mahdollista saada virta espBerryyn sisäisesti ("On Board"), mutta silti HAT:iin syötetään virtaa.

espBerry-kaaviot 

  • EspBerry on suunniteltu kartoittamaan mahdollisimman monta signaalia (GPIO, SPI, UART jne.). Tämä ei kuitenkaan välttämättä tarkoita, että espBerry kattaisi kaikki markkinoilla olevat HATit. Lopullisen lähteesi mukautuksiin ja oman hatun kehittämiseen on oltava espBerryn kaavio.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-3

  • Napsauta tästä ladataksesi täydelliset espBerry-kaaviot (PDF).
  • Lisäksi olemme lisänneet ESP32 DevKitC:n ja Raspberry Pi:n 40-nastaisen GPIO-otsikkoliittimen seuraaviin lukuihin.

ESP32 DevKit -liitin
Täyteen view yllä olevasta kuvasta, napsauta tästä.

espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-4

Raspberry Pi 40-pin GPIO Header

  • Raspberry Pi:n tehokas ominaisuus on rivi GPIO-nastat (yleiskäyttöinen tulo/lähtö) levyn yläreunassa. 40-nastainen GPIO-otsikko löytyy kaikista nykyisistä Raspberry Pi -levyistä (täyttämättä Raspberry Pi Zero, Raspberry Pi Zero W ja Raspberry Pi Zero 2 W). Ennen Raspberry Pi 1 Model B+:ta (2014) levyt sisälsivät lyhyemmän 26-nastaisen otsikon. Kaikkien levyjen (mukaan lukien Raspberry Pi 400) GPIO-otsikon nastaväli on 0.1 tuumaa (2.54 mm).

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-5

  • Lisätietoja on kohdassa Raspberry Pi -laitteisto – GPIO ja 40-nastainen otsikko.
  • Lisätietoja Raspberry Pi -hatuista on osoitteessa Lisälevyt ja hatut.

SPI-porttiyhteys

  • SPI on lyhenne sanoista Serial Peripheral Interface, sarja kaksisuuntainen ja synkroninen liitäntä. Synkroninen käyttöliittymä vaatii kellosignaalin tiedon siirtämiseen ja vastaanottamiseen. Kellosignaali synkronoidaan yhden keskusohjaimen ("isäntä") ja useiden oheislaitteiden ("orja") välillä. Toisin kuin UART-tiedonsiirto, joka on asynkroninen, kellosignaali ohjaa, milloin data lähetetään ja milloin sen pitäisi olla valmis luettavaksi.
  • Vain isäntälaite voi ohjata kelloa ja antaa kellosignaalin kaikille orjalaitteille. Tietoja ei voi siirtää ilman kellosignaalia. Sekä isäntä että orja voivat vaihtaa tietoja keskenään. Osoitteen dekoodausta ei vaadita.
  • ESP32:ssa on neljä SPI-väylää, mutta vain kaksi on käytettävissä, ja ne tunnetaan nimellä HSPI ja VSPI. Kuten aiemmin mainittiin, SPI-viestinnässä on aina yksi ohjain (tunnetaan myös isäntänä), joka ohjaa muita oheislaitteita (tunnetaan myös nimellä orja). Voit määrittää ESP32:n joko isäntä- tai orjayksiköksi.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-6

  • EspBerryssä oletus-IO:ille määritetyt signaalit:

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-7

  • Alla olevassa kuvassa näkyy SPI-signaalit ESP32-moduulista RPi GPIO -otsikkoon otteena kaaviosta.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-8

  • Saatavilla on monenlaisia ​​ESP32-kortteja. Muilla kuin espBerry-korteilla voi olla erilaiset SPI-oletusnastat, mutta löydät tietoja oletusnastaista niiden teknisistä tiedoista. Mutta jos oletusnastaa ei mainita, voit löytää ne Arduino-luonnoksen avulla (käytä ensimmäistä linkkiä alla).
  • Lisätietoja:
  • EspBerry käyttää VSPI-yhteyttä oletuksena, mikä tarkoittaa, että jos käytät oletussignaaleja, sinun ei pitäisi joutua ongelmiin. On olemassa tapoja muuttaa pin-määritystä ja vaihtaa HSPI:hen (kuten yllä olevissa viitteissä selitetään), mutta emme ole tutkineet näitä espBerryn skenaarioita.
  • Katso myös SPI-portin ohjelmointia käsittelevä osio.

Sarjaportti (UART) -liitäntä

  • Sisäisen USB-portin lisäksi ESP32-kehitysmoduulissa on kolme UART-liitäntää, eli UART0, UART1 ja UART2, jotka tarjoavat asynkronista tiedonsiirtoa jopa 5 Mbps:n nopeudella. Nämä sarjaportit voidaan yhdistää melkein mihin tahansa nastaan. EspBerryssä määritimme IO15:ksi Rx:ksi ja IO16:ksi Tx, jotka on kytketty GPIO16:een ja GPIO20:een 40-nastaisessa otsikossa, kuten tässä näkyy:

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-9

  • Olemme päättäneet olla käyttämättä tavallisia RX/TX (GPIO3/GPIO1) -signaaleja ESP32 DevKitissä, koska niitä käytetään usein testitulosteisiin Arduino IDE:n Serial Monitorin kautta. Tämä saattaa häiritä ESP32:n ja RPi HATin välistä viestintää. Sen sijaan sinun on määritettävä IO16 Rx:ksi ja IO15 Tx:ksi ohjelmistokohtaisesti, kuten tämän oppaan Ohjelmisto-osassa on selitetty.
  • Katso myös sarjaohjelmointia (UART) käsittelevä osio.

Ohjelmisto

  • Seuraavassa selitämme lyhyesti espBerryn tärkeimmät ohjelmointinäkökohdat. Kuten tässä käyttöoppaassa aiemmin mainittiin, lisäämme online-viittauksia, jos katsomme, että lisätietoja tarvitaan.
  • Lisätietoja käytännön projekteista samples, katso myös meidän ESP32 ohjelmointivinkkejä.
  • Lisäksi on monia exampvähemmän ESP32 ohjelmointikirjallisuutta, jotka ovat investoinnin arvoisia.
  • Suosittelemme kuitenkin käyttämään Elektroniset projektit ESP8266:n ja ESP32:n kanssa, erityisesti langattomiin sovellusprojekteihisi. Kyllä, monia hyviä kirjoja ja ilmaisia ​​verkkoresursseja on nykyään saatavilla, mutta tämä on kirja, jota käytämme. Se teki lähestymistavastamme Bluetoothiin, BLE:hen ja WIFI:iin helppoa. Langattomien sovellusten ohjelmointi ilman vaivaa oli hauskaa, ja jaamme ne omassa käytössämme web sivusto.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-10

Arduino IDE:n asennus ja valmistelu

  • Kaikki ohjelmointimme samples on kehitetty käyttämällä Arduino IDE:tä (Integrated Development Environment), koska se on helppo asentaa ja käyttää. Lisäksi verkossa on saatavilla lukemattomia Arduino-luonnoksia ESP32:lle.
  • Asenna seuraavat vaiheet:
    • Vaihe 1: Ensimmäinen askel olisi ladata ja asentaa Arduino IDE. Tämä voidaan tehdä helposti seuraamalla linkkiä https://www.arduino.cc/en/Main/Software ja lataamalla IDE ilmaiseksi. Jos sinulla on jo sellainen, varmista, että sinulla on uusin versio.
    • Vaihe 2: Kun olet asentanut, avaa Arduino IDE ja siirry kohtaan Files -> Asetukset avataksesi asetusikkunan ja etsimällä "Lisätaulujen hallinta". URLs:" alla olevan kuvan mukaisesti:

      espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-11

      • Tekstikenttä voi olla tyhjä tai sisältää jo jotain muuta URL jos olet käyttänyt sitä aiemmin toisessa taulussa. Jos se on tyhjä, liitä alla oleva URL tekstikenttään.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Jos tekstiruutu sisältää jo jotain muuta URL lisää vain tämä URL erota molemmat pilkulla (,). Meillä oli jo Teensy URL. Tulimme juuri sisään URL ja lisäsi pilkun.
      • Kun olet valmis, napsauta OK ja ikkuna katoaa.
    • Vaihe 3: Siirry kohtaan Työkalut -> Taulut -> Hallituksen johtajat avataksesi Board manager -ikkunan ja etsi ESP32. Jos URL liitettiin oikein ikkunasi pitäisi löytää alla oleva näyttö, jossa on Asenna-painike, napsauta vain Asenna-painiketta ja levysi pitäisi asentaa.

      espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-12
      Yllä oleva kuvakaappaus näyttää ESP32:n asennuksen jälkeen.

    • Vaihe 4: Ennen kuin aloitat ohjelmoinnin, sinun on valittava sopiva ESP32-laitteisto (vaihtoehtoja on useita). Siirry kohtaan Tools -> Boards ja valitse ESP32 Dev Module kuten tässä näkyy:

      espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-13

    • Vaihe 5: Avaa laitehallinta ja tarkista, mihin COM-porttiin ESP32 on kytketty.

      espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-14

  • Kun käytät espBerryä, etsi Silicon Labs CP210x USB to UART Bridge. Asetuksissamme se näyttää COM4. Palaa Arduino IDE:hen ja valitse Työkalut -> Portti -kohdasta portti, johon ESP on kytketty.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-15

  • Jos olet aloittelija Arduino IDE:n kanssa, katso Arduino-ohjelmiston (IDE) käyttäminen.

SPI-portin ohjelmointi

  • Seuraava on vain lyhyt yhteenvetoview SPI-ohjelmoinnista. SPI-ohjelmointi ei ole helppoa, mutta aina kun aloitamme uuden projektin, etsimme koodia verkosta (esim. github.com).
  • Esimerkiksi MCP2515 CAN -ohjaimen ohjelmointiin käytämme Cory Fowlerin muunneltua versiota MCP_CAN Library for Arduino -kirjastosta, eli hyödynnämme hänen tietämystään ja vaivaa projektissamme.
  • Siitä huolimatta SPI-ohjelmoinnin perustason ymmärtämiseen kannattaa käyttää aikaa. Esimerkiksi espBerryssä SPI-signaalit on kartoitettu tässä esitetyllä tavalla:

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-16

  • Nämä asetukset on otettava käyttöön sovelluksen koodissa. Katso seuraavat resurssit saadaksesi lisätietoja SPI-ohjelmoinnista ESP32:n kanssa:

Sarjaportin (UART) ohjelmointi

  • EspBerryssä määritimme IO15:ksi Rx:ksi ja IO16:ksi Tx, jotka on yhdistetty GPIO16:een ja GPIO20:een 40-nastaisessa otsikossa.
  • Olemme päättäneet olla käyttämättä tavallisia RX/TX (GPIO3/GPIO1) -signaaleja ESP32 DevKitissä, koska niitä käytetään usein testitulosteisiin Arduino IDE:n Serial Monitorin kautta. Tämä saattaa häiritä ESP32:n ja RPi HATin välistä viestintää. Sen sijaan sinun on määritettävä IO16 Rx:ksi ja IO15 Tx:ksi ohjelmistokohtaisesti.

    espBerry-ESP32-kehityslevy-ja-Vadelma-Pi-GPIO-KUVA-17

  • Yllä oleva koodi edustaa sovellusta esimample käyttäen Serial1:tä.
  • Kun työskentelet ESP32:n kanssa Arduino IDE:n alla, huomaat, että Serial-komento toimii hyvin, mutta Serial1 ja Serial2 eivät. ESP32:ssa on kolme laitteiston sarjaporttia, jotka voidaan yhdistää melkein mihin tahansa nastaan. Jotta Serial1 ja Serial2 toimisivat, sinun on otettava mukaan HardwareSerial-luokka. Viitteenä, ks ESP32, Arduino ja 3 laitteiston sarjaporttia.
  • Katso myös postauksemme espBerry Project: ESP32 CH9102F USB-UART-sirun kanssa sarjanopeudelle jopa 3 Mbit/s.

YRITYKSESTÄ

Asiakirjat / Resurssit

espBerry ESP32 Development Board Raspberry Pi GPIO:lla [pdfKäyttöopas
ESP32-kehityskortti Raspberry Pi GPIO:lla, ESP32, kehityskortti Raspberry Pi GPIO:lla, kortti Raspberry Pi GPIO:lla, Raspberry Pi GPIO:lla

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *