espBerry-LOGO

Одбор за развој на espBerry ESP32 со Raspberry Pi GPIO

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

ИНФОРМАЦИИ ЗА ПРОИЗВОДОТ

Спецификации

  • Извор на енергија: Повеќе извори
  • GPIO: Компатибилен со Raspberry Pi 40-пински GPIO заглавие
  • Безжични можности: Да
  • Програмирање: Arduino IDE

Во текот наview

EspBerry DevBoard ја комбинира развојната плоча ESP32DevKitC со која било Raspberry Pi HAT со поврзување со 40-пински GPIO заглавие компатибилен со RPi. Тој не е наменет да биде алтернатива на Raspberry Pi, туку повеќе продолжување на функционалноста на ESP32 со користење на широкиот опсег на RPi HAT достапни на пазарот.

Хардвер

Приклучок за извор на енергија
EspBerry може да се напојува преку различни извори. Ве молиме погледнете го упатството за употреба за детални информации за достапните извори на енергија.

espBerry Шемати
EspBerry беше дизајниран да мапира што е можно повеќе сигнали (GPIO, SPI, UART, итн.). Сепак, може да не ги опфати сите КАПИ достапни на пазарот. За да се прилагодите и развиете сопствена HAT, погледнете ја шемата на espBerry. Можете да ги преземете целосните шеми на espBerry (PDF) овде.

ESP32 DevKit Pinout
ESP32 DevKit pinout обезбедува визуелна претстава на конфигурацијата на пиновите на плочата. За целосна view на сликата на пинаут, кликнете овде.

Raspberry Pi 40-пински GPIO Header
Raspberry Pi има ред GPIO иглички долж горниот раб на таблата. EspBerry е компатибилен со 40-пинскиот GPIO заглавие што се наоѓа на сите актуелни Raspberry Pi плочи. Ве молиме имајте предвид дека заглавието на GPIO е ненаселено на Raspberry Pi Zero, Raspberry Pi Zero W и Raspberry Pi Zero 2 W. Пред Raspberry Pi 1 Model B+, таблите имаа пократко заглавие со 26 пински. Заглавието на GPIO има тон на пиновите од 0.1 (2.54 mm).

Поврзување на SPI порта
Приклучокот SPI на espBerry овозможува сериска целосно дуплекс и синхрона комуникација. Користи такт-сигнал за пренос и примање податоци помеѓу централната контрола (главна) и повеќе периферни уреди (робови). За разлика од UART комуникацијата, која е асинхрона, часовниот сигнал го синхронизира преносот на податоци.

Најчесто поставувани прашања

  • Може ли да користам која било шапка на Raspberry Pi со espBerry?
    EspBerry е дизајниран да биде компатибилен со која било шапка на Raspberry Pi со поврзување со 40-пински заглавие на GPIO. Сепак, може да не ги опфати сите КАПИ достапни на пазарот. Ве молиме погледнете ја шемата на espBerry за повеќе информации.
  • Кој програмски јазик можам да го користам со espBerry?
    EspBerry поддржува програмирање со користење на популарниот Arduino IDE, кој нуди одлични програмски способности.
  • Каде можам да најдам дополнителни информации и ресурси?
    Иако ова упатство за корисникот обезбедува детални информации, можете исто така да истражувате онлајн објави и написи за дополнителни ресурси. Доколку ви требаат дополнителни информации или имате предлози, слободно контактирајте не.

Во текот наview

  • EspBerry DevBoard ги комбинира Развој на ESP32-DevKitC плочка со која било Raspberry Pi HAT со поврзување со 40-пински заглавие GPIO компатибилен со RPi.
  • Целта на espBerry не треба да се сфати како алтернатива на Raspberry Pi, туку како проширување на функционалноста на ESP32 со искористување на огромната понуда на RPi HAT на пазарот и преземање предностиtagд од повеќекратните и флексибилни хардверски опции.
  • EspBerry е совршено решение за прототипови и апликации за Интернет на нештата (IoT), особено за оние кои бараат безжични способности. Сите кодови со отворен кодamples take advantagе од популарниот Arduino IDE со неговите одлични програмски способности.
  • Во продолжение, ќе ги објасниме карактеристиките на хардверот и софтверот, вклучувајќи ги сите детали што треба да ги знаете за да ја додадете Raspberry HAT по ваш избор. Дополнително, ќе обезбедиме колекција на хардверски и софтверски сamples to ги демонстрира способностите на espBerry.
  • Сепак, ќе се воздржиме од повторување на информации кои се веќе достапни преку други ресурси, т.е. онлајн објави и написи. Секаде каде што сметаме дека се неопходни дополнителни информации, ќе додадеме референци за да ги проучувате.
    Забелешка: Многу се трудиме да го документираме секој детал што може да биде важен за нашите клиенти да го знаат. Сепак, за документацијата е потребно време, а ние не сме секогаш совршени. Ако ви требаат дополнителни информации или имате предлози, ве молиме слободно контактирајте со нас.

Карактеристики на espBerry

  • Процесор: ESP32 DevKitC
    • 32-битна Xtensa dual-core @240 MHz
    • Wi-Fi IEEE 802.11 b/g/n 2.4 GHz
    • Bluetooth 4.2 BR/EDR и BLE
    • 520 kB SRAM (16 kB за кеш)
    • 448 kB ROM
    • Може да се програмира по USB A/micro–USB B кабел
  • Raspberry Pi компатибилен 40-пински GPIO заглавие
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Влезна моќност: 5 VDC
    • Заштита од обратен поларитет
    • Overvoltagд Заштита
    • Приклучок за напојување на барел приклучок 2.00mm ID (0.079ʺ), 5.50mm OD (0.217ʺ)
    • Достапни се 12/24 VDC опции
  • Оперативен опсег: -40°C ~ 85°C
    Забелешка: Повеќето RPi HAT работат на 0°C ~ 50°C
  • Димензии: 95 mm x 56 mm - 3.75 ʺ x 2.2 ʺ
    Се усогласува со Стандардна Raspberry Pi HAT механички спецификации

Хардвер

  • Општо земено, плочката за развој на espBerry го комбинира ESP32-DevKitC модулот со која било Raspberry Pi HAT со поврзување со 40-пински заглавие GPIO компатибилен со RPi.
  • Најкористените врски помеѓу ESP32 и RPi HAT се SPI и UART портот како што е објаснето во следните поглавја. Исто така, мапиравме неколку сигнали GPIO (Влезен излез за општа намена). За подетални информации за мапирањето, погледнете ја шемата.
  • Многу се трудиме да обезбедиме добра документација. Сепак, разберете дека не можеме да ги објасниме сите детали за ESP32 во ова упатство за употреба. За подетални информации, ве молиме погледнете на Водич за почеток на ESP32-DevKitC V4.

Компоненти на espBerry Board

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

Приклучок за извор на енергија

  • EspBerry може да се напојува преку неколку извори:
    • Micro-USB конекторот на модулот ESP32 DevKitC
    • 5 VDC Џек 2.0 mm
    • Терминалниот блок од 5 VDC
    • Надворешно напојување поврзано со RPi HAT
  • Постојат Raspberry Pi HAT кои овозможуваат напојување со надворешно напојување (на пр. 12 VDC) директно до HAT. Кога го напојувате espBerry преку ова надворешно напојување, треба да го поставите скокачот кај избирачот на извор на енергија на „EXT“. Во спротивно, мора да се постави на „On Board“.
  • Можно е да се напојува espBerry внатрешно („On Board“) додека сеуште има напојување применето на HAT.

espBerry Шемати 

  • EspBerry беше дизајниран да мапира што е можно повеќе сигнали (GPIO, SPI, UART, итн.). Сепак, тоа не мора да значи дека espBerry ги покрива сите HAT достапни на пазарот. Вашиот врвен извор за адаптации и развој на сопствена КАПА мора да биде шемата на espBerry.

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

  • Кликнете овде за да ја преземете целосната шема на espBerry (PDF).
  • Дополнително, ги додадовме ESP32 DevKitC и Raspberry Pi 40-пински GPIO заглавие во следните поглавја.

Исклучување на ESP32 DevKit
За целосна view на горната слика, кликнете овде.

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

Raspberry Pi 40-пински GPIO Header

  • Моќна карактеристика на Raspberry Pi е редот GPIO (влезен/излезен за општа намена) иглички долж горниот раб на плочата. Заглавие на GPIO со 40 пинови се наоѓа на сите актуелни Raspberry Pi табли (ненаселени на Raspberry Pi Zero, Raspberry Pi Zero W и Raspberry Pi Zero 2 W). Пред Raspberry Pi 1 Model B+ (2014), таблите сочинуваа пократко заглавие со 26 пина. Заглавието на GPIO на сите табли (вклучувајќи го и Raspberry Pi 400) има тон на пиновите од 0.1 инчи (2.54 мм).

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

  • За повеќе информации, погледнете на Хардвер Raspberry Pi – GPIO и 40-пински заглавие.
  • За повеќе информации за Raspberry Pi HATs, ве молиме погледнете Додатни табли и капа.

Поврзување на SPI порта

  • SPI е кратенка за Сериски периферен интерфејс, сериски целосно дуплекс и синхрони интерфејс. Синхрониот интерфејс бара такт-сигнал за пренос и примање податоци. Сигналот на часовникот е синхронизиран помеѓу една централна контрола („господар“) и повеќе периферни уреди („робови“). За разлика од UART комуникацијата, која е асинхрона, часовниот сигнал контролира кога треба да се испратат податоците и кога треба да бидат подготвени за читање.
  • Само главен уред може да го контролира часовникот и да обезбеди сигнал за часовникот до сите slave уреди. Податоците не можат да се пренесат без сигнал на часовникот. И господарот и робот можат да разменуваат податоци еден со друг. Не е потребно декодирање на адресата.
  • ESP32 има четири SPI автобуси, но само два се достапни за употреба, и тие се познати како HSPI и VSPI. Како што беше споменато претходно, во SPI комуникацијата, секогаш постои еден контролер (исто така познат како господар) кој контролира други периферни уреди (исто така познат како slaves). Можете да го конфигурирате ESP32 или како главен или како slave.

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

  • На espBerry, сигналите доделени на стандардните IO:

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

  • Сликата подолу ги прикажува SPI сигналите од модулот ESP32 до заглавието RPi GPIO како извадок од шемата.

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

  • Достапни се многу видови на ESP32 плочи. Плочите освен espBerry може да имаат различни стандардни SPI пинови, но можете да најдете информации за стандардните пинови од нивниот лист со податоци. Но, ако не се споменат стандардните пинови, можете да ги најдете со помош на скица на Arduino (користете ја првата врска подолу).
  • За повеќе информации, видете:
  • EspBerry ја користи врската VSPI како стандардно, што значи дека ако одите со стандардните сигнали, не треба да наидете на проблеми. Постојат начини да се смени доделувањето на пиновите и да се префрли на HSPI (како што е објаснето во горенаведените референци), но не сме ги истражиле овие сценарија за espBerry.
  • Видете го и нашиот дел за програмирање на SPI Port.

Сериска (UART) порта врска

  • Покрај вградената USB порта, развојниот модул ESP32 има три UART интерфејси, т.е. UART0, UART1 и UART2, кои обезбедуваат асинхрона комуникација со брзина до 5 Mbps. Овие сериски порти може да се мапираат на речиси секој пин. На espBerry, го доделивме IO15 како Rx и IO16 како Tx, кои се поврзани со GPIO16 и GPIO20 на заглавието со 40 пинови како што е прикажано овде:

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

  • Избравме да не ги користиме стандардните RX/TX (GPIO3/GPIO1) сигнали на ESP32 DevKit, бидејќи тие често се користат за тест печатење преку серискиот монитор на Arduino IDE. Ова може да ја попречи комуникацијата помеѓу ESP32 и RPi HAT. Наместо тоа, мора да го мапирате IO16 како Rx и IO15 како Tx по софтвер како што е објаснето во делот Софтвер од овој прирачник.
  • Видете го и нашиот дел за сериско (UART) програмирање.

Софтвер

  • Во продолжение накратко ќе ги објасниме најважните програмски аспекти за espBerry. Како што беше споменато претходно во ова упатство за корисникот, ќе додадеме онлајн референци каде што сметаме дека се неопходни дополнителни информации.
  • За повеќе, практичен проект samples, види и наш Совети за програмирање ESP32.
  • Покрај тоа, постојат многу ексampлес на ESP32 програмска литература, кои вредат за инвестирање.
  • Сепак, топло препорачуваме да го користите Електронски проекти со ESP8266 и ESP32, особено за вашите проекти за безжични апликации. Да, многу добри книги и бесплатни онлајн ресурси се достапни деновиве, но ова е книгата што ја користиме. Нашиот пристап кон Bluetooth, BLE и WIFI го направи необичен. Програмирањето безжични апликации без проблеми беше забавно, а ние ги споделуваме на нашите web сајт.

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

Инсталирање и подготовка на Arduino IDE

  • Сите наши програмирање сampтие се развиени со помош на Arduino IDE (Интегрирана развојна средина) поради неговата леснотија на инсталација и користење. Понатаму, има огромен број скици Arduino достапни на интернет за ESP32.
  • За инсталација, следете ги овие чекори:
    • Чекор 1: Првиот чекор би бил преземање и инсталирање на Arduino IDE. Ова може лесно да се направи со следење на врската https://www.arduino.cc/en/Main/Software и бесплатно преземање на IDE. Ако веќе имате, проверете дали ја имате најновата верзија.
    • Чекор 2: Откако ќе се инсталира, отворете го Arduino IDE и одете на Files -> Preferences за да го отворите прозорецот за преференци и да го лоцирате „Управникот со дополнителни табли URLs:“ како што е прикажано подолу:

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

      • Текстуалното поле може да е празно или веќе содржи некое друго URL ако претходно сте го користеле за друга табла. Ако е празен, едноставно залепете го долу URL во полето за текст.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Ако полето за текст веќе содржи некои други URL само додадете го ова URL до него, одделете ги двете со запирка (,). Нашите веќе го имаа Тинси URL. Само што влеговме во URL и ја додаде запирката.
      • Откако ќе завршите, кликнете на ОК и прозорецот ќе исчезне.
    • Чекор 3: Одете во Tools -> Boards -> Board Managers за да го отворите прозорецот за менаџер на одборот и да побарате ESP32. Доколку на URL е правилно залепен вашиот прозорец треба да го најде екранот подолу со копчето Инсталирај, само кликнете на копчето Инсталирај и вашата плоча треба да се инсталира.

      espBerry-ESP32-Development-board-with-Raspberry-Pi-GPIO-FIG-12
      Горенаведената снимка од екранот го прикажува ESP32 откако е инсталиран.

    • Чекор 4: Пред да започнете со програмирање, мора да поставите изберете го соодветниот хардвер ESP32 (има повеќе опции). Одете до Алатки -> Табли и изберете ESP32 Dev Module како што е прикажано овде:

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

    • Чекор 5: Отворете го менаџерот на уреди и проверете на која COM порта е поврзан вашиот ESP32.

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

  • Кога користите espBerry, побарајте го Silicon Labs CP210x USB to UART Bridge. Во нашето поставување покажува COM4. Вратете се на Arduino IDE и под Алатки -> Порт, изберете ја портата на која е поврзан вашиот ESP.

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

  • Ако сте почетник со Arduino IDE, ве молиме погледнете го Користење на софтверот Arduino (IDE).

Програмирање на SPI Port

  • Следното претставува само краток прегледview на SPI програмирање. Програмирањето на SPI не е лесно, но секогаш кога започнуваме нов проект, бараме код на интернет (на пр., github.com).
  • На пример, за програмирање на контролерот MCP2515 CAN, ние користиме изменета верзија на библиотеката MCP_CAN за Arduino од Кори Фаулер, т.е. го користиме неговото знаење и напор за нашиот проект.
  • Сепак, вреди да се потроши време за да се разбере програмирањето SPI на основно ниво. На пример, espBerry има SPI сигнали мапирани како што е прикажано овде:

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

  • Овие поставки мора да се применат во кодот на апликацијата. Ве молиме погледнете ги следните ресурси за да дознаете повеќе за програмирањето SPI со ESP32:

Програмирање на сериска порта (UART).

  • На espBerry, го доделивме IO15 како Rx и IO16 како Tx, кои се поврзани со GPIO16 и GPIO20 на заглавието со 40 пинови.
  • Избравме да не ги користиме стандардните RX/TX (GPIO3/GPIO1) сигнали на ESP32 DevKit, бидејќи тие често се користат за тест печатење преку серискиот монитор на Arduino IDE. Ова може да ја попречи комуникацијата помеѓу ESP32 и RPi HAT. Наместо тоа, мора да го мапирате IO16 како Rx и IO15 како Tx по софтвер.

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

  • Горенаведениот код претставува апликација на прampсо користење на Serial1.
  • Кога работите со ESP32 под Arduino IDE, ќе забележите дека командата Serial работи добро, но Serial1 и Serial2 не. ESP32 има три хардверски сериски порти кои можат да се мапираат на речиси секој пин. За да функционираат Serial1 и Serial2, треба да ја вклучите класата HardwareSerial. Како референца, види ESP32, Arduino и 3 хардверски сериски приклучоци.
  • Видете ја и нашата објава espBerry Project: ESP32 со CH9102F USB-UART чип за сериска брзина до 3Mbit/s.

ЗА КОМПАНИЈАТА

Документи / ресурси

Одбор за развој на espBerry ESP32 со Raspberry Pi GPIO [pdf] Упатство за користење
Плочка за развој на ESP32 со Raspberry Pi GPIO, ESP32, Развојна табла со Raspberry Pi GPIO, плоча со Raspberry Pi GPIO, Raspberry Pi GPIO

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *