espBerry-LOGO

Razvojna plošča espBerry ESP32 z Raspberry Pi GPIO

espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-1

INFORMACIJE O IZDELKU

Specifikacije

  • vir energije: Več virov
  • GPIO: Združljivo z Raspberry Pi 40-pin GPIO glavo
  • Brezžične zmogljivosti: ja
  • Programiranje: Arduino IDE

konecview

espBerry DevBoard združuje razvojno ploščo ESP32DevKitC s katerim koli Raspberry Pi HAT tako, da se poveže z vgrajeno RPi združljivo 40-polno GPIO glavo. Ni mišljeno kot alternativa Raspberry Pi, temveč kot razširitev funkcionalnosti ESP32 z uporabo široke palete RPi HAT, ki so na voljo na trgu.

Strojna oprema

Priključek za vir napajanja
EspBerry se lahko napaja iz različnih virov. Za podrobne informacije o razpoložljivih virih napajanja glejte uporabniški priročnik.

espBerry sheme
EspBerry je bil zasnovan za preslikavo čim več signalov (GPIO, SPI, UART itd.). Vendar morda ne zajema vseh HAT, ki so na voljo na trgu. Če želite prilagoditi in razviti svoj lasten HAT, si oglejte shemo espBerryja. Lahko prenesete celotno shemo espBerry (PDF) tukaj.

Pinout ESP32 DevKit
ESP32 DevKit pinout zagotavlja vizualno predstavitev konfiguracije pinov na plošči. Za polno view slike pinout kliknite tukaj.

Raspberry Pi 40-pin GPIO Header
Raspberry Pi ima vrsto zatičev GPIO vzdolž zgornjega roba plošče. EspBerry je združljiv s 40-pinskim priključkom GPIO, ki ga najdete na vseh trenutnih ploščah Raspberry Pi. Upoštevajte, da glava GPIO ni poseljena na Raspberry Pi Zero, Raspberry Pi Zero W in Raspberry Pi Zero 2 W. Pred modelom Raspberry Pi 1 Model B+ so imele plošče krajšo 26-nožno glavo. Glava GPIO ima razmak nožic 0.1 (2.54 mm).

Povezava SPI Port
Vrata SPI na napravi espBerry omogočajo serijsko dupleksno in sinhrono komunikacijo. Uporablja signal ure za prenos in sprejemanje podatkov med osrednjim krmiljenjem (glavni) in več perifernimi napravami (podrejeni). Za razliko od komunikacije UART, ki je asinhrona, signal ure sinhronizira prenos podatkov.

pogosta vprašanja

  • Ali lahko z espBerryjem uporabljam katerikoli Raspberry Pi HAT?
    EspBerry je zasnovan tako, da je združljiv s katerim koli Raspberry Pi HAT s povezavo na vgrajeno 40-polno GPIO glavo. Vendar morda ne zajema vseh HAT, ki so na voljo na trgu. Za več informacij si oglejte shemo espBerryja.
  • Kateri programski jezik lahko uporabljam z espBerryjem?
    EspBerry podpira programiranje z uporabo priljubljenega Arduino IDE, ki ponuja odlične možnosti programiranja.
  • Kje lahko najdem dodatne informacije in vire?
    Medtem ko ta uporabniški priročnik ponuja podrobne informacije, lahko tudi raziščete spletne objave in članke za dodatne vire. Če potrebujete dodatne informacije ali imate predloge, nas kontaktirajte.

konecview

  • espBerry DevBoard združuje Razvoj ESP32-DevKitC ploščo s katerim koli Raspberry Pi HAT, tako da se povežete z vgrajeno RPi-združljivo 40-pinsko glavo GPIO.
  • Namena espBerryja ne bi smeli dojemati kot alternativo Raspberry Pi, temveč kot razširitev funkcionalnosti ESP32 z izkoriščanjem široke ponudbe RPi HAT na trgu in napredovanjemtage več in prilagodljivih možnosti strojne opreme.
  • EspBerry je odlična rešitev za izdelavo prototipov in aplikacij interneta stvari (IoT), zlasti tistih, ki zahtevajo brezžične zmogljivosti. Vsa odprtokodna koda samples take advantage priljubljenega Arduino IDE z njegovimi odličnimi zmožnostmi programiranja.
  • V nadaljevanju bomo razložili funkcije strojne in programske opreme, vključno z vsemi podrobnostmi, ki jih morate vedeti, da dodate Raspberry HAT po vaši izbiri. Poleg tega bomo zagotovili zbirko strojne in programske opremeamples to prikazuje zmogljivosti espBerryja.
  • Vendar pa se bomo vzdržali ponavljanja informacij, ki so že na voljo prek drugih virov, tj. spletnih objav in člankov. Kjerkoli menimo, da so potrebne dodatne informacije, bomo dodali reference, ki jih lahko preučite.
    Opomba: Zelo se trudimo dokumentirati vsako podrobnost, ki bi lahko bila pomembna za naše stranke. Vendar dokumentacija zahteva čas in nismo vedno popolni. Če potrebujete dodatne informacije ali imate predloge, vas prosimo, da kontaktirajte nas.

Funkcije espBerry

  • Procesor: ESP32 DevKitC
    • 32-bitni dvojedrni Xtensa @ 240 MHz
    • WiFi IEEE 802.11 b / g / n 2.4 GHz
    • Bluetooth 4.2 BR/EDR in BLE
    • 520 kB SRAM (16 kB za predpomnilnik)
    • 448 kB ROM
    • Možnost programiranja na kabel USB A/micro–USB B
  • Raspberry Pi združljiva 40-pinska glava GPIO
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Vhodna moč: 5 VDC
    • Zaščita pred obratno polarnostjo
    • Overvoltage Zaščita
    • Vtičnica napajalnega soda 2.00 mm ID (0.079"), 5.50 mm OD (0.217")
    • Na voljo so možnosti 12/24 VDC
  • Območje delovanja: -40°C ~ 85°C
    Opomba: Večina RPi HAT deluje pri 0°C ~ 50°C
  • Dimenzije: 95 mm x 56 mm – 3.75" x 2.2".
    Ustreza Standardne mehanske specifikacije Raspberry Pi HAT

Strojna oprema

  • Na splošno razvojna plošča espBerry združuje modul ESP32-DevKitC s katerim koli Raspberry Pi HAT s povezavo na vgrajeno RPi-združljivo 40-pinsko glavo GPIO.
  • Najpogosteje uporabljeni povezavi med ESP32 in RPi HAT sta vrata SPI in UART, kot je razloženo v naslednjih poglavjih. Preslikali smo tudi več signalov GPIO (generalni vhodni izhod). Za podrobnejše informacije o preslikavi si oglejte shemo.
  • Zelo se trudimo zagotoviti dobro dokumentacijo. Vendar upoštevajte, da v tem uporabniškem priročniku ne moremo razložiti vseh podrobnosti ESP32. Za podrobnejše informacije glejte ESP32-DevKitC V4 Priročnik za začetek.

Komponente plošče espBerry

espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-2

Priključek za vir napajanja

  • EspBerry se lahko napaja iz več virov:
    • Priključek Micro-USB na modulu ESP32 DevKitC
    • Vtičnica 5 VDC 2.0 mm
    • Priključni blok 5 VDC
    • Zunanji napajalnik priključen na RPi HAT
  • Obstajajo Raspberry Pi HAT, ki omogočajo dovajanje zunanjega napajanja (npr. 12 VDC) neposredno na HAT. Ko napajate espBerry prek tega zunanjega napajalnika, morate mostiček na izbirniku vira napajanja nastaviti na »EXT«. V nasprotnem primeru mora biti nastavljen na »On Board«.
  • Možno je napajati espBerry interno (»onboard«), medtem ko je še vedno priključen na HAT.

espBerry sheme 

  • EspBerry je bil zasnovan za preslikavo čim več signalov (GPIO, SPI, UART itd.). Vendar to ne pomeni nujno, da espBerry pokriva vse HAT-je, ki so na voljo na trgu. Vaš končni vir za prilagoditve in razvoj lastnega HAT-a mora biti shema espBerryja.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-3

  • Kliknite tukaj za prenos celotne sheme espBerry (PDF).
  • Poleg tega smo v naslednjih poglavjih dodali pinout glave GPIO ESP32 DevKitC in Raspberry Pi 40-pin.

Pinout ESP32 DevKit
Za polno view zgornje slike kliknite tukaj.

espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-4

Raspberry Pi 40-pin GPIO Header

  • Močna značilnost Raspberry Pi je vrsta zatičev GPIO (splošni vhod/izhod) vzdolž zgornjega roba plošče. 40-pinski priključek GPIO je na vseh trenutnih ploščah Raspberry Pi (nenaseljen na Raspberry Pi Zero, Raspberry Pi Zero W in Raspberry Pi Zero 2 W). Pred modelom Raspberry Pi 1 Model B+ (2014) so ​​plošče vsebovale krajšo 26-nožno glavo. Glava GPIO na vseh ploščah (vključno z Raspberry Pi 400) ima razmik nožic 0.1″ (2.54 mm).

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-5

  • Za več informacij glejte Strojna oprema Raspberry Pi – GPIO in 40-pinska glava.
  • Za več informacij o Raspberry Pi HAT-ih glejte Dodatne plošče in klobuki.

Povezava SPI Port

  • SPI pomeni Serial Peripheral Interface, serijski full-duplex in sinhroni vmesnik. Sinhroni vmesnik za prenos in sprejemanje podatkov potrebuje signal ure. Signal ure je sinhroniziran med enim centralnim krmiljenjem (»master«) in več perifernimi napravami (»slaves«). Za razliko od komunikacije UART, ki je asinhrona, signal ure nadzira, kdaj naj bodo podatki poslani in kdaj naj bodo pripravljeni za branje.
  • Samo glavna naprava lahko nadzoruje uro in zagotavlja signal ure vsem podrejenim napravam. Podatkov ni mogoče prenašati brez signala ure. Tako glavni kot podrejeni lahko izmenjujeta podatke med seboj. Dekodiranje naslova ni potrebno.
  • ESP32 ima štiri vodila SPI, vendar sta za uporabo na voljo samo dve, znani pa sta kot HSPI in VSPI. Kot smo že omenili, je v komunikaciji SPI vedno en krmilnik (znan tudi kot glavni), ki nadzoruje druge periferne naprave (znane tudi kot podrejene). ESP32 lahko konfigurirate kot glavni ali podrejeni.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-6

  • V napravi espBerry so signali, dodeljeni privzetim IO-jem:

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-7

  • Spodnja slika prikazuje signale SPI iz modula ESP32 v glavo RPi GPIO kot izvleček iz sheme.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-8

  • Na voljo je veliko vrst plošč ESP32. Plošče, ki niso espBerry, imajo lahko drugačne privzete zatiče SPI, vendar lahko informacije o privzetih zatičih najdete na njihovem podatkovnem listu. Če pa privzeti zatiči niso omenjeni, jih lahko najdete z uporabo skice Arduino (uporabite prvo spodnjo povezavo).
  • Za več informacij glejte:
  • EspBerry uporablja povezavo VSPI kot privzeto, kar pomeni, da če uporabljate privzete signale, ne bi smeli naleteti na težave. Obstajajo načini za spremembo dodelitve pinov in preklop na HSPI (kot je razloženo v zgornjih referencah), vendar teh scenarijev za espBerry nismo raziskali.
  • Glejte tudi naš razdelek o programiranju vrat SPI.

Povezava s serijskimi (UART) vrati

  • Razvojni modul ESP32 ima poleg vgrajenega USB priključka tri UART vmesnike, in sicer UART0, UART1 in UART2, ki omogočajo asinhrono komunikacijo s hitrostjo do 5 Mbps. Ta serijska vrata je mogoče preslikati na skoraj vsak pin. Na espBerryju smo IO15 dodelili kot Rx in IO16 kot Tx, ki sta povezana z GPIO16 in GPIO20 na 40-pinski glavi, kot je prikazano tukaj:

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-9

  • Odločili smo se, da ne bomo uporabljali standardnih signalov RX/TX (GPIO3/GPIO1) na ESP32 DevKit, saj se pogosto uporabljajo za testne natise prek serijskega monitorja Arduino IDE. To lahko moti komunikacijo med ESP32 in RPi HAT. Namesto tega morate preslikati IO16 kot Rx in IO15 kot Tx na programsko opremo, kot je razloženo v razdelku Programska oprema tega priročnika.
  • Glejte tudi naš razdelek o serijskem (UART) programiranju.

Programska oprema

  • V nadaljevanju bomo na kratko razložili najpomembnejše programske vidike za espBerry. Kot je bilo že omenjeno v tem uporabniškem priročniku, bomo dodali spletne reference, kjer menimo, da so potrebne dodatne informacije.
  • Za več, praktični projekt samples, glejte tudi naše Nasveti za programiranje ESP32.
  • Poleg tega je veliko bivšihampmanj od Programska literatura ESP32, ki so vredni naložbe.
  • Vseeno toplo priporočamo uporabo Elektronski projekti z ESP8266 in ESP32, še posebej za vaše projekte brezžičnih aplikacij. Da, dandanes je na voljo veliko dobrih knjig in brezplačnih spletnih virov, vendar uporabljamo to knjigo. Zaradi tega je bil naš pristop k Bluetoothu, BLE in WIFI preprost. Programiranje brezžičnih aplikacij brez težav je bilo zabavno in delimo jih na našem web mesto.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-10

Namestitev in priprava Arduino IDE

  • Vse naše programiranje sampdatoteke so bile razvite z uporabo Arduino IDE (Integrated Development Environment) zaradi enostavne namestitve in uporabe. Poleg tega je na spletu na voljo nešteto Arduino skic za ESP32.
  • Za namestitev sledite tem korakom:
    • 1. korak: Prvi korak bi bil prenos in namestitev Arduino IDE. To lahko preprosto storite tako, da sledite povezavi https://www.arduino.cc/en/Main/Software in brezplačno prenesete IDE. Če ga že imate, se prepričajte, da imate najnovejšo različico.
    • 2. korak: Ko je nameščen, odprite Arduino IDE in pojdite na Files -> Nastavitve, da odprete okno z nastavitvami in poiščete »Additional Boards Manager URLs:«, kot je prikazano spodaj:

      espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-11

      • Besedilno polje je morda prazno ali že vsebuje nekaj drugega URL če ste jo prej uporabljali za drugo ploščo. Če je prazno, preprosto prilepite spodnje URL v besedilno polje.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Če besedilno polje že vsebuje nekaj drugega URL samo dodajte to URL nanjo, oba ločite z vejico (,). Naš je že imel Teensy URL. Pravkar smo vstopili v URL in dodal vejico.
      • Ko končate, kliknite V redu in okno bo izginilo.
    • 3. korak: Pojdite na Orodja -> Plošče -> Upravitelji plošč, da odprete okno upravitelja plošč in poiščete ESP32. Če je URL je bilo pravilno prilepljeno, vaše okno bi moralo najti spodnji zaslon z gumbom Namesti, samo kliknite gumb Namesti in vaša plošča bi se morala namestiti.

      espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-12
      Zgornji posnetek zaslona prikazuje ESP32 po namestitvi.

    • 4. korak: Preden začnete s programiranjem, morate nastaviti in izbrati ustrezno strojno opremo ESP32 (na voljo je več možnosti). Pomaknite se do Orodja -> Plošče in izberite ESP32 Dev Module, kot je prikazano tukaj:

      espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-13

    • 5. korak: Odprite upravitelja naprav in preverite, na katera vrata COM je priključen vaš ESP32.

      espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-14

  • Ko uporabljate espBerry, poiščite most Silicon Labs CP210x USB to UART. V naši nastavitvi prikazuje COM4. Vrnite se v Arduino IDE in pod Orodja -> Vrata izberite vrata, na katera je povezan vaš ESP.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-15

  • Če ste začetnik z Arduino IDE, si oglejte Uporaba programske opreme Arduino (IDE).

Programiranje vrat SPI

  • Naslednje predstavlja le kratek pregledview programiranja SPI. Programiranje SPI ni enostavno, a vedno, ko se lotimo novega projekta, iščemo kodo na spletu (npr. github.com).
  • Na primer, za programiranje krmilnika MCP2515 CAN uporabljamo modificirano različico knjižnice MCP_CAN za Arduino Coryja Fowlerja, kar pomeni, da uporabljamo njegovo znanje in trud za naš projekt.
  • Kljub temu je vredno porabiti čas za razumevanje programiranja SPI na osnovni ravni. Na primer, espBerry ima signale SPI preslikane, kot je prikazano tukaj:

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-16

  • Te nastavitve je treba uporabiti v kodi aplikacije. Če želite izvedeti več o programiranju SPI z ESP32, si oglejte naslednje vire:

Programiranje serijskih vrat (UART).

  • Na espBerryju smo IO15 dodelili kot Rx in IO16 kot Tx, ki sta povezana na GPIO16 in GPIO20 na 40-pinski glavi.
  • Odločili smo se, da ne bomo uporabljali standardnih signalov RX/TX (GPIO3/GPIO1) na ESP32 DevKit, saj se pogosto uporabljajo za testne natise prek serijskega monitorja Arduino IDE. To lahko moti komunikacijo med ESP32 in RPi HAT. Namesto tega morate preslikati IO16 kot Rx in IO15 kot Tx glede na programsko opremo.

    espBerry-ESP32-Razvojna-plošča-z-Raspberry-Pi-GPIO-FIG-17

  • Zgornja koda predstavlja aplikacijo nprample z uporabo Serial1.
  • Ko delate z ESP32 pod Arduino IDE, boste opazili, da ukaz Serial deluje dobro, Serial1 in Serial2 pa ne. ESP32 ima tri serijska vrata za strojno opremo, ki jih je mogoče preslikati na skoraj vsak pin. Če želite, da Serial1 in Serial2 delujeta, morate vključiti razred HardwareSerial. Kot referenco glej ESP32, Arduino in 3 serijska vrata strojne opreme.
  • Oglejte si tudi našo objavo Projekt espBerry: ESP32 s čipom CH9102F USB-UART za serijsko hitrost do 3 Mbit/s.

O PODJETJU

Dokumenti / Viri

Razvojna plošča espBerry ESP32 z Raspberry Pi GPIO [pdfUporabniški priročnik
Razvojna plošča ESP32 z Raspberry Pi GPIO, ESP32, Razvojna plošča z Raspberry Pi GPIO, Plošča z Raspberry Pi GPIO, Raspberry Pi GPIO

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *