espBerry-LOGO

Плата розробки espBerry ESP32 із Raspberry Pi GPIO

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

ІНФОРМАЦІЯ ПРО ПРОДУКТ

Технічні характеристики

  • Джерело живлення: Кілька джерел
  • GPIO: Сумісний із 40-контактним роз’ємом GPIO Raspberry Pi
  • Бездротові можливості: так
  • Програмування: Arduino IDE

закінченоview

espBerry DevBoard поєднує в собі плату розробки ESP32DevKitC з будь-яким Raspberry Pi HAT шляхом підключення до вбудованого 40-контактного роз’єму GPIO, сумісного з RPi. Це не альтернатива Raspberry Pi, а радше розширення функціональності ESP32 за рахунок використання широкого спектру RPi HAT, доступних на ринку.

Обладнання

Роз'єм джерела живлення
espBerry можна живити від різних джерел. Детальну інформацію про доступні джерела живлення див. у посібнику користувача.

Схеми espBerry
espBerry розроблено для відображення якомога більшої кількості сигналів (GPIO, SPI, UART тощо). Однак він може охоплювати не всі HAT, доступні на ринку. Щоб адаптувати та розробити власний HAT, зверніться до схеми espBerry. Ви можете завантажити повну схему espBerry (PDF) тут.

Розпіновка ESP32 DevKit
Розпіновка ESP32 DevKit забезпечує візуальне представлення конфігурації контактів плати. Для повного view зображення розпіновки клацніть тут.

40-контактний роз’єм GPIO Raspberry Pi
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 мм).

Підключення до порту SPI
Порт SPI на espBerry забезпечує послідовний повнодуплексний і синхронний зв’язок. Він використовує тактовий сигнал для передачі та отримання даних між центральним контролером (головним) і декількома периферійними пристроями (підлеглими). На відміну від зв'язку UART, який є асинхронним, тактовий сигнал синхронізує передачу даних.

FAQ

  • Чи можу я використовувати будь-який Raspberry Pi HAT з espBerry?
    espBerry розроблено для сумісності з будь-яким Raspberry Pi HAT шляхом підключення до вбудованого 40-контактного роз’єму GPIO. Однак він може охоплювати не всі HAT, доступні на ринку. Для отримання додаткової інформації зверніться до схеми espBerry.
  • Яку мову програмування я можу використовувати з espBerry?
    espBerry підтримує програмування за допомогою популярної Arduino IDE, яка пропонує чудові можливості програмування.
  • Де я можу знайти додаткову інформацію та ресурси?
    Хоча в цьому посібнику користувача надається детальна інформація, ви також можете ознайомитися з дописами та статтями в Інтернеті, щоб отримати додаткові ресурси. Якщо вам потрібна додаткова інформація або у вас є пропозиції, зв’яжіться з нами.

закінченоview

  • espBerry DevBoard поєднує в собі Розробка ESP32-DevKitC плати з будь-яким Raspberry Pi HAT, підключившись до вбудованого RPi-сумісного 40-контактного роз’єму GPIO.
  • Мета espBerry не повинна сприйматися як альтернатива Raspberry Pi, а як розширення функціональності ESP32 шляхом використання широкого асортименту RPi HAT на ринку та отримання перевагtage численних і гнучких варіантів апаратного забезпечення.
  • espBerry — ідеальне рішення для створення прототипів і додатків Інтернету речей (IoT), особливо тих, які потребують бездротових можливостей. Весь відкритий код samples take advantage популярної Arduino IDE з її чудовими можливостями програмування.
  • Далі ми пояснимо апаратні та програмні функції, включаючи всі деталі, які вам потрібно знати, щоб додати Raspberry HAT за вашим вибором. Крім того, ми надамо колекцію апаратного та програмного забезпеченняampLes to демонструє можливості espBerry.
  • Однак ми утримаємося від повторення інформації, яка вже доступна на інших ресурсах, тобто в онлайн-дописах і статтях. Скрізь, де ми вважаємо, що потрібна додаткова інформація, ми додамо посилання, які ви можете вивчити.
    Примітка: Ми дуже стараємося задокументувати кожну деталь, яка може бути важливою для наших клієнтів. Однак документація потребує часу, і ми не завжди ідеальні. Якщо вам потрібна додаткова інформація або є пропозиції, будь ласка, не соромтеся зв'яжіться з нами.

Функції espBerry

  • Процесор: ESP32 DevKitC
    • 32-розрядний двоядерний процесор Xtensa на 240 МГц
    • WiFi IEEE 802.11 b / g / n 2.4 ГГц
    • Bluetooth 4.2 BR/EDR і BLE
    • 520 КБ SRAM (16 КБ для кешу)
    • 448 КБ ПЗУ
    • Програмується на кабель USB A/micro-USB B
  • 40-контактний роз’єм GPIO, сумісний з Raspberry Pi
    • 20 GPIO
    • 2 x SPI
    • 1 х UART
  • Вхідна потужність: 5 В постійного струму
    • Захист від зворотної полярності
    • Переволtage Захист
    • Гніздо роз’єму живлення 2.00 мм ID (0.079"), зовнішній діаметр 5.50 мм (0.217")
    • Доступні опції 12/24 В постійного струму
  • Робочий діапазон: -40°C ~ 85°C
    Примітка: Більшість RPi HAT працюють при 0°C ~ 50°C
  • Розміри: 95 мм x 56 мм – 3.75" x 2.2".
    Відповідає Стандартні механічні характеристики Raspberry Pi HAT

Обладнання

  • Загалом, плата розробки espBerry поєднує модуль ESP32-DevKitC з будь-яким Raspberry Pi HAT шляхом підключення до вбудованого RPi-сумісного 40-контактного роз’єму GPIO.
  • Найбільш використовувані з’єднання між ESP32 і RPi HAT – це SPI і порт UART, як пояснюється в наступних розділах. Ми також зіставили кілька сигналів GPIO (вхідний вихід загального призначення). Щоб отримати більш детальну інформацію про відображення, зверніться до схеми.
  • Ми дуже стараємося надати якісну документацію. Однак майте на увазі, що ми не можемо пояснити всі деталі ESP32 у цьому посібнику користувача. Для отримання більш детальної інформації зверніться до ESP32-DevKitC V4 Посібник із початку роботи.

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

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

Роз'єм джерела живлення

  • espBerry може отримувати живлення від кількох джерел:
    • Роз'єм Micro-USB на модулі ESP32 DevKitC
    • Гніздо 5 В постійного струму 2.0 мм
    • Клемна колодка 5 В постійного струму
    • Зовнішнє джерело живлення, підключене до RPi HAT
  • Існують Raspberry Pi HAT, які дозволяють подавати зовнішнє живлення (наприклад, 12 В постійного струму) безпосередньо до HAT. Під час живлення espBerry через це зовнішнє джерело живлення вам потрібно встановити перемичку на перемикачі джерела живлення на «EXT». В іншому випадку для нього має бути встановлено значення «На борту».
  • Можна живити espBerry зсередини («на борту»), залишаючи живлення на HAT.

Схеми espBerry 

  • espBerry розроблено для відображення якомога більшої кількості сигналів (GPIO, SPI, UART тощо). Однак це не обов’язково означає, що espBerry охоплює всі HAT, доступні на ринку. Основним джерелом для адаптації та розробки власного HAT має бути схема espBerry.

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

  • Натисніть тут, щоб завантажити повну схему espBerry (PDF).
  • Крім того, у наступних розділах ми додали розпіновку ESP32 DevKitC і 40-контактного роз’єму GPIO Raspberry Pi.

Розпіновка ESP32 DevKit
Для повного view зображення вище, натисніть тут.

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

40-контактний роз’єм GPIO Raspberry Pi

  • Потужною особливістю Raspberry Pi є ряд контактів GPIO (введення/виведення загального призначення) уздовж верхнього краю плати. 40-контактний роз’єм GPIO є на всіх поточних платах 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 HAT, будь ласка, зверніться до Додаткові дошки та HAT.

Підключення до порту SPI

  • SPI означає Serial Peripheral Interface, послідовний повнодуплексний і синхронний інтерфейс. Синхронному інтерфейсу потрібен тактовий сигнал для передачі та отримання даних. Тактовий сигнал синхронізується між одним центральним контролем («master») і кількома периферійними пристроями («slave»). На відміну від зв'язку UART, який є асинхронним, тактовий сигнал контролює, коли дані мають бути надіслані та коли вони повинні бути готові до читання.
  • Тільки головний пристрій може контролювати годинник і надавати сигнал годинника всім підлеглим пристроям. Дані неможливо передати без тактового сигналу. І головний, і підлеглий можуть обмінюватися даними один з одним. Розшифровка адреси не потрібна.
  • ESP32 має чотири шини SPI, але лише дві доступні для використання, і вони відомі як HSPI та VSPI. Як згадувалося раніше, у зв’язку SPI завжди є один контролер (також відомий як головний), який керує іншими периферійними пристроями (також відомими як підлеглі). Ви можете налаштувати ESP32 як головний або підлеглий.

    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.

Підключення через послідовний (UART) порт

  • Крім вбудованого порту USB, модуль розробки ESP32 має три інтерфейси UART, тобто UART0, UART1 і UART2, які забезпечують асинхронний зв'язок на швидкості до 5 Мбіт/с. Ці послідовні порти можна зіставити майже з будь-яким контактом. На 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

  • Усе наше програмування sampфайли були розроблені з використанням Arduino IDE (інтегрованого середовища розробки) через його легкість встановлення та використання. Крім того, в Інтернеті є безліч ескізів Arduino для ESP32.
  • Для встановлення виконайте такі дії:
    • Крок 1: Першим кроком буде завантаження та встановлення Arduino IDE. Це можна легко зробити, перейшовши за посиланням https://www.arduino.cc/en/Main/Software і безкоштовно завантаживши IDE. Якщо у вас уже є, переконайтеся, що у вас остання версія.
    • Крок 2: Після встановлення відкрийте Arduino IDE і перейдіть до Files -> Налаштування, щоб відкрити вікно налаштувань і знайти «Диспетчер додаткових плат 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 і додав кому.
      • Після завершення натисніть OK, і вікно зникне.
    • Крок 3: Перейдіть до Інструменти -> Дошки -> Менеджери дощок, щоб відкрити вікно диспетчера дощок і знайдіть ESP32. Якщо URL було вставлено правильно, у вашому вікні має бути екран нижче з кнопкою «Встановити», просто натисніть кнопку «Встановити», і ваша плата має бути встановлена.

      espBerry-ESP32-Development-Board-with-Raspberry-Pi-GPIO-FIG-12
      На наведеному вище знімку екрана показано ESP32 після його встановлення.

    • Крок 4: Перш ніж почати програмування, ви повинні вибрати відповідне обладнання ESP32 (є кілька варіантів). Перейдіть до Tools -> Boards і виберіть 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. У наших налаштуваннях він показує COM4. Поверніться до Arduino IDE і в розділі Інструменти -> Порт виберіть порт, до якого підключено ваш ESP.

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

  • Якщо ви новачок у Arduino IDE, зверніться до Використання програмного забезпечення Arduino (IDE).

Програмування порту SPI

  • Нижче подано лише короткий описview програмування SPI. Програмування SPI непросте, але коли ми починаємо новий проект, ми шукаємо код в Інтернеті (наприклад, github.com).
  • Наприклад, для програмування контролера CAN MCP2515 ми використовуємо модифіковану версію бібліотеки 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

  • Наведений вище код представляє програму напрample за допомогою Serial1.
  • Працюючи з ESP32 в Arduino IDE, ви помітите, що команда Serial працює нормально, а Serial1 і Serial2 – ні. ESP32 має три апаратних послідовних порти, які можуть бути зіставлені майже з будь-яким контактом. Щоб змусити Serial1 і Serial2 працювати, вам потрібно залучити клас HardwareSerial. Як довідку див ESP32, Arduino та 3 апаратних послідовних порти.
  • Дивіться також наш пост Проект espBerry: ESP32 із чіпом USB-UART CH9102F для послідовної швидкості до 3 Мбіт/с.

ПРО КОМПАНІЮ

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

Плата розробки espBerry ESP32 із Raspberry Pi GPIO [pdfПосібник користувача
Плата розробки ESP32 з Raspberry Pi GPIO, ESP32, Плата розробки з Raspberry Pi GPIO, Плата з Raspberry Pi GPIO, Raspberry Pi GPIO

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *