Placă de dezvoltare espBerry ESP32 cu Raspberry Pi GPIO
INFORMAȚII PRODUS
Specificații
- Sursa de alimentare: Mai multe surse
- GPIO: Compatibil cu antetul GPIO cu 40 de pini Raspberry Pi
- Capabilitati wireless: Da
- Programare: Arduino IDE
Pesteview
espBerry DevBoard combină placa de dezvoltare ESP32DevKitC cu orice Raspberry Pi HAT prin conectarea la antetul GPIO cu 40 de pini compatibil RPi de la bord. Nu este menit să fie o alternativă Raspberry Pi, ci mai degrabă o extensie a funcționalității ESP32 prin utilizarea gamei largi de HAT-uri RPi disponibile pe piață.
Hardware
Conector sursă de alimentare
espBerry poate fi alimentat prin diverse surse. Vă rugăm să consultați manualul de utilizare pentru informații detaliate despre sursele de energie disponibile.
espBerry Schematici
EspBerry a fost conceput pentru a mapa cât mai multe semnale (GPIO, SPI, UART etc.) posibil. Cu toate acestea, este posibil să nu acopere toate HAT-urile disponibile pe piață. Pentru a vă adapta și dezvolta propriul HAT, consultați schema espBerry. Puteți descărca schemele complete espBerry (PDF) Aici.
Pinout-ul ESP32 DevKit
Pinout-ul ESP32 DevKit oferă o reprezentare vizuală a configurației pinului plăcii. Pentru un plin view din imaginea de identificare, faceți clic Aici.
Antetul GPIO Raspberry Pi cu 40 de pini
Raspberry Pi are un rând de pini GPIO de-a lungul marginii superioare a plăcii. espBerry este compatibil cu antetul GPIO cu 40 de pini care se găsește pe toate plăcile Raspberry Pi actuale. Vă rugăm să rețineți că antetul GPIO este nepopulat pe Raspberry Pi Zero, Raspberry Pi Zero W și Raspberry Pi Zero 2 W. Înainte de Raspberry Pi 1 Model B+, plăcile aveau un antet mai scurt cu 26 de pini. Antetul GPIO are un pas de pini de 0.1 (2.54 mm).
Conexiune la portul SPI
Portul SPI de pe espBerry permite comunicarea serială full-duplex și sincronă. Utilizează un semnal de ceas pentru a transfera și primi date între un control central (master) și mai multe dispozitive periferice (slave). Spre deosebire de comunicarea UART, care este asincronă, semnalul ceasului sincronizează transferul de date.
FAQ
- Pot folosi orice Raspberry Pi HAT cu espBerry?
espBerry este proiectat să fie compatibil cu orice Raspberry Pi HAT prin conectarea la antetul GPIO cu 40 de pini de la bord. Cu toate acestea, este posibil să nu acopere toate HAT-urile disponibile pe piață. Vă rugăm să consultați schema espBerry pentru mai multe informații. - Ce limbaj de programare pot folosi cu espBerry?
espBerry acceptă programarea folosind popularul IDE Arduino, care oferă capabilități excelente de programare. - Unde pot găsi informații și resurse suplimentare?
Deși acest manual de utilizare oferă informații detaliate, puteți explora, de asemenea, postări și articole online pentru resurse suplimentare. Dacă aveți nevoie de informații suplimentare sau aveți sugestii, nu ezitați să ne contactați.
Pesteview
- espBerry DevBoard combină Dezvoltare ESP32-DevKitC placa cu orice Raspberry Pi HAT prin conectarea la antetul GPIO cu 40 de pini compatibil RPi de la bord.
- Scopul espBerry nu ar trebui perceput ca o alternativă Raspberry Pi, ci ca extinderea funcționalității ESP32 prin accesarea ofertelor vaste de HAT-uri RPi de pe piață și avansând.tage dintre opțiunile hardware multiple și flexibile.
- espBerry este soluția perfectă pentru prototipuri și aplicații Internet of Things (IoT), în special cele care necesită capabilități wireless. Toate codurile open-sourceamples iau în avanstageste popularul IDE Arduino cu capabilitățile sale excelente de programare.
- În cele ce urmează, vom explica caracteristicile hardware și software, inclusiv toate detaliile pe care trebuie să le cunoașteți pentru a adăuga Raspberry HAT la alegere. În plus, vom oferi o colecție de hardware și softwareample pentru a demonstra capacitățile espBerry.
- Cu toate acestea, ne vom abține de la repetarea informațiilor care sunt deja disponibile prin alte resurse, adică postări și articole online. Ori de câte ori considerăm că sunt necesare informații suplimentare, vom adăuga referințe pe care le puteți studia.
Nota: Ne străduim din greu să documentăm fiecare detaliu care ar putea fi important să-l cunoască clienții noștri. Cu toate acestea, documentarea necesită timp și nu suntem întotdeauna perfecți. Dacă aveți nevoie de informații suplimentare sau aveți sugestii, vă rugăm să nu ezitați contactaţi-ne.
Caracteristici espBerry
- Procesor: ESP32 DevKitC
- Xtensa dual-core pe 32 de biți la 240 MHz
- WiFi IEEE 802.11 b/g/n 2.4 GHz
- Bluetooth 4.2 BR/EDR și BLE
- 520 kB SRAM (16 kB pentru cache)
- 448 kB ROM
- Programabil prin cablu USB A/micro–USB B
- Antet GPIO cu 40 de pini compatibil Raspberry Pi
- 20 GPIO
- 2 x SPI
- 1 x UART
- Putere de intrare: 5 VDC
- Protectie inversa polaritatii
- Overvoltage Protecție
- Conector baril de alimentare Jack 2.00 mm ID (0.079ʺ), 5.50 mm OD (0.217ʺ)
- Opțiuni de 12/24 VDC disponibile
- Interval de operare: -40°C ~ 85°C
Nota: Majoritatea HAT-urilor RPi funcționează la 0°C ~ 50°C - Dimensiuni: 95 mm x 56 mm – 3.75ʺ x 2.2ʺ
Respectă Specificații mecanice standard Raspberry Pi HAT…
Hardware
- În general, placa de dezvoltare espBerry combină modulul ESP32-DevKitC cu orice Raspberry Pi HAT prin conectarea la antetul GPIO cu 40 de pini compatibil RPi de la bord.
- Cele mai utilizate conexiuni între ESP32 și RPi HAT sunt portul SPI și UART, așa cum este explicat în capitolele următoare. De asemenea, am mapat mai multe semnale GPIO (General Purpose Input Output). Pentru informații mai detaliate despre mapare, consultați schema.
- Ne străduim foarte mult să oferim o documentație bună. Cu toate acestea, vă rugăm să înțelegeți că nu putem explica toate detaliile ESP32 în acest manual de utilizare. Pentru informații mai detaliate, vă rugăm să consultați Ghid de pornire ESP32-DevKitC V4.
Componentele plăcii espBerry
Conector sursă de alimentare
- espBerry poate fi alimentat din mai multe surse:
- Conectorul Micro-USB de pe modulul ESP32 DevKitC
- Mufa de 5 VDC de 2.0 mm
- Blocul terminal de 5 VDC
- Sursă de alimentare externă conectată la RPi HAT
- Există HAT-uri Raspberry Pi care permit furnizarea de energie externă (de exemplu, 12 VDC) direct la HAT. Când alimentați espBerry prin această sursă de alimentare externă, trebuie să setați jumperul de la selectorul sursei de alimentare la „EXT”. În caz contrar, trebuie setat la „La bord”.
- Este posibil să alimentați espBerry intern („La bord”) în timp ce încă aveți putere aplicată la HAT.
espBerry Schematici
- EspBerry a fost conceput pentru a mapa cât mai multe semnale (GPIO, SPI, UART etc.) posibil. Cu toate acestea, asta nu înseamnă neapărat că espBerry acoperă toate HAT-urile disponibile pe piață. Sursa ta finală pentru adaptări și dezvoltarea propriului tău HAT trebuie să fie schema espBerry.
- Faceți clic aici pentru a descărca schemele complete espBerry (PDF).
- În plus, am adăugat ESP32 DevKitC și pinout-ul antet GPIO cu 40 de pini Raspberry Pi în capitolele următoare.
Pinout-ul ESP32 DevKit
Pentru un plin view din imaginea de mai sus, click aici.
Antetul GPIO Raspberry Pi cu 40 de pini
- O caracteristică puternică a Raspberry Pi este rândul de pini GPIO (intrare/ieșire de uz general) de-a lungul marginii superioare a plăcii. Un antet GPIO cu 40 de pini se găsește pe toate plăcile Raspberry Pi actuale (nepopulate pe Raspberry Pi Zero, Raspberry Pi Zero W și Raspberry Pi Zero 2 W). Înainte de Raspberry Pi 1 Model B+ (2014), plăcile cuprindeau un antet mai scurt cu 26 de pini. Antetul GPIO de pe toate plăcile (inclusiv Raspberry Pi 400) are un pas de pin de 0.1 inchi (2.54 mm).
- Pentru mai multe informații, consultați Hardware Raspberry Pi – GPIO și antetul cu 40 de pini.
- Pentru mai multe informații despre Raspberry Pi HAT, consultați Plăci suplimentare și HAT-uri.
Conexiune la portul SPI
- SPI înseamnă Serial Peripheral Interface, o interfață serială full-duplex și sincronă. Interfața sincronă necesită un semnal de ceas pentru a transfera și a primi date. Semnalul ceasului este sincronizat între un control central („master”) și mai multe dispozitive periferice („slave”). Spre deosebire de comunicația UART, care este asincronă, semnalul de ceas controlează când datele trebuie trimise și când ar trebui să fie gata de citit.
- Doar un dispozitiv master poate controla ceasul și poate furniza un semnal de ceas tuturor dispozitivelor slave. Datele nu pot fi transferate fără semnal de ceas. Atât master cât și slave pot face schimb de date unul cu celălalt. Nu este necesară decodarea adresei.
- ESP32 are patru autobuze SPI, dar doar două sunt disponibile pentru utilizare și sunt cunoscute ca HSPI și VSPI. După cum am menționat mai devreme, în comunicarea SPI, există întotdeauna un controler (cunoscut și ca master) care controlează alte dispozitive periferice (cunoscute și ca sclavi). Puteți configura ESP32 fie ca master, fie ca slave.
- Pe espBerry, semnalele atribuite IO-urilor implicite:
- Imaginea de mai jos arată semnalele SPI de la modulul ESP32 la antetul RPi GPIO ca un extras din schemă.
- Există multe tipuri de plăci ESP32 disponibile. Altele plăci decât espBerry pot avea pini SPI impliciti diferiți, dar puteți găsi informații despre pinii impliciti din foaia lor de date. Dar dacă pinii impliciti nu sunt menționați, îi puteți găsi folosind o schiță Arduino (folosiți primul link de mai jos).
- Pentru mai multe informații, consultați:
- espBerry folosește conexiunea VSPI ca implicită, ceea ce înseamnă că dacă mergeți cu semnalele implicite, nu ar trebui să întâmpinați probleme. Există modalități de a schimba alocarea pinului și de a trece la HSPI (după cum este explicat în referințele de mai sus), dar nu am explorat aceste scenarii pentru espBerry.
- Consultați și secțiunea noastră despre Programarea portului SPI.
Conexiune la portul serial (UART).
- Pe lângă portul USB la bord, modulul de dezvoltare ESP32 are trei interfețe UART, adică UART0, UART1 și UART2, care asigură comunicare asincronă la o viteză de până la 5 Mbps. Aceste porturi seriale pot fi mapate la aproape orice pin. Pe espBerry, am atribuit IO15 ca Rx și IO16 ca Tx, care sunt conectate la GPIO16 și GPIO20 pe antetul cu 40 de pini, așa cum se arată aici:
- Am ales să nu folosim semnalele standard RX/TX (GPIO3/GPIO1) pe ESP32 DevKit, deoarece acestea sunt adesea folosite pentru printuri de testare prin monitorul serial al IDE-ului Arduino. Acest lucru poate interfera cu comunicarea dintre ESP32 și RPi HAT. În schimb, trebuie să mapați IO16 ca Rx și IO15 ca Tx per software, așa cum este explicat în secțiunea Software a acestui manual.
- Consultați și secțiunea noastră despre Programarea în serie (UART).
Software
- În cele ce urmează, vom explica pe scurt cele mai importante aspecte de programare pentru espBerry. După cum sa menționat anterior în acest manual de utilizare, vom adăuga referințe online acolo unde considerăm că sunt necesare informații suplimentare.
- Pentru mai multe, proiectele practice samples, vezi și nostru Sfaturi de programare ESP32.
- În plus, sunt mulți examples de Literatura de programare ESP32, care merită investiția.
- Cu toate acestea, vă recomandăm cu căldură utilizarea Proiecte electronice cu ESP8266 și ESP32, în special pentru proiectele dvs. de aplicații wireless. Da, multe cărți bune și resurse online gratuite sunt disponibile în aceste zile, dar aceasta este cartea pe care o folosim. A făcut ca abordarea noastră față de Bluetooth, BLE și WIFI să fie o ușoară. Programarea aplicațiilor wireless fără bătăi de cap a fost distractiv și le distribuim pe site-ul nostru web site-ul.
Instalarea și pregătirea IDE-ului Arduino
- Toată programarea noastră sampfișierele au fost dezvoltate folosind Arduino IDE (Integrated Development Environment) datorită ușurinței sale de instalare și utilizare. În plus, există o multitudine de schițe Arduino disponibile online pentru ESP32.
- Pentru instalare, urmați acești pași:
- Pasul 1: Primul pas ar fi să descărcați și să instalați IDE-ul Arduino. Acest lucru se poate face cu ușurință urmând linkul https://www.arduino.cc/en/Main/Software și descarcând IDE-ul gratuit. Dacă aveți deja unul, asigurați-vă că aveți cea mai recentă versiune.
- Pasul 2: Odată instalat, deschideți Arduino IDE și accesați Files -> Preferințe pentru a deschide fereastra de preferințe și a localiza „Managerul de panouri suplimentare URLs:” după cum se arată mai jos:
- Caseta de text poate fi goală sau poate conține deja altele URL dacă l-ați folosit anterior pentru o altă placă. Dacă este gol, pur și simplu lipiți cel de mai jos URL în caseta de text.
https://dl.espressif.com/dl/package_esp32_index.json - Dacă caseta de text conține deja altele URL doar adauga asta URL de acesta, separați ambele cu o virgulă (,). Al nostru îl avea deja pe Teensy URL. Tocmai am intrat în URL și a adăugat virgula.
- După ce ați terminat, faceți clic pe OK și fereastra va dispărea.
- Caseta de text poate fi goală sau poate conține deja altele URL dacă l-ați folosit anterior pentru o altă placă. Dacă este gol, pur și simplu lipiți cel de mai jos URL în caseta de text.
- Pasul 3: Accesați Instrumente -> Boards -> Board Managers pentru a deschide fereastra Board Manager și căutați ESP32. Dacă URL a fost lipit corect fereastra dvs. ar trebui să găsească ecranul de mai jos cu butonul Instalare, doar faceți clic pe butonul Instalare și placa dvs. ar trebui să fie instalată.
Captura de ecran de mai sus arată ESP32 după ce a fost instalat. - Pasul 4: Înainte de a începe programarea, trebuie să setați selectarea hardware-ului ESP32 adecvat (există mai multe opțiuni). Navigați la Tools -> Boards și selectați ESP32 Dev Module așa cum se arată aici:
- Pasul 5: Deschideți managerul de dispozitive și verificați la ce port COM este conectat ESP32.
- Când utilizați espBerry, căutați podul Silicon Labs CP210x USB la UART. În configurația noastră, arată COM4. Reveniți la Arduino IDE și sub Instrumente -> Port, selectați portul la care este conectat ESP.
- Dacă sunteți începător cu Arduino IDE, vă rugăm să consultați Utilizarea software-ului Arduino (IDE).
Programarea portului SPI
- Următoarele reprezintă doar o scurtă prezentareview de programare SPI. Programarea SPI nu este ușoară, dar ori de câte ori începem un nou proiect, căutăm cod online (de exemplu, github.com).
- De exemplu, pentru a programa controlerul CAN MCP2515, folosim o versiune modificată a Bibliotecii MCP_CAN pentru Arduino de către Cory Fowler, adică folosim cunoștințele și efortul său pentru proiectul nostru.
- Cu toate acestea, merită să petreceți timp pentru a înțelege programarea SPI la un nivel de bază. De exemplu, espBerry are semnalele SPI mapate așa cum se arată aici:
- Aceste setări trebuie aplicate în codul aplicației. Vă rugăm să consultați următoarele resurse pentru a afla mai multe despre programarea SPI cu ESP32:
Programare port serial (UART).
- Pe espBerry, am atribuit IO15 ca Rx și IO16 ca Tx, care sunt conectate la GPIO16 și GPIO20 pe antetul cu 40 de pini.
- Am ales să nu folosim semnalele standard RX/TX (GPIO3/GPIO1) pe ESP32 DevKit, deoarece acestea sunt adesea folosite pentru printuri de testare prin monitorul serial al IDE-ului Arduino. Acest lucru poate interfera cu comunicarea dintre ESP32 și RPi HAT. În schimb, trebuie să mapați IO16 ca Rx și IO15 ca Tx per software.
- Codul de mai sus reprezintă o aplicație exampfișier folosind Serial1.
- Când lucrați cu ESP32 sub Arduino IDE, veți observa că comanda Serial funcționează bine, dar Serial1 și Serial2 nu. ESP32 are trei porturi seriale hardware care pot fi mapate la aproape orice pin. Pentru ca Serial1 și Serial2 să funcționeze, trebuie să implicați clasa HardwareSerial. Ca referință, vezi ESP32, Arduino și 3 porturi seriale hardware.
- Vezi și postarea noastră Proiect espBerry: ESP32 cu cip USB-UART CH9102F pentru viteză serială de până la 3 Mbit/s.
DESPRE COMPANIE
- Copyright © 2023 Copperhill Technologies Corporation – Toate drepturile rezervate
- https://espBerry.com
- https://copperhilltech.com
Documente/Resurse
![]() |
Placă de dezvoltare espBerry ESP32 cu Raspberry Pi GPIO [pdfManual de utilizare Placă de dezvoltare ESP32 cu Raspberry Pi GPIO, ESP32, Placă de dezvoltare cu Raspberry Pi GPIO, Placă cu Raspberry Pi GPIO, Raspberry Pi GPIO |