espBerry-LOGO

espBerry ESP32 razvojna ploča sa Raspberry Pi GPIO

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

INFORMACIJE O PROIZVODU

Specifikacije

  • Izvor napajanja: Više izvora
  • GPIO: Kompatibilan sa Raspberry Pi 40-pinskim GPIO headerom
  • Bežične mogućnosti: Da
  • Programiranje: Arduino IDE

Gotovoview

EspBerry DevBoard kombinuje ESP32DevKitC razvojnu ploču sa bilo kojim Raspberry Pi HAT-om tako što se povezuje na ugrađeno RPi kompatibilno 40-pinsko GPIO zaglavlje. Nije zamišljeno da bude Raspberry Pi alternativa, već proširenje funkcionalnosti ESP32 korištenjem širokog spektra RPi HAT-ova dostupnih na tržištu.

Hardver

Konektor za izvor napajanja
EspBerry se može napajati iz različitih izvora. Molimo pogledajte korisnički priručnik za detaljne informacije o dostupnim izvorima napajanja.

espBerry Schematics
EspBerry je dizajniran da mapira što više signala (GPIO, SPI, UART, itd.). Međutim, možda neće pokrivati ​​sve HAT-ove dostupne na tržištu. Za prilagođavanje i razvoj vlastitog HAT-a, pogledajte espBerryjevu šemu. Možete preuzeti kompletnu espBerry šemu (PDF) ovdje.

ESP32 DevKit Pinout
ESP32 DevKit pinout pruža vizuelni prikaz konfiguracije pinova ploče. Za punu view pinout slike, kliknite ovdje.

Raspberry Pi 40-pinski GPIO Header
Raspberry Pi ima niz GPIO pinova duž gornje ivice ploče. EspBerry je kompatibilan sa 40-pinskim GPIO zaglavljem koji se nalazi na svim trenutnim Raspberry Pi pločama. Imajte na umu da GPIO zaglavlje nije popunjeno na Raspberry Pi Zero, Raspberry Pi Zero W i Raspberry Pi Zero 2 W. Prije Raspberry Pi 1 Model B+, ploče su imale kraće zaglavlje od 26 pinova. GPIO zaglavlje ima 0.1 (2.54 mm) razmak pinova.

Veza sa SPI portom
SPI port na espBerryju omogućava serijsku full-duplex i sinhronu komunikaciju. Koristi taktni signal za prijenos i primanje podataka između centralne kontrole (master) i više perifernih uređaja (slave). Za razliku od UART komunikacije, koja je asinhrona, signal sata sinhronizuje prijenos podataka.

FAQ

  • Mogu li koristiti bilo koji Raspberry Pi HAT sa espBerryjem?
    EspBerry je dizajniran da bude kompatibilan sa bilo kojim Raspberry Pi HAT-om povezivanjem na ugrađeni 40-pinski GPIO header. Međutim, možda neće pokrivati ​​sve HAT-ove dostupne na tržištu. Molimo pogledajte šemu espBerryja za više informacija.
  • Koji programski jezik mogu koristiti sa espBerry?
    EspBerry podržava programiranje koristeći popularni Arduino IDE, koji nudi odlične mogućnosti programiranja.
  • Gdje mogu pronaći dodatne informacije i resurse?
    Iako ovaj korisnički priručnik pruža detaljne informacije, također možete istražiti postove i članke na mreži za dodatne resurse. Ako trebate dodatne informacije ili imate prijedloge, slobodno nas kontaktirajte.

Gotovoview

  • EspBerry DevBoard kombinuje Razvoj ESP32-DevKitC ploču sa bilo kojim Raspberry Pi HAT-om povezivanjem na ugrađeno RPi kompatibilno 40-pinsko GPIO zaglavlje.
  • Svrha espBerryja ne bi se trebala doživljavati kao Raspberry Pi alternativa, već kao proširenje funkcionalnosti ESP32 korištenjem ogromne ponude RPi HAT-ova na tržištu i korištenjem prednostitage od višestrukih i fleksibilnih hardverskih opcija.
  • EspBerry je savršeno rješenje za izradu prototipa i Internet of Things (IoT) aplikacija, posebno onih koje zahtijevaju bežične mogućnosti. Sav open source kod samples take advantage popularnog Arduino IDE sa svojim odličnim mogućnostima programiranja.
  • U nastavku ćemo objasniti hardverske i softverske karakteristike, uključujući sve detalje koje trebate znati da dodate Raspberry HAT po svom izboru. Osim toga, obezbijedićemo kolekciju hardvera i softvera samples to demonstrira mogućnosti espBerryja.
  • Međutim, mi ćemo se suzdržati od ponavljanja informacija koje su već dostupne putem drugih izvora, tj. online postova i članaka. Gdje god smatramo da su potrebne dodatne informacije, dodaćemo vam reference za učenje.
    Napomena: Trudimo se da dokumentujemo svaki detalj koji bi našim kupcima mogao biti važan. Međutim, dokumentacija zahtijeva vrijeme, a mi nismo uvijek savršeni. Ako su vam potrebne dodatne informacije ili imate prijedloge, slobodno kontaktirajte nas.

espBerry karakteristike

  • procesor: ESP32 DevKitC
    • 32-bitni Xtensa dual-core @240 MHz
    • WiFi IEEE 802.11 b/g/n 2.4 GHz
    • Bluetooth 4.2 BR/EDR i BLE
    • 520 kB SRAM (16 kB za keš memoriju)
    • 448 kB ROM
    • Programabilno po USB A/mikro-USB B kablu
  • Raspberry Pi kompatibilan 40-pinski GPIO header
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Ulazna snaga: 5 VDC
    • Zaštita od obrnutog polariteta
    • Overvoltage Zaštita
    • Priključak za napajanje cijevi 2.00 mm ID (0.079”), 5.50 mm vanjski (0.217”)
    • Dostupne su 12/24 VDC opcije
  • Radni opseg: -40°C ~ 85°C
    Napomena: Većina RPi HAT-ova radi na 0°C ~ 50°C
  • Dimenzije: 95 mm x 56 mm – 3.75″ x 2.2″
    U skladu sa Standardne Raspberry Pi HAT mehaničke specifikacije...

Hardver

  • Generalno, espBerry razvojna ploča kombinuje ESP32-DevKitC modul sa bilo kojim Raspberry Pi HAT-om tako što se povezuje na ugrađeno RPi kompatibilno 40-pinsko GPIO zaglavlje.
  • Najčešće korišćene veze između ESP32 i RPi HAT-a su SPI i UART port kao što je objašnjeno u narednim poglavljima. Također smo mapirali nekoliko GPIO (General Purpose Input Output) signala. Za detaljnije informacije o mapiranju, pogledajte šemu.
  • Trudimo se da obezbedimo dobru dokumentaciju. Međutim, imajte na umu da ne možemo objasniti sve detalje ESP32 u ovom korisničkom priručniku. Za detaljnije informacije pogledajte na ESP32-DevKitC V4 Vodič za početak.

espBerry Board Components

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

Konektor za izvor napajanja

  • EspBerry se može napajati preko nekoliko izvora:
    • Micro-USB konektor na ESP32 DevKitC modulu
    • 5 VDC priključak 2.0 mm
    • 5 VDC terminalni blok
    • Eksterno napajanje povezano na RPi HAT
  • Postoje Raspberry Pi HAT-ovi koji omogućavaju napajanje eksternog napajanja (npr. 12 VDC) direktno na HAT. Kada napajate espBerry putem ovog vanjskog izvora napajanja, trebate postaviti kratkospojnik na biraču izvora napajanja na “EXT”. U suprotnom, mora se postaviti na “On Board”.
  • Moguće je interno napajati espBerry (“On Board”) dok je napajanje još uvijek primijenjeno na HAT.

espBerry Schematics 

  • EspBerry je dizajniran da mapira što više signala (GPIO, SPI, UART, itd.). Međutim, to ne znači nužno da espBerry pokriva sve HAT-ove dostupne na tržištu. Vaš krajnji izvor za adaptacije i razvoj vlastitog HAT-a mora biti espBerry-jeva shema.

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

  • Kliknite ovdje da preuzmete punu espBerry shemu (PDF).
  • Osim toga, dodali smo ESP32 DevKitC i Raspberry Pi 40-pinski GPIO zaglavlje u sljedećim poglavljima.

Pinout ESP32 DevKit
Za punu view gornje slike, kliknite ovdje.

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

Raspberry Pi 40-pinski GPIO Header

  • Moćna karakteristika Raspberry Pi je niz GPIO (unos/izlaz opšte namene) pinova duž gornje ivice ploče. 40-pinski GPIO header se nalazi na svim trenutnim Raspberry Pi pločama (nepopunjen na Raspberry Pi Zero, Raspberry Pi Zero W i Raspberry Pi Zero 2 W). Prije Raspberry Pi 1 Model B+ (2014), ploče su se sastojale od kraćeg 26-pinskog zaglavlja. GPIO zaglavlje na svim pločama (uključujući Raspberry Pi 400) ima 0.1″ (2.54 mm) razmak pinova.

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

  • Za više informacija, pogledajte Raspberry Pi hardver – GPIO i 40-pin Header.
  • Za više informacija o Raspberry Pi šeširima, pogledajte Dodatne ploče i šeširi.

Veza sa SPI portom

  • SPI je skraćenica za Serial Peripheral Interface, serijski full-duplex i sinhroni interfejs. Sinhroni interfejs zahtijeva signal takta za prijenos i primanje podataka. Signal sata je sinhronizovan između jedne centralne kontrole (“master”) i više perifernih uređaja (“slave”). Za razliku od UART komunikacije, koja je asinhrona, signal sata kontrolira kada podaci trebaju biti poslati i kada bi trebali biti spremni za čitanje.
  • Samo glavni uređaj može kontrolirati sat i dati signal sata svim slave uređajima. Podaci se ne mogu prenijeti bez signala sata. I master i slave mogu međusobno razmjenjivati ​​podatke. Nije potrebno dekodiranje adrese.
  • ESP32 ima četiri SPI magistrale, ali samo dvije su dostupne za upotrebu, a poznate su kao HSPI i VSPI. Kao što je ranije spomenuto, u SPI komunikaciji uvijek postoji jedan kontroler (također poznat kao master) koji kontrolira druge periferne uređaje (također poznate kao slave). Možete konfigurirati ESP32 kao master ili slave.

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

  • Na espBerryju, signali dodijeljeni zadanim IO-ovima:

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

  • Slika ispod prikazuje SPI signale od ESP32 modula do RPi GPIO zaglavlja kao izvod iz šeme.

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

  • Dostupne su mnoge vrste ESP32 ploča. Ploče koje nisu espBerry mogu imati različite zadane SPI pinove, ali informacije o zadanim pinovima možete pronaći u njihovoj tablici sa podacima. Ali ako zadani pinovi nisu spomenuti, možete ih pronaći pomoću Arduino skice (koristite prvu vezu ispod).
  • Za više informacija pogledajte:
  • EspBerry koristi VSPI vezu kao zadanu, što znači da ako koristite zadane signale, ne biste trebali naići na probleme. Postoje načini za promjenu dodjele pinova i prebacivanje na HSPI (kao što je objašnjeno u gornjim referencama), ali nismo istražili ove scenarije za espBerry.
  • Pogledajte i naš odjeljak o programiranju SPI portova.

Veza za serijski (UART) port

  • Pored ugrađenog USB porta, razvojni modul ESP32 ima tri UART interfejsa, odnosno UART0, UART1 i UART2, koji obezbeđuju asinhronu komunikaciju brzinom do 5 Mbps. Ovi serijski portovi se mogu mapirati na gotovo svaki pin. Na espBerryju smo dodijelili IO15 kao Rx i IO16 kao Tx, koji su povezani na GPIO16 i GPIO20 na 40-pinskom zaglavlju kao što je prikazano ovdje:

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

  • Odlučili smo da ne koristimo standardne RX/TX (GPIO3/GPIO1) signale na ESP32 DevKit-u, jer se oni često koriste za probne ispise preko serijskog monitora Arduino IDE. Ovo može ometati komunikaciju između ESP32 i RPi HAT-a. Umjesto toga, morate mapirati IO16 kao Rx i IO15 kao Tx po softveru kao što je objašnjeno u odjeljku Softver ovog priručnika.
  • Pogledajte i naš odjeljak o serijskom (UART) programiranju.

Softver

  • U nastavku ćemo ukratko objasniti najvažnije aspekte programiranja za espBerry. Kao što je već spomenuto u ovom korisničkom priručniku, dodaćemo online reference tamo gdje smatramo da su potrebne dodatne informacije.
  • Za više, praktični projekti samples, pogledajte i naše Savjeti za programiranje ESP32.
  • Osim toga, postoji mnogo examples of ESP32 programska literatura, koji su vrijedni ulaganja.
  • Međutim, toplo preporučujemo korištenje Elektronski projekti sa ESP8266 i ESP32, posebno za vaše projekte bežičnih aplikacija. Da, danas je dostupno mnogo dobrih knjiga i besplatnih onlajn resursa, ali ovo je knjiga koju koristimo. To je učinilo naš pristup Bluetooth, BLE i WIFI lakšim. Programiranje bežičnih aplikacija bez problema bilo je zabavno, a mi ih dijelimo na našoj web site.

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

Instalacija i priprema Arduino IDE

  • Svi naši programi sampLesovi su razvijeni pomoću Arduino IDE (Integrirano razvojno okruženje) zbog njegove lakoće instalacije i korištenja. Nadalje, postoji bezbroj Arduino skica dostupnih na mreži za ESP32.
  • Za instalaciju slijedite ove korake:
    • Korak 1: Prvi korak bi bio preuzimanje i instaliranje Arduino IDE. To se može lako uraditi tako što ćete pratiti vezu https://www.arduino.cc/en/Main/Software i besplatno preuzeti IDE. Ako ga već imate, provjerite imate li najnoviju verziju.
    • Korak 2: Nakon instalacije, otvorite Arduino IDE i idite na Files -> Preferences da otvorite prozor postavki i locirate “Additional Boards Manager URLs:” kao što je prikazano ispod:

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

      • Tekstualni okvir može biti prazan ili već sadrži neki drugi URL ako ste ga ranije koristili za drugu ploču. Ako je prazan, jednostavno zalijepite donje URL u okvir za tekst.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Ako tekstualni okvir već sadrži neki drugi URL samo dodajte ovo URL za to, odvojite oba zarezom (,). Naši su već imali Teensy URL. Upravo smo ušli u URL i dodao zarez.
      • Kada završite, kliknite na OK i prozor će nestati.
    • Korak 3: Idite na Tools -> Boards -> Board Manager da otvorite prozor Board manager i potražite ESP32. Ako je URL je ispravno zalijepljen vaš prozor bi trebao pronaći donji ekran sa dugmetom Instaliraj, samo kliknite na dugme Instaliraj i vaša ploča bi trebala biti instalirana.

      espBerry-ESP32-Razvojna-ploča-sa-Raspberry-Pi-GPIO-FIG-12
      Gornji snimak ekrana prikazuje ESP32 nakon što je instaliran.

    • Korak 4: Prije nego što započnete programiranje, morate podesiti odabir odgovarajućeg ESP32 hardvera (postoji više opcija). Idite na Alati -> Ploče i odaberite ESP32 Dev Module kao što je prikazano ovdje:

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

    • Korak 5: Otvorite upravitelj uređaja i provjerite na koji je COM port povezan vaš ESP32.

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

  • Kada koristite espBerry, potražite Silicon Labs CP210x USB na UART Bridge. U našem podešavanju prikazuje COM4. Vratite se na Arduino IDE i pod Alati -> Port odaberite Port na koji je povezan vaš ESP.

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

  • Ako ste početnik sa Arduino IDE, pogledajte Korištenje Arduino softvera (IDE).

Programiranje SPI portova

  • Sljedeće predstavlja samo kratak završetakview SPI programiranja. SPI programiranje nije lako, ali kad god započnemo novi projekat, tražimo kod na mreži (npr. github.com).
  • Na primjer, za programiranje MCP2515 CAN kontrolera, koristimo modificiranu verziju MCP_CAN biblioteke za Arduino od Coryja Fowlera, odnosno koristimo njegovo znanje i trud za naš projekat.
  • Ipak, vrijedi potrošiti vrijeme na razumijevanje SPI programiranja na osnovnom nivou. Na primjer, espBerry ima SPI signale mapirane kao što je prikazano ovdje:

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

  • Ove postavke moraju biti primijenjene u kodu aplikacije. Molimo pogledajte sljedeće resurse da saznate više o SPI programiranju sa ESP32:

Programiranje serijskog porta (UART).

  • Na espBerryju smo dodijelili IO15 kao Rx i IO16 kao Tx, koji su povezani na GPIO16 i GPIO20 na 40-pinskom zaglavlju.
  • Odlučili smo da ne koristimo standardne RX/TX (GPIO3/GPIO1) signale na ESP32 DevKit-u, jer se oni često koriste za probne ispise preko serijskog monitora Arduino IDE. Ovo može ometati komunikaciju između ESP32 i RPi HAT-a. Umjesto toga, morate mapirati IO16 kao Rx i IO15 kao Tx po softveru.

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

  • Gornji kod predstavlja aplikaciju nprample koristeći Serial1.
  • Kada radite sa ESP32 pod Arduino IDE, primijetit ćete da naredba Serial radi sasvim dobro, ali Serial1 i Serial2 ne. ESP32 ima tri hardverska serijska porta koji se mogu mapirati na gotovo svaki pin. Da bi Serial1 i Serial2 radili, morate uključiti klasu HardwareSerial. Kao referenca, vidi ESP32, Arduino i 3 hardverska serijska porta.
  • Pogledajte i naš post espBerry Project: ESP32 sa CH9102F USB-UART čipom za serijsku brzinu do 3Mbit/s.

O KOMPANIJI

Dokumenti / Resursi

espBerry ESP32 razvojna ploča sa Raspberry Pi GPIO [pdf] Korisnički priručnik
ESP32 razvojna ploča sa Raspberry Pi GPIO, ESP32, razvojna ploča sa Raspberry Pi GPIO, ploča sa Raspberry Pi GPIO, Raspberry Pi GPIO

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *