espBerry-LOGO

Vývojová deska espBerry ESP32 s Raspberry Pi GPIO

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

INFORMACE O PRODUKTU

Specifikace

  • Zdroj napájení: Více zdrojů
  • GPIO: Kompatibilní s Raspberry Pi 40pinovým GPIO headerem
  • Bezdrátové možnosti: Ano
  • Programování: Arduino IDE

Nadview

espBerry DevBoard kombinuje vývojovou desku ESP32DevKitC s jakýmkoli Raspberry Pi HAT připojením k integrovanému RPi kompatibilnímu 40pinovému GPIO headeru. Nemá to být alternativa Raspberry Pi, ale spíše rozšíření funkčnosti ESP32 využitím široké škály RPi HAT dostupných na trhu.

Železářské zboží

Konektor napájecího zdroje
Zařízení espBerry lze napájet z různých zdrojů. Podrobné informace o dostupných zdrojích napájení naleznete v uživatelské příručce.

schémata espBerry
espBerry bylo navrženo tak, aby mapovalo co nejvíce signálů (GPIO, SPI, UART atd.). Nemusí však pokrývat všechny HAT dostupné na trhu. Chcete-li přizpůsobit a vyvinout svůj vlastní HAT, podívejte se na schéma espBerry. Můžete si stáhnout úplné schémata espBerry (PDF) zde.

Pinout ESP32 DevKit
Pinout ESP32 DevKit poskytuje vizuální znázornění konfigurace pinů desky. Za plnou view klikněte na obrázek pinout zde.

Raspberry Pi 40pinový GPIO Header
Raspberry Pi má řadu GPIO pinů podél horního okraje desky. espBerry je kompatibilní se 40pinovým GPIO headerem, který se nachází na všech současných deskách Raspberry Pi. Upozorňujeme, že GPIO header není na Raspberry Pi Zero, Raspberry Pi Zero W a Raspberry Pi Zero 2 W obsazený. Před Raspberry Pi 1 Model B+ měly desky kratší 26pinový header. Hlavička GPIO má rozteč kolíků 0.1 (2.54 mm).

Připojení SPI Port
Port SPI na espBerry umožňuje sériovou plně duplexní a synchronní komunikaci. Využívá hodinový signál pro přenos a příjem dat mezi centrálním řízením (master) a více periferními zařízeními (slave). Na rozdíl od komunikace UART, která je asynchronní, synchronizuje hodinový signál přenos dat.

FAQ

  • Mohu s espBerry použít jakýkoli Raspberry Pi HAT?
    espBerry je navrženo tak, aby bylo kompatibilní s jakýmkoli Raspberry Pi HAT připojením k integrovanému 40pinovému GPIO headeru. Nemusí však pokrývat všechny HAT dostupné na trhu. Další informace naleznete ve schématu espBerry.
  • Jaký programovací jazyk mohu použít s espBerry?
    espBerry podporuje programování pomocí oblíbeného Arduino IDE, které nabízí vynikající programovací možnosti.
  • Kde najdu další informace a zdroje?
    I když tato uživatelská příručka poskytuje podrobné informace, můžete také prozkoumat online příspěvky a články, kde naleznete další zdroje. Pokud potřebujete další informace nebo máte návrhy, neváhejte nás kontaktovat.

Nadview

  • espBerry DevBoard kombinuje Vývoj ESP32-DevKitC deska s jakýmkoli Raspberry Pi HAT připojením k integrovanému RPi kompatibilnímu 40pinovému GPIO headeru.
  • Účel espBerry by neměl být vnímán jako alternativa Raspberry Pi, ale jako rozšíření funkčnosti ESP32 využitím rozsáhlé nabídky RPi HAT na trhu a dosažením pokroku.tage z mnoha a flexibilních hardwarových možností.
  • espBerry je perfektní řešení pro prototypování a aplikace internetu věcí (IoT), zejména ty, které vyžadují bezdrátové funkce. Všechny open-source kódy samples beru advantage populárního Arduino IDE s jeho vynikajícími programovacími schopnostmi.
  • V následujícím textu vysvětlíme hardwarové a softwarové funkce, včetně všech podrobností, které potřebujete vědět, abyste mohli přidat Raspberry HAT dle vašeho výběru. Kromě toho poskytneme kolekci hardwaru a softwaruamples to demonstruje schopnosti espBerry.
  • Zdržíme se však opakování informací, které jsou již dostupné prostřednictvím jiných zdrojů, tj. online příspěvků a článků. Kdekoli budeme považovat za nutné doplňující informace, doplníme pro vás reference ke studiu.
    Poznámka: Velmi se snažíme zdokumentovat každý detail, který může být pro naše zákazníky důležitý. Dokumentace však nějakou dobu trvá a my nejsme vždy perfektní. Pokud potřebujete další informace nebo máte návrhy, neváhejte kontaktujte nás.

Funkce espBerry

  • Procesor: ESP32 DevKitC
    • 32bitový dvoujádrový Xtensa @ 240 MHz
    • WiFi IEEE 802.11 b/g/n 2.4 GHz
    • Bluetooth 4.2 BR/EDR a BLE
    • 520 kB SRAM (16 kB pro mezipaměť)
    • 448 kB ROM
    • Programovatelné pomocí kabelu USB A/micro-USB B
  • Raspberry Pi Kompatibilní 40pinový GPIO header
    • 20 GPIO
    • 2 x SPI
    • 1x UART
  • Vstupní výkon: 5 V DC
    • Ochrana proti přepólování
    • Přepětítage Ochrana
    • Konektor napájecího barelu 2.00 mm vnitřní průměr (0.079 ʺ), 5.50 mm vnější průměr (0.217 ʺ)
    • Dostupné možnosti 12/24 V DC
  • Provozní rozsah: -40 °C ~ 85 °C
    Poznámka: Většina RPi HAT pracuje při 0°C ~ 50°C
  • Rozměry: 95 mm x 56 mm – 3.75" x 2.2"
    Vyhovuje Standardní mechanické specifikace Raspberry Pi HAT

Železářské zboží

  • Obecně platí, že vývojová deska espBerry kombinuje modul ESP32-DevKitC s jakýmkoli Raspberry Pi HAT připojením k integrovanému RPi kompatibilnímu 40pinovému GPIO headeru.
  • Nejpoužívanější spojení mezi ESP32 a RPi HAT jsou SPI a UART port, jak je vysvětleno v následujících kapitolách. Také jsme zmapovali několik signálů GPIO (General Purpose Input Output). Podrobnější informace o mapování naleznete ve schématu.
  • Velmi se snažíme poskytovat kvalitní dokumentaci. Nicméně prosím pochopte, že nemůžeme vysvětlit všechny detaily ESP32 v této uživatelské příručce. Pro podrobnější informace se prosím podívejte na Příručka Začínáme ESP32-DevKitC V4.

Součásti desky espBerry

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

Konektor napájecího zdroje

  • Zařízení espBerry lze napájet z několika zdrojů:
    • Konektor Micro-USB na modulu ESP32 DevKitC
    • Jack 5 V DC 2.0 mm
    • Svorkovnice 5 V DC
    • Externí napájecí zdroj připojený k RPi HAT
  • Existují Raspberry Pi HAT, které umožňují dodávat externí napájení (např. 12 V DC) přímo do HAT. Při napájení espBerry tímto externím napájecím zdrojem musíte nastavit propojku na voliči zdroje napájení na „EXT“. V opačném případě musí být nastaveno na „Na palubě“.
  • Je možné napájet espBerry interně („On Board“), zatímco je stále připojeno napájení k HAT.

schémata espBerry 

  • espBerry bylo navrženo tak, aby mapovalo co nejvíce signálů (GPIO, SPI, UART atd.). To však nutně neznamená, že espBerry pokrývá všechny HAT dostupné na trhu. Váš konečný zdroj pro úpravy a vývoj vašeho vlastního HAT musí být schéma espBerry.

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

  • Kliknutím sem stáhnete kompletní schémata espBerry (PDF).
  • Kromě toho jsme v následujících kapitolách přidali ESP32 DevKitC a 40pinový konektor GPIO hlavičky Raspberry Pi.

Pinout ESP32 DevKit
Za plnou view výše uvedeného obrázku klikněte zde.

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

Raspberry Pi 40pinový GPIO Header

  • Výkonnou funkcí Raspberry Pi je řada GPIO (general-purpose input/output) pinů podél horního okraje desky. 40pinový GPIO header se nachází na všech současných deskách Raspberry Pi (neobsazený na Raspberry Pi Zero, Raspberry Pi Zero W a Raspberry Pi Zero 2 W). Před Raspberry Pi 1 Model B+ (2014) obsahovaly desky kratší 26pinový header. GPIO header na všech deskách (včetně Raspberry Pi 400) má rozteč kolíků 0.1″ (2.54 mm).

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

  • Další informace viz Hardware Raspberry Pi – GPIO a 40pinová hlavička.
  • Další informace o Raspberry Pi HAT najdete na Přídavné desky a kloboučky.

Připojení SPI Port

  • SPI je zkratka pro Serial Peripheral Interface, sériové plně duplexní a synchronní rozhraní. Synchronní rozhraní vyžaduje pro přenos a příjem dat hodinový signál. Hodinový signál je synchronizován mezi jedním centrálním ovládáním („master“) a více periferními zařízeními („slave“). Na rozdíl od komunikace UART, která je asynchronní, hodinový signál řídí, kdy mají být data odeslána a kdy mají být připravena ke čtení.
  • Pouze hlavní zařízení může ovládat hodiny a poskytovat hodinový signál všem podřízeným zařízením. Data nelze přenášet bez hodinového signálu. Jak master, tak slave si mohou vzájemně vyměňovat data. Není vyžadováno žádné dekódování adresy.
  • ESP32 má čtyři sběrnice SPI, ale pouze dvě jsou k dispozici pro použití a jsou známé jako HSPI a VSPI. Jak již bylo zmíněno dříve, v SPI komunikaci je vždy jeden řadič (také známý jako master), který řídí ostatní periferní zařízení (také známá jako slave). ESP32 můžete nakonfigurovat buď jako master nebo slave.

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

  • Na espBerry signály přiřazené k výchozím IO:

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

  • Níže uvedený obrázek ukazuje signály SPI z modulu ESP32 do hlavičky RPi GPIO jako výňatek ze schématu.

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

  • K dispozici je mnoho typů desek ESP32. Desky jiné než espBerry mohou mít odlišné výchozí piny SPI, ale informace o výchozích pinech najdete v jejich datovém listu. Pokud však nejsou uvedeny výchozí kolíky, můžete je najít pomocí náčrtu Arduina (použijte první odkaz níže).
  • Další informace viz:
  • espBerry používá připojení VSPI jako výchozí, což znamená, že pokud použijete výchozí signály, neměli byste narazit na problémy. Existují způsoby, jak změnit přiřazení pinů a přepnout na HSPI (jak je vysvětleno ve výše uvedených odkazech), ale tyto scénáře jsme pro espBerry neprozkoumali.
  • Viz také naši sekci o programování portů SPI.

Připojení sériového (UART) portu

  • Kromě integrovaného USB portu má vývojový modul ESP32 tři rozhraní UART, tj. UART0, UART1 a UART2, která zajišťují asynchronní komunikaci rychlostí až 5 Mbps. Tyto sériové porty lze namapovat na téměř jakýkoli pin. Na espBerry jsme přiřadili IO15 jako Rx a IO16 jako Tx, které jsou připojeny k GPIO16 a GPIO20 na 40kolíkové hlavičce, jak je znázorněno zde:

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

  • Rozhodli jsme se nepoužívat standardní signály RX/TX (GPIO3/GPIO1) na ESP32 DevKit, protože se často používají pro testovací tisky prostřednictvím sériového monitoru Arduino IDE. To může rušit komunikaci mezi ESP32 a RPi HAT. Místo toho musíte mapovat IO16 jako Rx a IO15 jako Tx na software, jak je vysvětleno v části Software této příručky.
  • Viz také naši sekci o sériovém (UART) programování.

Software

  • V následujícím textu stručně vysvětlíme nejdůležitější aspekty programování pro espBerry. Jak již bylo zmíněno v této uživatelské příručce, přidáme online reference tam, kde se domníváme, že jsou nezbytné další informace.
  • Pro více, praktické projekty samples, viz také naše Tipy pro programování ESP32.
  • Kromě toho existuje mnoho exampméně Literatura o programování ESP32, do kterých se vyplatí investovat.
  • Důrazně však doporučujeme používat Elektronické projekty s ESP8266 a ESP32, zejména pro vaše projekty bezdrátových aplikací. Ano, v dnešní době je k dispozici mnoho dobrých knih a bezplatných online zdrojů, ale tuto knihu používáme. Díky tomu byl náš přístup k Bluetooth, BLE a WIFI hračkou. Programování bezdrátových aplikací bez potíží byla zábava a sdílíme je na našich web místo.

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

Instalace a příprava Arduino IDE

  • Všechny naše programovací sampsoubory byly vyvinuty pomocí Arduino IDE (Integrated Development Environment) kvůli snadné instalaci a použití. Kromě toho existuje nespočet náčrtů Arduino dostupných online pro ESP32.
  • Při instalaci postupujte takto:
    • Krok 1: Prvním krokem by bylo stažení a instalace Arduino IDE. To lze snadno provést kliknutím na odkaz https://www.arduino.cc/en/Main/Software a stažením IDE zdarma. Pokud již nějaký máte, ujistěte se, že máte nejnovější verzi.
    • Krok 2: Po instalaci otevřete Arduino IDE a přejděte na Files -> Preferences (Předvolby), chcete-li otevřít okno předvoleb, a vyhledejte „Additional Boards Manager URLs:“ jak je uvedeno níže:

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

      • Textové pole může být prázdné nebo již obsahuje nějaké jiné URL pokud jste jej dříve použili pro jinou desku. Pokud je prázdný, jednoduše vložte níže uvedený text URL do textového pole.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Pokud textové pole již obsahuje nějaké jiné URL stačí přidat toto URL k tomu oddělte obojí čárkou (,). Naši už měli Teensy URL. Právě jsme vstoupili URL a přidal čárku.
      • Po dokončení klikněte na OK a okno zmizí.
    • Krok 3: Přejděte na Tools -> Boards -> Board Managers a otevřete okno Board manager a vyhledejte ESP32. Pokud URL bylo vloženo správně, vaše okno by mělo najít níže uvedenou obrazovku s tlačítkem Instalovat, stačí kliknout na tlačítko Instalovat a vaše deska by se měla nainstalovat.

      espBerry-ESP32-Development-Board-with-Raspberry-Pi-GPIO-FIG-12
      Výše uvedený snímek obrazovky ukazuje ESP32 po jeho instalaci.

    • Krok 4: Než začnete programovat, musíte nastavit výběr vhodného hardwaru ESP32 (možností je více). Přejděte na Tools -> Boards a vyberte ESP32 Dev Module, jak je znázorněno zde:

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

    • Krok 5: Otevřete správce zařízení a zkontrolujte, ke kterému portu COM je připojen váš ESP32.

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

  • Při použití espBerry vyhledejte Silicon Labs CP210x USB to UART Bridge. V našem nastavení ukazuje COM4. Vraťte se do Arduino IDE a v nabídce Nástroje -> Port vyberte port, ke kterému je připojeno vaše ESP.

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

  • Pokud jste začátečník s Arduino IDE, podívejte se na Použití softwaru Arduino (IDE).

Programování SPI portů

  • Následující představuje pouze krátký konecview programování SPI. Programování SPI není snadné, ale kdykoli začínáme nový projekt, hledáme kód online (např. github.com).
  • Například k programování řadiče MCP2515 CAN používáme upravenou verzi knihovny MCP_CAN pro Arduino od Coryho Fowlera, tj. využíváme jeho znalosti a úsilí pro náš projekt.
  • Přesto stojí za to věnovat čas pochopení programování SPI na základní úrovni. Například espBerry má signály SPI namapované, jak je znázorněno zde:

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

  • Tato nastavení musí být použita v kódu aplikace. Další informace o programování SPI s ESP32 naleznete v následujících zdrojích:

Programování sériového portu (UART).

  • Na espBerry jsme přiřadili IO15 jako Rx a IO16 jako Tx, které jsou připojeny k GPIO16 a GPIO20 na 40pinové hlavičce.
  • Rozhodli jsme se nepoužívat standardní signály RX/TX (GPIO3/GPIO1) na ESP32 DevKit, protože se často používají pro testovací tisky prostřednictvím sériového monitoru Arduino IDE. To může rušit komunikaci mezi ESP32 a RPi HAT. Místo toho musíte mapovat IO16 jako Rx a IO15 jako Tx na software.

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

  • Výše uvedený kód představuje aplikaci napřample pomocí Serial1.
  • Při práci s ESP32 pod Arduino IDE si všimnete, že příkaz Serial funguje dobře, ale Serial1 a Serial2 ne. ESP32 má tři hardwarové sériové porty, které lze namapovat na téměř jakýkoli pin. Aby Serial1 a Serial2 fungovaly, musíte zapojit třídu HardwareSerial. Jako reference viz ESP32, Arduino a 3 hardwarové sériové porty.
  • Viz také náš příspěvek Projekt espBerry: ESP32 s čipem CH9102F USB-UART pro sériovou rychlost až 3 Mbit/s.

O SPOLEČNOSTI

Dokumenty / zdroje

Vývojová deska espBerry ESP32 s Raspberry Pi GPIO [pdfUživatelská příručka
Vývojová deska ESP32 s Raspberry Pi GPIO, ESP32, Vývojová deska s Raspberry Pi GPIO, Deska s Raspberry Pi GPIO, Raspberry Pi GPIO

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *