espBerry-LOGO

espBerry ESP32 Development Board med Raspberry Pi GPIO

espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-1

PRODUKTINFORMASJON

Spesifikasjoner

  • Strømkilde: Flere kilder
  • GPIO: Kompatibel med Raspberry Pi 40-pinners GPIO header
  • Trådløse muligheter: Ja
  • Programmering: Arduino IDE

Overview

espBerry DevBoard kombinerer ESP32DevKitC-utviklingskortet med en hvilken som helst Raspberry Pi-HAT ved å koble til den innebygde RPi-kompatible 40-pinners GPIO-headeren. Det er ikke ment å være et Raspberry Pi-alternativ, men snarere en utvidelse av ESP32s funksjonalitet ved å utnytte det brede utvalget av RPi-HAT-er som er tilgjengelig på markedet.

Maskinvare

Strømkildekontakt
espBerry kan drives gjennom ulike kilder. Se brukerhåndboken for detaljert informasjon om tilgjengelige strømkilder.

espBerry-skjemaer
espBerry ble designet for å kartlegge så mange signaler (GPIO, SPI, UART, etc.) som mulig. Imidlertid dekker det kanskje ikke alle HAT-er som er tilgjengelige på markedet. For å tilpasse og utvikle din egen HAT, se espBerrys skjema. Du kan laste ned hele espBerry-skjemaet (PDF) her.

ESP32 DevKit Pinout
ESP32 DevKit pinout gir en visuell representasjon av brettets pin-konfigurasjon. For en full view av pinout-bildet, klikk her.

Raspberry Pi 40-pinners GPIO Header
Raspberry Pi har en rad med GPIO-pinner langs den øvre kanten av brettet. espBerry er kompatibel med 40-pinners GPIO header som finnes på alle gjeldende Raspberry Pi-kort. Vær oppmerksom på at GPIO-headeren ikke er befolket på Raspberry Pi Zero, Raspberry Pi Zero W og Raspberry Pi Zero 2 W. Før Raspberry Pi 1 Model B+ hadde brettene en kortere 26-pinners header. GPIO-headeren har en pinnedeling på 0.1 (2.54 mm).

SPI-porttilkobling
SPI-porten på espBerry tillater seriell full-dupleks og synkron kommunikasjon. Den bruker et klokkesignal for å overføre og motta data mellom en sentral kontroll (master) og flere perifere enheter (slaver). I motsetning til UART-kommunikasjon, som er asynkron, synkroniserer klokkesignalet dataoverføring.

FAQ

  • Kan jeg bruke hvilken som helst Raspberry Pi HAT med espBerry?
    espBerry er designet for å være kompatibel med enhver Raspberry Pi HAT ved å koble til den innebygde 40-pinners GPIO-headeren. Imidlertid dekker det kanskje ikke alle HAT-er som er tilgjengelige på markedet. Vennligst se espBerrys skjema for mer informasjon.
  • Hvilket programmeringsspråk kan jeg bruke med espBerry?
    espBerry støtter programmering ved å bruke den populære Arduino IDE, som tilbyr utmerkede programmeringsmuligheter.
  • Hvor kan jeg finne tilleggsinformasjon og ressurser?
    Selv om denne brukerhåndboken gir detaljert informasjon, kan du også utforske online innlegg og artikler for ytterligere ressurser. Trenger du mer informasjon eller har forslag, ta gjerne kontakt med oss.

Overview

  • espBerry DevBoard kombinerer ESP32-DevKitC utvikling bord med en hvilken som helst Raspberry Pi HAT ved å koble til den innebygde RPi-kompatible 40-pinners GPIO-headeren.
  • Hensikten med espBerry skal ikke oppfattes som et Raspberry Pi-alternativ, men som å utvide ESP32s funksjonalitet ved å benytte seg av det store tilbudet av RPi-HAT-er på markedet og ta fordeltage av de mange og fleksible maskinvarealternativene.
  • espBerry er den perfekte løsningen for prototyping og Internet of Things (IoT)-applikasjoner, spesielt de som krever trådløse funksjoner. All åpen kildekode samples ta advantage av den populære Arduino IDE med sine utmerkede programmeringsevner.
  • I det følgende vil vi forklare maskinvare- og programvarefunksjonene, inkludert alle detaljer du trenger å vite for å legge til Raspberry HAT etter eget valg. I tillegg vil vi tilby en samling av maskinvare og programvareamples for å demonstrere espBerrys evner.
  • Vi vil imidlertid avstå fra å gjenta informasjon som allerede er tilgjengelig gjennom andre ressurser, dvs. nettinnlegg og artikler. Der vi anser at tilleggsinformasjon er nødvendig, vil vi legge til referanser som du kan studere.
    Note: Vi prøver veldig hardt å dokumentere hver detalj som kan være viktig for kundene våre å vite. Dokumentasjon tar imidlertid tid, og vi er ikke alltid perfekte. Hvis du trenger mer informasjon eller har forslag, kan du gjerne kontakt oss.

espBerry-funksjoner

  • Prosessor: ESP32 DevKitC
    • 32-biters Xtensa dual-core @240 MHz
    • WiFi IEEE 802.11 b / g / n 2.4 GHz
    • Bluetooth 4.2 BR/EDR og BLE
    • 520 kB SRAM (16 kB for cache)
    • 448 kB ROM
    • Programmerbar per USB A/micro–USB B-kabel
  • Raspberry Pi-kompatibel 40-pinners GPIO-header
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Inngangseffekt: 5 VDC
    • Beskyttelse mot omvendt polaritet
    • Overvoltage Beskyttelse
    • Power Barrel Connector Jack 2.00 mm ID (0.079 ʺ), 5.50 mm OD (0.217 ʺ)
    • 12/24 VDC alternativer tilgjengelig
  • Driftsområde: -40°C ~ 85°C
    Note: De fleste RPi-HAT-er fungerer ved 0°C ~ 50°C
  • Dimensjoner: 95 mm x 56 mm – 3.75” x 2.2”
    Overholder til Standard Raspberry Pi HAT mekaniske spesifikasjoner

Maskinvare

  • Generelt sett kombinerer espBerry-utviklingskortet ESP32-DevKitC-modulen med en hvilken som helst Raspberry Pi-HAT ved å koble til den innebygde RPi-kompatible 40-pinners GPIO-headeren.
  • De mest brukte forbindelsene mellom ESP32 og RPi HAT er SPI og UART-porten som forklart i de følgende kapitlene. Vi har også kartlagt flere GPIO-signaler (General Purpose Input Output). For mer detaljert informasjon om kartleggingen, se skjemaet.
  • Vi prøver veldig hardt å gi god dokumentasjon. Vær imidlertid oppmerksom på at vi ikke kan forklare alle ESP32-detaljer i denne brukerhåndboken. For mer detaljert informasjon, se ESP32-DevKitC V4 Startveiledning.

espBerry Board-komponenter

espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-2

Strømkildekontakt

  • espBerry kan drives gjennom flere kilder:
    • Mikro-USB-kontakten på ESP32 DevKitC-modulen
    • 5 VDC-kontakten 2.0 mm
    • 5 VDC-terminalblokken
    • Ekstern strømforsyning koblet til RPi HAT
  • Det finnes Raspberry Pi-HAT-er som gjør det mulig å levere ekstern strøm (f.eks. 12 VDC) direkte til HAT-en. Når du forsyner espBerry med denne eksterne strømforsyningen, må du sette jumperen ved strømkildevelgeren til "EXT". Ellers må den settes til «Ombord».
  • Det er mulig å drive espBerry internt (“On Board”) mens det fortsatt er strøm på HAT.

espBerry-skjemaer 

  • espBerry ble designet for å kartlegge så mange signaler (GPIO, SPI, UART, etc.) som mulig. Det betyr imidlertid ikke nødvendigvis at espBerry dekker alle HAT-er som er tilgjengelige på markedet. Din ultimate kilde for tilpasninger og utvikling av din egen HAT må være espBerrys skjema.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-3

  • Klikk her for å laste ned hele espBerry-skjemaet (PDF).
  • I tillegg har vi lagt til ESP32 DevKitC og Raspberry Pi 40-pinners GPIO header pinout i de følgende kapitlene.

ESP32 DevKit pinout
For en full view av bildet ovenfor, klikk her.

espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-4

Raspberry Pi 40-pinners GPIO Header

  • En kraftig funksjon ved Raspberry Pi er raden med GPIO-pinner (generell bruk av inngang/utgang) langs toppkanten av brettet. En 40-pinners GPIO-header finnes på alle gjeldende Raspberry Pi-kort (ubefolket på Raspberry Pi Zero, Raspberry Pi Zero W og Raspberry Pi Zero 2 W). Før Raspberry Pi 1 Model B+ (2014) besto brettene av en kortere 26-pinners topp. GPIO-overskriften på alle kort (inkludert Raspberry Pi 400) har en 0.1" (2.54 mm) pinnedeling.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-5

  • For mer informasjon, se Raspberry Pi-maskinvare – GPIO og 40-pinners header.
  • For mer informasjon om Raspberry Pi-HAT-er, se Tilleggstavler og HAT-er.

SPI-porttilkobling

  • SPI står for Serial Peripheral Interface, et seriell full-dupleks og synkront grensesnitt. Det synkrone grensesnittet krever et klokkesignal for å overføre og motta data. Klokkesignalet er synkronisert mellom én sentral kontroll ("master") og flere perifere enheter ("slaver"). I motsetning til UART-kommunikasjon, som er asynkron, styrer klokkesignalet når data skal sendes og når det skal være klart til å leses.
  • Bare en masterenhet kan kontrollere klokken og gi et klokkesignal til alle slaveenheter. Data kan ikke overføres uten et klokkesignal. Både master og slave kan utveksle data med hverandre. Ingen adressedekoding er nødvendig.
  • ESP32 har fire SPI-busser, men bare to er tilgjengelige for bruk, og de er kjent som HSPI og VSPI. Som nevnt tidligere, i SPI-kommunikasjon er det alltid én kontroller (også kjent som en master) som kontrollerer andre perifere enheter (også kjent som slaver). Du kan konfigurere ESP32 enten som en master eller slave.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-6

  • På espBerry, signalene som er tilordnet standard IO-er:

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-7

  • Bildet nedenfor viser SPI-signalene fra ESP32-modulen til RPi GPIO-headeren som et utdrag fra skjemaet.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-8

  • Det finnes mange typer ESP32-kort tilgjengelig. Andre tavler enn espBerry kan ha andre standard SPI-pinner, men du kan finne informasjon om standardpinner fra dataarket deres. Men hvis standardpinner ikke er nevnt, kan du finne dem ved å bruke en Arduino-skisse (bruk første lenke nedenfor).
  • For mer informasjon, se:
  • espBerry bruker VSPI-tilkoblingen som standard, noe som betyr at hvis du går med standardsignalene, bør du ikke få problemer. Det er måter å endre pin-tilordningen og bytte til HSPI (som forklart i referansene ovenfor), men vi har ikke utforsket disse scenariene for espBerry.
  • Se også vår del om SPI-portprogrammering.

Seriell (UART) porttilkobling

  • Foruten den innebygde USB-porten, har ESP32-utviklingsmodulen tre UART-grensesnitt, dvs. UART0, UART1 og UART2, som gir asynkron kommunikasjon med en hastighet på opptil 5 Mbps. Disse serielle portene kan tilordnes nesten hvilken som helst pinne. På espBerry tildelte vi IO15 som Rx og IO16 som Tx, som er koblet til GPIO16 og GPIO20 på 40-pinners header som vist her:

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-9

  • Vi har valgt å ikke bruke standard RX/TX (GPIO3/GPIO1)-signaler på ESP32 DevKit, siden de ofte brukes til testutskrifter gjennom Serial Monitor til Arduino IDE. Dette kan forstyrre kommunikasjonen mellom ESP32 og RPi HAT. I stedet må du kartlegge IO16 som Rx og IO15 som Tx per programvare som forklart i programvaredelen i denne håndboken.
  • Se også vår del om seriell (UART) programmering.

Programvare

  • I det følgende vil vi kort forklare de viktigste programmeringsaspektene for espBerry. Som nevnt tidligere i denne brukerhåndboken, vil vi legge til nettbaserte referanser der vi anser at tilleggsinformasjon er nødvendig.
  • For mer, praktiske prosjekteramples, se også vår ESP32 programmeringstips.
  • I tillegg er det mange eksamples av ESP32 programmeringslitteratur, som er verdt investeringen.
  • Vi anbefaler imidlertid på det sterkeste å bruke Elektroniske prosjekter med ESP8266 og ESP32, spesielt for dine trådløse applikasjonsprosjekter. Ja, mange gode bøker og gratis nettressurser er tilgjengelig i disse dager, men dette er boken vi bruker. Det gjorde vår tilnærming til Bluetooth, BLE og WIFI til en lek. Det var gøy å programmere trådløse applikasjoner uten problemer, og vi deler dem på vår web nettstedet.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-10

Installere og klargjøre Arduino IDE

  • All vår programmeringamples har blitt utviklet ved hjelp av Arduino IDE (Integrated Development Environment) på grunn av dens enkle installasjon og bruk. Videre er det et mylder av Arduino-skisser tilgjengelig online for ESP32.
  • Følg disse trinnene for installasjonen:
    • Trinn 1: Det første trinnet ville være å laste ned og installere Arduino IDE. Dette kan enkelt gjøres ved å følge lenken https://www.arduino.cc/en/Main/Software og laste ned IDE gratis. Hvis du allerede har en, sørg for at du har den nyeste versjonen.
    • Trinn 2: Når den er installert, åpner du Arduino IDE og går til Files -> Preferences for å åpne preferansevinduet og finne "Additional Boards Manager URLs:" som vist nedenfor:

      espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-11

      • Tekstboksen kan være tom eller allerede inneholde noe annet URL hvis du har brukt det tidligere til et annet brett. Hvis den er tom, limer du bare inn nedenstående URL inn i tekstboksen.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Hvis tekstboksen allerede inneholder noe annet URL bare legg til dette URL til den, skille begge med komma (,). Vår hadde allerede Teensy URL. Vi har nettopp gått inn i URL og la til kommaet.
      • Når du er ferdig, klikker du på OK og vinduet forsvinner.
    • Trinn 3: Gå til Verktøy -> Styrer -> Styreledere for å åpne styreledervinduet og søk etter ESP32. Hvis URL ble limt inn riktig vinduet ditt skal finne skjermen nedenfor med Installer-knappen, klikk bare på Installer-knappen og brettet ditt skal bli installert.

      espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-12
      Skjermbildet ovenfor viser ESP32 etter at den ble installert.

    • Trinn 4: Før du begynner å programmere, må du velge riktig ESP32-maskinvare (det er flere alternativer). Naviger til Verktøy -> Boards og velg ESP32 Dev Module som vist her:

      espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-13

    • Trinn 5: Åpne enhetsbehandlingen og sjekk hvilken COM-port din ESP32 er koblet til.

      espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-14

  • Når du bruker espBerry, se etter Silicon Labs CP210x USB til UART Bridge. I vårt oppsett viser den COM4. Gå tilbake til Arduino IDE og under Verktøy -> Port, velg porten som din ESP er koblet til.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-15

  • Hvis du er en nybegynner med Arduino IDE, vennligst se Bruke Arduino-programvaren (IDE).

SPI-portprogrammering

  • Det følgende representerer bare en kort sluttview av SPI-programmering. SPI-programmering er ikke lett, men hver gang vi starter et nytt prosjekt, ser vi etter kode på nettet (f.eks. github.com).
  • For å programmere MCP2515 CAN-kontrolleren bruker vi for eksempel en modifisert versjon av MCP_CAN Library for Arduino av Cory Fowler, dvs. vi bruker hans kunnskap og innsats for prosjektet vårt.
  • Likevel er det verdt å bruke tid på å forstå SPI-programmering på et grunnleggende nivå. For eksempel har espBerry SPI-signalene kartlagt som vist her:

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-16

  • Disse innstillingene må brukes i programmets kode. Se følgende ressurser for å lære mer om SPI-programmering med ESP32:

Programmering av seriell port (UART).

  • På espBerry tildelte vi IO15 som Rx og IO16 som Tx, som er koblet til GPIO16 og GPIO20 på 40-pinners header.
  • Vi har valgt å ikke bruke standard RX/TX (GPIO3/GPIO1)-signaler på ESP32 DevKit, siden de ofte brukes til testutskrifter gjennom Serial Monitor til Arduino IDE. Dette kan forstyrre kommunikasjonen mellom ESP32 og RPi HAT. I stedet må du kartlegge IO16 som Rx og IO15 som Tx per programvare.

    espBerry-ESP32-Development Board-with-Raspberry-Pi-GPIO-FIG-17

  • Koden ovenfor representerer en applikasjon f.eksample bruker Serial1.
  • Når du arbeider med ESP32 under Arduino IDE, vil du legge merke til at Serial-kommandoen fungerer helt fint, men Serial1 og Serial2 gjør det ikke. ESP32 har tre maskinvareserieporter som kan tilordnes til nesten hvilken som helst pinne. For å få Serial1 og Serial2 til å fungere, må du involvere HardwareSerial-klassen. Som referanse, se ESP32, Arduino og 3 maskinvareserieporter.
  • Se også vårt innlegg espBerry Project: ESP32 med CH9102F USB-UART-brikke for seriell hastighet på opptil 3Mbit/s.

OM SELSKAP

Dokumenter / Ressurser

espBerry ESP32 Development Board med Raspberry Pi GPIO [pdfBrukerhåndbok
ESP32 Development Board med Raspberry Pi GPIO, ESP32, Development Board med Raspberry Pi GPIO, Board med Raspberry Pi GPIO, Raspberry Pi GPIO

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *