Płytka rozwojowa espBerry ESP32 z GPIO Raspberry Pi
INFORMACJE O PRODUKCIE
Specyfikacje
- Źródło zasilania: Wiele źródeł
- GPIO: Kompatybilny z 40-pinowym złączem GPIO Raspberry Pi
- Możliwości bezprzewodowe: Tak
- Programowanie: Arduino IDE
Nadview
EspBerry DevBoard łączy płytkę rozwojową ESP32DevKitC z dowolnym modułem Raspberry Pi HAT poprzez podłączenie do wbudowanego 40-pinowego złącza GPIO kompatybilnego z RPi. Nie ma to być alternatywa dla Raspberry Pi, ale raczej rozszerzenie funkcjonalności ESP32 poprzez wykorzystanie szerokiej gamy RPi HAT dostępnych na rynku.
Sprzęt komputerowy
Złącze źródła zasilania
EspBerry może być zasilany z różnych źródeł. Szczegółowe informacje na temat dostępnych źródeł zasilania można znaleźć w instrukcji obsługi.
Schematy EspBerry'ego
EspBerry został zaprojektowany tak, aby mapować jak najwięcej sygnałów (GPIO, SPI, UART itp.). Może jednak nie obejmować wszystkich kapeluszy dostępnych na rynku. Aby zaadaptować i opracować własny kapelusz, zapoznaj się ze schematem espBerry. Możesz pobrać pełne schematy espBerry (PDF) Tutaj.
Pinout zestawu deweloperskiego ESP32
Układ pinów ESP32 DevKit zapewnia wizualną reprezentację konfiguracji pinów płyty. Dla pełnego view obrazu pinów, kliknij Tutaj.
40-pinowe złącze GPIO Raspberry Pi
Raspberry Pi ma rząd pinów GPIO wzdłuż górnej krawędzi płytki. EspBerry jest kompatybilny z 40-pinowym złączem GPIO, które można znaleźć na wszystkich obecnych płytach Raspberry Pi. Należy pamiętać, że nagłówek GPIO jest pusty w Raspberry Pi Zero, Raspberry Pi Zero W i Raspberry Pi Zero 2 W. Przed Raspberry Pi 1 Model B+ płyty miały krótsze 26-pinowe złącze. Złącze GPIO ma rozstaw pinów 0.1 (2.54 mm).
Połączenie portu SPI
Port SPI w espBerry umożliwia szeregową komunikację w trybie pełnego dupleksu i synchroniczną. Wykorzystuje sygnał zegara do przesyłania i odbierania danych pomiędzy centralnym sterowaniem (master) i wieloma urządzeniami peryferyjnymi (slave). W przeciwieństwie do komunikacji UART, która jest asynchroniczna, sygnał zegara synchronizuje przesyłanie danych.
Często zadawane pytania
- Czy mogę używać dowolnego Raspberry Pi HAT z espBerry?
EspBerry został zaprojektowany tak, aby był kompatybilny z dowolnym Raspberry Pi HAT po podłączeniu do wbudowanego 40-pinowego złącza GPIO. Może jednak nie obejmować wszystkich kapeluszy dostępnych na rynku. Więcej informacji można znaleźć na schemacie espBerry. - Jakiego języka programowania mogę używać z espBerry?
EspBerry obsługuje programowanie przy użyciu popularnego Arduino IDE, które oferuje doskonałe możliwości programowania. - Gdzie mogę znaleźć dodatkowe informacje i zasoby?
Chociaż niniejsza instrukcja obsługi zawiera szczegółowe informacje, możesz także przeglądać posty i artykuły w Internecie, aby uzyskać dodatkowe zasoby. Jeśli potrzebujesz dodatkowych informacji lub masz sugestie, skontaktuj się z nami.
Nadview
- EspBerry DevBoard łączy w sobie Rozwój ESP32-DevKitC płytkę z dowolnym Raspberry Pi HAT poprzez podłączenie do wbudowanego 40-pinowego złącza GPIO kompatybilnego z RPi.
- Przeznaczenia espBerry nie należy postrzegać jako alternatywy dla Raspberry Pi, ale jako rozszerzenie funkcjonalności ESP32 poprzez wykorzystanie szerokiej oferty RPi HAT na rynku i wykorzystanie zaawansowanych rozwiązańtagz wielu elastycznych opcji sprzętowych.
- EspBerry to idealne rozwiązanie do prototypowania i zastosowań Internetu rzeczy (IoT), szczególnie tych wymagających możliwości komunikacji bezprzewodowej. Cały kod open source sampweź Advantage popularnego Arduino IDE z doskonałymi możliwościami programowania.
- Poniżej wyjaśnimy funkcje sprzętu i oprogramowania, w tym wszystkie szczegóły, które musisz znać, aby dodać wybrany Raspberry HAT. Dodatkowo udostępnimy kolekcję sprzętu i oprogramowaniaamples, aby zademonstrować możliwości espBerry.
- Nie będziemy jednak powtarzać informacji, które są już dostępne w innych źródłach, tj. w postach i artykułach internetowych. Wszędzie tam, gdzie uznamy, że potrzebne są dodatkowe informacje, dodamy referencje do przestudiowania.
Notatka: Bardzo staramy się udokumentować każdy szczegół, który może być ważny dla naszych klientów. Jednak dokumentacja wymaga czasu i nie zawsze jesteśmy doskonali. Jeśli potrzebujesz dalszych informacji lub masz sugestie, nie krępuj się Skontaktuj się z nami.
Funkcje espBerry
- Edytor: ESP32 DevKitC
- Dwurdzeniowy 32-bitowy procesor Xtensa o częstotliwości 240 MHz
- WiFi IEEE 802.11 b / g / n 2.4 GHz
- Bluetooth 4.2 BR/EDR i BLE
- 520 kB SRAM (16 kB dla pamięci podręcznej)
- 448 kB pamięci ROM
- Programowalny za pomocą kabla USB A/micro-USB B
- 40-pinowe złącze GPIO kompatybilne z Raspberry Pi
- 20 GPIO
- 2 x SPI
- 1 x UART
- Moc wejściowa: 5 V prądu stałego
- Ochrona przed odwrotną polaryzacją
- Przepełnienietage Ochrona
- Gniazdo złącza beczkowego zasilania 2.00 mm ID (0.079″), 5.50 mm OD (0.217″)
- Dostępne opcje 12/24 VDC
- Zasięg działania: -40°C ~ 85°C
Notatka: Większość kapeluszy RPi HAT działa w temperaturze 0°C ~ 50°C - Wymiary: 95 mm x 56 mm – 3.75″ x 2.2″
Zgodny z Standardowe specyfikacje mechaniczne Raspberry Pi HAT…
Sprzęt komputerowy
- Ogólnie rzecz biorąc, płytka rozwojowa espBerry łączy moduł ESP32-DevKitC z dowolnym modułem Raspberry Pi HAT poprzez podłączenie do wbudowanego 40-pinowego złącza GPIO kompatybilnego z RPi.
- Najczęściej używanymi połączeniami między ESP32 i RPi HAT są porty SPI i UART, jak wyjaśniono w kolejnych rozdziałach. Zmapowaliśmy także kilka sygnałów GPIO (wyjście wejściowe ogólnego przeznaczenia). Bardziej szczegółowe informacje na temat mapowania można znaleźć na schemacie.
- Bardzo się staramy zapewnić dobrą dokumentację. Należy jednak pamiętać, że w tej instrukcji obsługi nie możemy wyjaśnić wszystkich szczegółów dotyczących ESP32. Więcej szczegółowych informacji można znaleźć w Przewodnik wprowadzający dla ESP32-DevKitC V4.
Komponenty płyty espBerry
Złącze źródła zasilania
- EspBerry może być zasilany z kilku źródeł:
- Złącze Micro-USB w module ESP32 DevKitC
- Gniazdo 5 VDC 2.0 mm
- Blok zacisków 5 VDC
- Zewnętrzny zasilacz podłączony do RPi HAT
- Istnieją Raspberry Pi HAT, które pozwalają na zasilanie zewnętrzne (np. 12 VDC) bezpośrednio do HAT. W przypadku zasilania espBerry za pośrednictwem zewnętrznego zasilacza należy ustawić zworkę na selektorze źródła zasilania w pozycji „EXT”. W przeciwnym razie należy ustawić opcję „Na pokładzie”.
- Możliwe jest wewnętrzne zasilanie espBerry („On Board”), przy jednoczesnym zasilaniu modułu HAT.
Schematy EspBerry'ego
- EspBerry został zaprojektowany tak, aby mapować jak najwięcej sygnałów (GPIO, SPI, UART itp.). Nie musi to jednak oznaczać, że espBerry obejmuje wszystkie kapelusze HAT dostępne na rynku. Twoim ostatecznym źródłem adaptacji i opracowania własnego kapelusza musi być schemat espBerry.
- Kliknij tutaj, aby pobrać pełne schematy espBerry (PDF).
- Ponadto w kolejnych rozdziałach dodaliśmy układ pinów ESP32 DevKitC i 40-pinowego złącza GPIO Raspberry Pi.
Układ pinów ESP32 DevKit
Dla pełnego view powyższego obrazu, kliknij tutaj.
40-pinowe złącze GPIO Raspberry Pi
- Potężną cechą Raspberry Pi jest rząd pinów GPIO (wejście/wyjście ogólnego przeznaczenia) wzdłuż górnej krawędzi płytki. 40-pinowe złącze GPIO znajduje się na wszystkich obecnych płytach Raspberry Pi (niewykorzystane w przypadku Raspberry Pi Zero, Raspberry Pi Zero W i Raspberry Pi Zero 2 W). Przed Raspberry Pi 1 Model B+ (2014) płyty zawierały krótsze 26-pinowe złącze. Złącze GPIO na wszystkich płytach (w tym Raspberry Pi 400) ma rozstaw pinów 0.1 cala (2.54 mm).
- Więcej informacji znajdziesz w Sprzęt Raspberry Pi – GPIO i 40-pinowe złącze.
- Więcej informacji na temat nakładek Raspberry Pi HAT można znaleźć w artykule Tablice dodatkowe i kapelusze.
Połączenie portu SPI
- SPI oznacza Serial Peripheral Interface, szeregowy, pełnodupleksowy i synchroniczny interfejs. Interfejs synchroniczny wymaga sygnału zegarowego do przesyłania i odbierania danych. Sygnał zegara jest synchronizowany pomiędzy jednym centralnym sterowaniem („master”) i wieloma urządzeniami peryferyjnymi („slave”). W przeciwieństwie do komunikacji UART, która jest asynchroniczna, sygnał zegara kontroluje, kiedy dane mają zostać wysłane i kiedy powinny być gotowe do odczytu.
- Tylko urządzenie nadrzędne może sterować zegarem i dostarczać sygnał zegarowy do wszystkich urządzeń podrzędnych. Dane nie mogą być przesyłane bez sygnału zegarowego. Zarówno master, jak i slave mogą wymieniać między sobą dane. Nie jest wymagane dekodowanie adresu.
- ESP32 ma cztery magistrale SPI, ale tylko dwie są dostępne do użytku i są one znane jako HSPI i VSPI. Jak wspomniano wcześniej, w komunikacji SPI zawsze znajduje się jeden kontroler (zwany także masterem), który steruje innymi urządzeniami peryferyjnymi (zwanymi także slave). Możesz skonfigurować ESP32 jako master lub slave.
- W espBerry sygnały przypisane do domyślnych I/O:
- Poniższy rysunek przedstawia sygnały SPI z modułu ESP32 do nagłówka RPi GPIO jako fragment schematu.
- Dostępnych jest wiele typów płytek ESP32. Płyty inne niż espBerry mogą mieć inne domyślne piny SPI, ale informacje o domyślnych pinach można znaleźć w ich arkuszach danych. Jeśli jednak nie wymieniono domyślnych pinów, możesz je znaleźć, korzystając ze szkicu Arduino (użyj pierwszego linku poniżej).
- Więcej informacji znajdziesz tutaj:
- EspBerry domyślnie korzysta z połączenia VSPI, co oznacza, że jeśli użyjesz domyślnych sygnałów, nie powinieneś napotkać problemów. Istnieją sposoby zmiany przypisania pinów i przejścia na HSPI (jak wyjaśniono w powyższych odnośnikach), ale nie badaliśmy tych scenariuszy w przypadku espBerry.
- Zobacz także naszą sekcję dotyczącą programowania portów SPI.
Połączenie portu szeregowego (UART).
- Oprócz wbudowanego portu USB, moduł deweloperski ESP32 posiada trzy interfejsy UART, tj. UART0, UART1 i UART2, które zapewniają komunikację asynchroniczną z prędkością do 5 Mbps. Te porty szeregowe można przypisać do prawie każdego pinu. W espBerry przypisaliśmy IO15 jako Rx i IO16 jako Tx, które są podłączone do GPIO16 i GPIO20 na 40-pinowym złączu, jak pokazano tutaj:
- Zdecydowaliśmy się nie używać standardowych sygnałów RX/TX (GPIO3/GPIO1) w ESP32 DevKit, ponieważ są one często używane do wydruków testowych za pośrednictwem monitora szeregowego Arduino IDE. Może to zakłócać komunikację pomiędzy ESP32 i RPi HAT. Zamiast tego należy zmapować IO16 jako Rx i IO15 jako Tx dla każdego oprogramowania, jak wyjaśniono w części Oprogramowanie w tej instrukcji.
- Zobacz także naszą sekcję dotyczącą programowania szeregowego (UART).
Oprogramowanie
- Poniżej pokrótce wyjaśnimy najważniejsze aspekty programowania espBerry. Jak wspomniano wcześniej w tej instrukcji obsługi, dodamy odniesienia online tam, gdzie uznamy, że konieczne są dodatkowe informacje.
- Więcej informacji znajdziesz w projektach praktycznych samples, zobacz także nasze Wskazówki dotyczące programowania ESP32.
- Poza tym jest wielu npamples z Literatura dotycząca programowania ESP32, w które warto zainwestować.
- Jednakże zdecydowanie zalecamy użycie Projekty elektroniczne z ESP8266 i ESP32, szczególnie w przypadku projektów aplikacji bezprzewodowych. Tak, obecnie dostępnych jest wiele dobrych książek i bezpłatnych zasobów internetowych, ale my korzystamy z tej książki. Dzięki temu nasze podejście do Bluetooth, BLE i WIFI było proste. Bezproblemowe programowanie aplikacji bezprzewodowych było świetną zabawą i udostępniamy je na naszej stronie web strona.
Instalacja i przygotowanie Arduino IDE
- Wszystkie nasze programy sampPliki zostały opracowane przy użyciu Arduino IDE (Integrated Development Environment) ze względu na łatwość instalacji i użytkowania. Co więcej, w Internecie dostępnych jest mnóstwo szkiców Arduino dla ESP32.
- Aby przeprowadzić instalację, wykonaj następujące kroki:
- Krok 1: Pierwszym krokiem byłoby pobranie i zainstalowanie Arduino IDE. Można to łatwo zrobić, klikając link https://www.arduino.cc/en/Main/Software i pobierając IDE za darmo. Jeśli już go posiadasz, upewnij się, że masz najnowszą wersję.
- Krok 2: Po zainstalowaniu otwórz Arduino IDE i przejdź do Files -> Preferencje, aby otworzyć okno preferencji i zlokalizować „Menedżer dodatkowych tablic URLs:” jak pokazano poniżej:
- Pole tekstowe może być puste lub zawierać już inne URL jeśli użyłeś go wcześniej na innej desce. Jeśli jest pusty, po prostu wklej poniższy tekst URL do pola tekstowego.
https://dl.espressif.com/dl/package_esp32_index.json - Jeśli pole tekstowe zawiera już inne URL po prostu to dodaj URL do niego oddziel oba przecinkami (,). Nasz miał już Teensy URL. Właśnie weszliśmy do URL i dodałem przecinek.
- Po zakończeniu kliknij OK, a okno zniknie.
- Pole tekstowe może być puste lub zawierać już inne URL jeśli użyłeś go wcześniej na innej desce. Jeśli jest pusty, po prostu wklej poniższy tekst URL do pola tekstowego.
- Krok 3: Przejdź do Narzędzia -> Tablice -> Menedżerowie tablic, aby otworzyć okno Menedżera płytek i wyszukaj ESP32. Jeśli URL został wklejony poprawnie, w oknie powinno pojawić się poniższe okno z przyciskiem Instaluj, po prostu kliknij przycisk Instaluj, a Twoja płyta powinna zostać zainstalowana.
Powyższy zrzut ekranu przedstawia ESP32 po jego zainstalowaniu. - Krok 4: Przed rozpoczęciem programowania należy ustawić i wybrać odpowiedni sprzęt ESP32 (opcji jest wiele). Przejdź do Narzędzia -> Tablice i wybierz moduł deweloperski ESP32, jak pokazano tutaj:
- Krok 5: Otwórz menedżera urządzeń i sprawdź, do którego portu COM podłączony jest Twój ESP32.
- Korzystając z espBerry, poszukaj mostka USB do UART Silicon Labs CP210x. W naszej konfiguracji pokazuje COM4. Wróć do Arduino IDE i w obszarze Narzędzia -> Port wybierz Port, do którego podłączony jest Twój ESP.
- Jeśli jesteś początkującym użytkownikiem Arduino IDE, zapoznaj się z Korzystanie z oprogramowania Arduino (IDE).
Programowanie portów SPI
- Poniższe informacje stanowią jedynie krótkie podsumowanieview programowania SPI. Programowanie SPI nie jest łatwe, ale zawsze gdy zaczynamy nowy projekt, szukamy kodu w Internecie (np. github.com).
- Przykładowo do programowania kontrolera CAN MCP2515 wykorzystujemy zmodyfikowaną wersję Biblioteki MCP_CAN dla Arduino autorstwa Cory'ego Fowlera, czyli wykorzystujemy jego wiedzę i wysiłek w naszym projekcie.
- Niemniej jednak warto poświęcić czas na zrozumienie programowania SPI na podstawowym poziomie. Na przykład espBerry ma zmapowane sygnały SPI, jak pokazano tutaj:
- Ustawienia te muszą zostać zastosowane w kodzie aplikacji. Aby dowiedzieć się więcej o programowaniu SPI za pomocą ESP32, zapoznaj się z następującymi zasobami:
Programowanie portu szeregowego (UART).
- W espBerry przypisaliśmy IO15 jako Rx i IO16 jako Tx, które są podłączone do GPIO16 i GPIO20 na 40-pinowym złączu.
- Zdecydowaliśmy się nie używać standardowych sygnałów RX/TX (GPIO3/GPIO1) w ESP32 DevKit, ponieważ są one często używane do wydruków testowych za pośrednictwem monitora szeregowego Arduino IDE. Może to zakłócać komunikację pomiędzy ESP32 i RPi HAT. Zamiast tego należy zmapować IO16 jako Rx i IO15 jako Tx według oprogramowania.
- Powyższy kod reprezentuje aplikację npample przy użyciu Serial1.
- Pracując z ESP32 pod Arduino IDE, zauważysz, że polecenie Serial działa dobrze, ale Serial1 i Serial2 nie. ESP32 posiada trzy sprzętowe porty szeregowe, które można przypisać do niemal każdego pinu. Aby Serial1 i Serial2 działały, musisz zaangażować klasę HardwareSerial. Jako odniesienie zob ESP32, Arduino i 3 sprzętowe porty szeregowe.
- Zobacz także nasz post Projekt espBerry: ESP32 z chipem CH9102F USB-UART zapewniający prędkość szeregową do 3 Mbit/s.
O FIRMIE
- Prawa autorskie © 2023 Copperhill Technologies Corporation – Wszelkie prawa zastrzeżone
- https://espBerry.com
- https://copperhilltech.com
Dokumenty / Zasoby
![]() |
Płytka rozwojowa espBerry ESP32 z GPIO Raspberry Pi [plik PDF] Instrukcja obsługi Płytka rozwojowa ESP32 z Raspberry Pi GPIO, ESP32, Płytka rozwojowa z Raspberry Pi GPIO, Płytka z Raspberry Pi GPIO, Raspberry Pi GPIO |