espBerry-LOGO

Placa de desarrollo espBerry ESP32 con Raspberry Pi GPIO

Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-1

INFORMACIÓN DEL PRODUCTO

Presupuesto

  • Fuente de energía: Múltiples fuentes
  • Entrada y salida de GP: Compatible con cabezal GPIO de 40 pines Raspberry Pi
  • Capacidades inalámbricas:
  • Programación: IDE de Arduino

Encimaview

El espBerry DevBoard combina la placa de desarrollo ESP32DevKitC con cualquier Raspberry Pi HAT conectándolo al encabezado GPIO de 40 pines compatible con RPi integrado. No pretende ser una alternativa a Raspberry Pi, sino más bien una extensión de la funcionalidad del ESP32 mediante la utilización de la amplia gama de RPi HAT disponibles en el mercado.

Hardware

Conector de fuente de alimentación
El espBerry se puede alimentar a través de varias fuentes. Consulte el manual del usuario para obtener información detallada sobre las fuentes de energía disponibles.

Esquemas de espBerry
El espBerry fue diseñado para mapear tantas señales (GPIO, SPI, UART, etc.) como sea posible. Sin embargo, es posible que no cubra todos los HAT disponibles en el mercado. Para adaptar y desarrollar su propio HAT, consulte el esquema de espBerry. Puede descargar los esquemas completos de espBerry (PDF) aquí.

El pinout del ESP32 DevKit
El pinout de ESP32 DevKit proporciona una representación visual de la configuración de pines de la placa. por un completo view de la imagen de pinout, haga clic aquí.

El encabezado GPIO de 40 pines de Raspberry Pi
La Raspberry Pi presenta una fila de pines GPIO a lo largo del borde superior de la placa. El espBerry es compatible con el encabezado GPIO de 40 pines que se encuentra en todas las placas Raspberry Pi actuales. Tenga en cuenta que el encabezado GPIO no está ocupado en Raspberry Pi Zero, Raspberry Pi Zero W y Raspberry Pi Zero 2 W. Antes de Raspberry Pi 1 Modelo B+, las placas tenían un encabezado más corto de 26 pines. El conector GPIO tiene un paso de pin de 0.1 (2.54 mm).

Conexión del puerto SPI
El puerto SPI del espBerry permite la comunicación serie full-duplex y síncrona. Utiliza una señal de reloj para transferir y recibir datos entre un control central (maestro) y múltiples dispositivos periféricos (esclavos). A diferencia de la comunicación UART, que es asíncrona, la señal del reloj sincroniza la transferencia de datos.

Preguntas frecuentes

  • ¿Puedo usar cualquier Raspberry Pi HAT con espBerry?
    El espBerry está diseñado para ser compatible con cualquier Raspberry Pi HAT conectándolo al encabezado GPIO de 40 pines integrado. Sin embargo, es posible que no cubra todos los HAT disponibles en el mercado. Consulte el esquema de espBerry para obtener más información.
  • ¿Qué lenguaje de programación puedo usar con espBerry?
    EspBerry admite la programación utilizando el popular Arduino IDE, que ofrece excelentes capacidades de programación.
  • ¿Dónde puedo encontrar información y recursos adicionales?
    Si bien este manual del usuario proporciona información detallada, también puede explorar publicaciones y artículos en línea para obtener recursos adicionales. Si necesita más información o tiene sugerencias, no dude en contactarnos.

Encimaview

  • El espBerry DevBoard combina la Desarrollo ESP32-DevKitC Placa con cualquier Raspberry Pi HAT conectándose al cabezal GPIO de 40 pines compatible con RPi integrado.
  • El propósito de espBerry no debe percibirse como una alternativa a Raspberry Pi, sino como ampliar la funcionalidad de ESP32 aprovechando la amplia oferta de RPi HAT en el mercado y aprovechando las ventajas.tage de las múltiples y flexibles opciones de hardware.
  • EspBerry es la solución perfecta para la creación de prototipos y aplicaciones de Internet de las cosas (IoT), especialmente aquellas que requieren capacidades inalámbricas. Todo el código fuente abiertoampvamos a tomar ventajatage del popular Arduino IDE con sus excelentes capacidades de programación.
  • A continuación, explicaremos las características de hardware y software, incluidos todos los detalles que necesita saber para agregar el Raspberry HAT de su elección. Además, proporcionaremos una colección de hardware y software.amples to demuestra las capacidades de espBerry.
  • Sin embargo, nos abstendremos de repetir información que ya esté disponible a través de otros recursos, es decir, publicaciones y artículos en línea. Siempre que consideremos que es necesaria información adicional, agregaremos referencias para que usted las estudie.
    Nota: Nos esforzamos mucho en documentar cada detalle que pueda ser importante que nuestros clientes conozcan. Sin embargo, la documentación lleva tiempo y no siempre somos perfectos. Si necesita más información o tiene sugerencias, no dude en Contáctenos.

Características de espBerry

  • Procesador: ESP32 DevKitC
    • Xtensa de 32 bits de doble núcleo a 240 MHz
    • WiFi IEEE 802.11 b / g / n 2.4 GHz
    • Bluetooth 4.2 BR/EDR y BLE
    • SRAM de 520 kB (16 kB para caché)
    • ROM de 448 kB
    • Programable por cable USB A/micro-USB B
  • Conector GPIO de 40 pines compatible con Raspberry Pi
    • 20 GPIO
    • 2 x SPI
    • 1 x UART
  • Potencia de entrada: 5 VCC
    • Protección contra polaridad inversa
    • sobrevoltajetage Protección
    • Conector cilíndrico de alimentación Jack de 2.00 mm de diámetro interior (0.079 pulgadas), 5.50 mm de diámetro exterior (0.217 pulgadas)
    • Opciones de 12/24 VCC disponibles
  • Rango de operación: -40°C ~ 85°C
    Nota: La mayoría de los RPi HAT funcionan a 0°C ~ 50°C
  • Dimensiones: 95 mm x 56 mm – 3.75 x 2.2 pulgadas
    Cumple con Especificaciones mecánicas estándar Raspberry Pi HAT

Hardware

  • En general, la placa de desarrollo espBerry combina el módulo ESP32-DevKitC con cualquier Raspberry Pi HAT conectándolo al encabezado GPIO de 40 pines integrado compatible con RPi.
  • Las conexiones más utilizadas entre ESP32 y RPi HAT son el puerto SPI y UART, como se explica en los siguientes capítulos. También hemos mapeado varias señales GPIO (entrada y salida de propósito general). Para obtener información más detallada sobre el mapeo, consulte el esquema.
  • Nos estamos esforzando mucho en proporcionar buena documentación. Sin embargo, comprenda que no podemos explicar todos los detalles de ESP32 en este manual de usuario. Para obtener información más detallada, consulte la Guía de introducción a ESP32-DevKitC V4.

Componentes del tablero espBerry

Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-2

Conector de fuente de alimentación

  • El espBerry se puede alimentar a través de varias fuentes:
    • El conector Micro-USB en el módulo ESP32 DevKitC
    • El conector de 5 VCC de 2.0 mm
    • El bloque de terminales de 5 VCC
    • Fuente de alimentación externa conectada al RPi HAT
  • Hay HAT Raspberry Pi que permiten suministrar energía externa (por ejemplo, 12 VCC) directamente al HAT. Al alimentar el espBerry a través de esta fuente de alimentación externa, debe configurar el puente en el selector de fuente de alimentación en "EXT". De lo contrario, debe configurarse en "A bordo".
  • Es posible alimentar el espBerry internamente (“On Board”) mientras se sigue aplicando energía al HAT.

Esquemas de espBerry 

  • El espBerry fue diseñado para mapear tantas señales (GPIO, SPI, UART, etc.) como sea posible. Sin embargo, eso no significa necesariamente que espBerry cubra todos los HAT disponibles en el mercado. Su fuente definitiva para realizar adaptaciones y desarrollar su propio HAT debe ser el esquema de espBerry.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-3

  • Haga clic aquí para descargar los esquemas completos de espBerry (PDF).
  • Además, hemos agregado el pinout del encabezado GPIO de 32 pines ESP40 DevKitC y Raspberry Pi en los siguientes capítulos.

El pinout de ESP32 DevKit
Para una completa view de la imagen de arriba, haga clic aquí.

Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-4

El encabezado GPIO de 40 pines de Raspberry Pi

  • Una característica poderosa de Raspberry Pi es la fila de pines GPIO (entrada/salida de uso general) a lo largo del borde superior de la placa. Se encuentra un encabezado GPIO de 40 pines en todas las placas Raspberry Pi actuales (desocupadas en Raspberry Pi Zero, Raspberry Pi Zero W y Raspberry Pi Zero 2 W). Antes de la Raspberry Pi 1 Modelo B+ (2014), las placas comprendían un encabezado más corto de 26 pines. El encabezado GPIO en todas las placas (incluida la Raspberry Pi 400) tiene un paso de pin de 0.1 ″ (2.54 mm).

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-5

  • Para obtener más información, consulte Hardware Raspberry Pi: GPIO y el encabezado de 40 pines.
  • Para obtener más información sobre los HAT de Raspberry Pi, consulte Placas complementarias y HAT.

Conexión del puerto SPI

  • SPI significa Serial Peripheral Interface, una interfaz serie full-duplex y síncrona. La interfaz síncrona requiere una señal de reloj para transferir y recibir datos. La señal del reloj se sincroniza entre un control central (“maestro”) y múltiples dispositivos periféricos (“esclavos”). A diferencia de la comunicación UART, que es asíncrona, la señal de reloj controla cuándo se enviarán los datos y cuándo deben estar listos para leer.
  • Sólo un dispositivo maestro puede controlar el reloj y proporcionar una señal de reloj a todos los dispositivos esclavos. Los datos no se pueden transferir sin una señal de reloj. Tanto el maestro como el esclavo pueden intercambiar datos entre sí. No se requiere decodificación de direcciones.
  • El ESP32 tiene cuatro buses SPI, pero solo dos están disponibles para su uso y se conocen como HSPI y VSPI. Como se mencionó anteriormente, en la comunicación SPI, siempre hay un controlador (también conocido como maestro) que controla otros dispositivos periféricos (también conocidos como esclavos). Puede configurar el ESP32 como maestro o esclavo.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-6

  • En espBerry, las señales asignadas a las IO predeterminadas:

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-7

  • La siguiente imagen muestra las señales SPI desde el módulo ESP32 al encabezado RPi GPIO como un extracto del esquema.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-8

  • Hay muchos tipos de placas ESP32 disponibles. Las placas distintas a espBerry pueden tener diferentes pines SPI predeterminados, pero puede encontrar información sobre los pines predeterminados en su hoja de datos. Pero si no se mencionan los pines predeterminados, puede encontrarlos usando un boceto de Arduino (use el primer enlace a continuación).
  • Para obtener más información, consulte:
  • EspBerry utiliza la conexión VSPI de forma predeterminada, lo que significa que si utiliza las señales predeterminadas, no debería tener problemas. Hay formas de cambiar la asignación de pines y cambiar a HSPI (como se explica en las referencias anteriores), pero no hemos explorado estos escenarios para espBerry.
  • Consulte también nuestra sección sobre Programación de puertos SPI.

Conexión de puerto serie (UART)

  • Además del puerto USB integrado, el módulo de desarrollo ESP32 tiene tres interfaces UART, es decir, UART0, UART1 y UART2, que proporcionan comunicación asíncrona a una velocidad de hasta 5 Mbps. Estos puertos serie se pueden asignar a casi cualquier pin. En espBerry, asignamos IO15 como Rx e IO16 como Tx, que están conectados a GPIO16 y GPIO20 en el encabezado de 40 pines como se muestra aquí:

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-9

  • Hemos optado por no utilizar las señales RX/TX (GPIO3/GPIO1) estándar en el ESP32 DevKit, ya que a menudo se utilizan para impresiones de prueba a través del monitor serie del IDE de Arduino. Esto puede interferir con la comunicación entre el ESP32 y el RPi HAT. En su lugar, debe asignar IO16 como Rx e IO15 como Tx por software, como se explica en la sección Software de este manual.
  • Consulte también nuestra sección sobre Programación en serie (UART).

Software

  • A continuación, explicaremos brevemente los aspectos de programación más importantes para espBerry. Como se mencionó anteriormente en este manual de usuario, agregaremos referencias en línea cuando consideremos que es necesaria información adicional.
  • Para obtener más información, proyectos prácticosamples, vea también nuestro Consejos de programación ESP32.
  • Además, hay muchos ex.amples de Literatura de programación ESP32, que valen la pena la inversión.
  • Sin embargo, recomendamos encarecidamente utilizar Proyectos electrónicos con ESP8266 y ESP32, especialmente para sus proyectos de aplicaciones inalámbricas. Sí, hoy en día hay muchos buenos libros y recursos gratuitos en línea disponibles, pero este es el libro que estamos usando. Hizo que nuestro acercamiento a Bluetooth, BLE y WIFI fuera muy sencillo. Programar aplicaciones inalámbricas sin problemas fue divertido y las compartimos en nuestro web sitio.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-10

Instalación y preparación del IDE de Arduino

  • Toda nuestra programaciónampLos archivos se han desarrollado utilizando Arduino IDE (Entorno de desarrollo integrado) debido a su facilidad de instalación y uso. Además, hay una gran cantidad de bocetos de Arduino disponibles en línea para el ESP32.
  • Para la instalación siga estos pasos:
    • Paso 1: El primer paso sería descargar e instalar el IDE de Arduino. Esto se puede hacer fácilmente siguiendo el enlace https://www.arduino.cc/en/Main/Software y descargando el IDE de forma gratuita. Si ya tienes uno, asegúrate de tener la última versión.
    • Paso 2: Una vez instalado, abra el IDE de Arduino y vaya a Files -> Preferencias para abrir la ventana de preferencias y ubicar el “Administrador de tableros adicionales URLs:” como se muestra a continuación:

      Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-11

      • El cuadro de texto puede estar vacío o ya contener algún otro URL si lo has usado anteriormente para otra placa. Si está vacío, simplemente pegue lo siguiente URL en el cuadro de texto.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Si el cuadro de texto ya contiene algún otro URL solo agrega esto URL para ello, separe ambos con una coma (,). El nuestro ya tenía el Teensy URL. Acabamos de entrar en URL y agregó la coma.
      • Una vez hecho esto, haga clic en Aceptar y la ventana desaparecerá.
    • Paso 3: Vaya a Herramientas -> Tableros -> Administradores de tableros para abrir la ventana del Administrador de tableros y busque ESP32. Si el URL se pegó correctamente, su ventana debería encontrar la siguiente pantalla con el botón Instalar, simplemente haga clic en el botón Instalar y su placa debería instalarse.

      Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-12
      La captura de pantalla anterior muestra el ESP32 después de su instalación.

    • Paso 4: Antes de comenzar a programar, debe configurar y seleccionar el hardware ESP32 apropiado (hay varias opciones). Navegue a Herramientas -> Tableros y seleccione Módulo de desarrollo ESP32 como se muestra aquí:

      Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-13

    • Paso 5: Abra el administrador de dispositivos y verifique a qué puerto COM está conectado su ESP32.

      Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-14

  • Cuando utilice espBerry, busque el puente USB a UART CP210x de Silicon Labs. En nuestra configuración muestra COM4. Regrese a Arduino IDE y en Herramientas -> Puerto, seleccione el puerto al que está conectado su ESP.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-15

  • Si es principiante con Arduino IDE, consulte Usando el software Arduino (IDE).

Programación del puerto SPI

  • Lo siguiente representa sólo un breve resumenview de programación SPI. La programación SPI no es fácil, pero cada vez que comenzamos un nuevo proyecto, buscamos código en línea (por ejemplo, github.com).
  • Por ejemplo, para programar el controlador CAN MCP2515, utilizamos una versión modificada de la biblioteca MCP_CAN para Arduino de Cory Fowler, es decir, utilizamos su conocimiento y esfuerzo para nuestro proyecto.
  • Sin embargo, vale la pena dedicar tiempo a comprender la programación SPI en un nivel básico. Por ejemplo, espBerry tiene las señales SPI asignadas como se muestra aquí:

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-16

  • Estas configuraciones deben aplicarse en el código de la aplicación. Consulte los siguientes recursos para obtener más información sobre la programación SPI con ESP32:

Programación del puerto serie (UART)

  • En espBerry, asignamos IO15 como Rx e IO16 como Tx, que están conectados a GPIO16 y GPIO20 en el encabezado de 40 pines.
  • Hemos optado por no utilizar las señales RX/TX (GPIO3/GPIO1) estándar en el ESP32 DevKit, ya que a menudo se utilizan para impresiones de prueba a través del monitor serie del IDE de Arduino. Esto puede interferir con la comunicación entre el ESP32 y el RPi HAT. En su lugar, debe asignar IO16 como Rx e IO15 como Tx por software.

    Placa-de-desarrollo-espBerry-ESP32-con-Raspberry-Pi-GPIO-FIG-17

  • El código anterior representa una aplicación ex.amparchivo usando Serial1.
  • Cuando trabaje con ESP32 bajo el IDE de Arduino, notará que el comando Serial funciona bien, pero Serial1 y Serial2 no. El ESP32 tiene tres puertos serie de hardware que se pueden asignar a casi cualquier pin. Para que Serial1 y Serial2 funcionen, debe involucrar la clase HardwareSerial. Como referencia, ver ESP32, Arduino y 3 puertos serie de hardware.
  • Vea también nuestra publicación Proyecto espBerry: ESP32 con chip USB-UART CH9102F para velocidad serie de hasta 3 Mbit/s.

ACERCA DE LA COMPAÑÍA

Documentos / Recursos

Placa de desarrollo espBerry ESP32 con Raspberry Pi GPIO [pdf] Manual del usuario
Placa de desarrollo ESP32 con Raspberry Pi GPIO, ESP32, Placa de desarrollo con Raspberry Pi GPIO, Placa con Raspberry Pi GPIO, Raspberry Pi GPIO

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *