Esta pantalla con ESP32 es tan poderosa que necesita un segundo ESP32

Hemos hablado mucho sobre las pantallas con tecnología ESP32, pero ¿qué pasa con las pantallas que incluyen? dos ¿Chips ESP32 en el interior? Eso es exactamente lo que hace el ESP32-P4 de 7 pulgadas Elecrow CrowPanel Advance, y es un kit ridículamente excesivo que representa el pináculo de lo que puedes hacer con el ESP32. Sin incautación, tal vez recuerdes que el ESP32-P4 es un microcontrolador sólo Ethernet… por lo que la posibilidad de Elecrow es además perno en un ESP32-C6 para Wi-Fi y Bluetooth. No son los primeros en hacerlo ni cero por el estilo, pero es una exhibición suficiente poderosa que combina lo mejor de entreambos mundos.

Esta pantalla en particular incluye entreambos chips, cercano con dos parlantes, un complemento de cámara opcional, un micrófono, múltiples pines GPIO y una pantalla táctil LCD de 1024×600. Desafortunadamente, como está basado en ESP32-P4, hay un poco de controversia internamente del mundo PlatformIO que afecta su proceso de mejora, por lo que su mejor opción para ponerlo en funcionamiento es usar el ámbito ESP-IDF… o intentar usar ESPHome. Utilicé entreambos y pude hacerlo funcionar en su veterano parte, pero con bastantes advertencias.

El ESP32-P4 es un ESP32 muy diferente

No tener Wi-Fi ya es una gran diferencia

El ESP32-P4 es una bestia significativamente diferente en comparación con el resto de la grupo ESP32, y hay algunas razones para ello. En primer circunstancia, está diseñado principalmente como una placa de mejora de IA, lo que significa que el hardware está orientado más en esa dirección que en cualquier otra cosa. Es por eso que no obtienes soporte Wi-Fi, pero hacer obtenga soporte H.264, por ejemplo, y esa es solo una de muchas diferencias. Además obtiene significativamente más PSRAM, núcleos más rápidos y más almacenamiento flash, todo lo cual plantea desafíos reales para el mejora porque el soporte del hardware requiere cadenas de herramientas actualizadas.

Para que todo estuviera en funcionamiento, primero me concentré en ESPInicio. Para que la cámara funcione es necesario utilizar el sucesivo componente personalizado:

Se requiere un componente personalizado porque el ESP32-P4 cambia la forma en que funcionan ciertas interfaces de hardware, y ESPHome no está completamente equipado para manejar eso todavía, especialmente considerando lo nuevo que es el hardware. Incluso ganar que la pantalla funcionara resultó difícil al principio y requirió investigar el código de muestra de Elecrow para encontrar la secuencia de inicialización para iniciar el panel. Sin incautación, hay un problema: el Wi-Fi. En mis pruebas, descubrí un error en la implementación del ESP32-C6 que afectaba la conectividad Wi-Fi. La posibilidad es simple si usa ESP-IDF, pero para ESPHome, aunque debería funciona, no lo hace. Todo lo que necesita hacer es cerciorarse de que el bus SDIO, que facilita la comunicación entre ESP32-C6 y ESP32-P4, esté configurado en modo de un bit en su sdkconfig (a través de menuconfig), así:

  • CONFIG_ESP_SDIO_1_BIT_BUS=y

  • CONFIG_ESP_SDIO_BUS_WIDTH=1

Esto disminuye la velocidad de transmisión entre entreambos chips, pero aún está perfectamente proporcionadamente para la velocidad de Wi-Fi que puede alcanzar el ESP32-C6. Configurar esto en ESPHome no solucionó el problema allí, pero pude hacer que el hardware funcionara, y eso es lo que más me importaba. Hablaremos más sobre SDIO en un momento.

Una vez que cambié a ESP-IDF, construí una aplicación básica para poder ilustrarse cómo inicializar el hardware yo mismo, modificando la aplicación de ejemplo de Elecrow. Finalmente conseguí clasificar mi software, pero mis luchas estaban allá de terminar.

espresso-flash-esp32-p4

¿Recuerdas que mencioné que el hardware es nuevo? Bueno, resulta brillante el ESP32-P4 fue otro problema que no esperaba. Mi MacBook no pudo reconocerlo en tajante, a pesar de funcionar con todos mis otros ESP32 y de probar una gran cantidad de cables. Incluso en mi PC, muchos de los flashers de la serie web no sabían qué era el dispositivo y simplemente lo veían como “no identificado”.

Por fortuna, encontré el software basado en navegador. ESpressoFlashque me permitió cargar los archivos binarios de mi aplicación, mandatario de comienzo y tabla de particiones, y modernizar el dispositivo de esa forma. Es un sitio web suficiente bueno y me ahorra la requisito de instalar todas las herramientas ESP-IDF en mi PC principal, en la que normalmente no mejora. Cuando lo actualicé por primera vez, pude confirmar que me había conectado e interactuado con el ESP32-C6 correctamente, pero el almacenamiento flash interno SPIFFS todavía no se había montado. Resulta que necesita habilitar una configuración en sdkconfig de ESP-IDF (a través de menuconfig) para borrar el almacenamiento flash si no se puede valer en el comienzo; de lo contrario, el dispositivo simplemente equivocación. Como determinado acostumbrado a ESPHome y PlatformIO, ESP-IDF es mucho más “práctico” de lo que esperaba.

Transmitido que esta era la primera vez que usaba el ámbito ESP-IDF, me tomó un tiempo comprender lo que estaba sucediendo, tanto en términos de poner todo en funcionamiento como de entender el ejemplo de Elecrow lo suficientemente proporcionadamente como para construir un dispositivo que funcione básicamente. Fuera de la caja, viene con el Plan de teléfono ESP-Brookesia precargado, lo cual es una excelente forma de mostrar el hardware, pero hace que sea más difícil entender cómo interactuar con él correctamente. Este tesina de teléfono demuestra un sistema activo completo con aplicaciones funcionales que utilizan diferentes funciones de hardware. Es una demostración técnica impresionante, pero es difícil ilustrarse de ella porque es difícil descifrar qué partes son verdaderamente relevantes.

Lanzador de teléfono Elecrow CrowPanel Advance ESP32-P4 ESP

Otro desafío al que me enfrenté con numerosos problemas fue el uso del ESP32-C6 para Wi-Fi. Esto se base en una biblioteca convocatoria “ESP-Hosted”, donde el P4 es el host que se comunica con el C6 a través de Secure Digital Input Output (SDIO). tu no tener usarlo solo para Wi-Fi, pero ese es el beneficio principal. Puede descargar el procesamiento de todo tipo de cosas si está dispuesto a descubrir la capa de comunicación y crear firmware para que el C6 integrado la admita. Elecrow precargó el C6 con ESP-Hosted 2.3, que debería ser intercompatible entre 2.3 y 2.6.1 (que ESPHome usó en el momento de la prueba), aunque no era estable en la habilidad. Ahora, con el bus SDIO de un bit, incluso puedo usar ESP-Hosted 2.7 en mi aplicación ESP-IDF y funciona proporcionadamente.

Tuve muchos intercambios tanto con Elecrow como con los desarrolladores de ESPHome durante mis pruebas, para diagnosticar, comprender y solucionar el problema para poder ponerlo en funcionamiento. Elecrow finalmente llegó al fondo del problema y he podido seguir trabajando en ello desde entonces.

El resultado es una aplicación muy básica que utiliza el ámbito ESP-IDF, que compartí en GitHub, cercano con una configuración ESPHome que implementa la pantalla, el audio y la cámara. Espero que mi aplicación de ejemplo sea mucho más claro de entender que la totalidad del tesina ESP Brookesia, ya que implemento los aspectos esencia del hardware (sin la cámara) en un tesina mucho más pequeño.

Un panel de información del sistema y transmisión de música, construido con ESP-IDF

Funciona y me encanta.

Reproductor de audio en una placa CrowPanel ESP32-P4

Luego de mucho, mucho Por prueba y error, pude crear una aplicación básica utilizando el ámbito ESP-IDF y los paquetes de soporte de placa (BSP) compartidos por Elecrow como parte de su ejemplo de código. Es una aplicación relativamente simple, pero elimina la mayoría de las funciones adicionales para que puedas comprender los conceptos básicos de cómo funciona el hardware y qué puedes hacer con él. Inicializo lo sucesivo, en orden:

  • NVS

  • Alojado en ESP

  • SPIFFS

  • maleable SD

  • Mostrar

  • creación de interfaz de adjudicatario

  • Audio

  • Wi-Fi

Una de las mayores dificultades que enfrenté fue la inicialización de la pantalla y descubrí que el orden en efectividad asuntos. Si inicializaba la pantalla ayer que la maleable SD, parpadearía y luego volvería a apagarse inmediatamente, pero cambiándolos para que la pantalla apareciera. luego funcionó proporcionadamente. En efectividad, ni siquiera estoy seguro de cuál es la causa de esto, pero son este tipo de errores inesperados los que retrasan el proceso de mejora y pueden dificultar la puesta en funcionamiento de un dispositivo.

Elecrow-CrowPanel-Advance-ESP32-P4-Pensión-completa-2

Una vez inicializado, formatea SPIFFS al tamaño de partición dictado en el archivo particiones.csv. Lo configuré en 12 MB para realizar pruebas, pero puedes aumentarlo para satisfacer los límites restantes de almacenamiento sin cargo. Luego, audición las conexiones en un punto final /audio. Aquí puedes mandar archivos MP3 usando curl, así:

curl -X POST -F 'file=@audio.mp3' http://IP_HERE/audio

Si desea eliminar un archivo, simplemente envíe una solicitud GET (ya sea con curl o usando su navegador) a http://IP_HERE/delete. Luego, esto marcará el archivo para su exterminio, establecerá la variable de audio cargado en traidor y ejecutará el recolector de basura SPIFFS para liberar espacio para otro archivo. El recolector de basura puede ser suficiente premioso, por lo que es posible que tengas que esperar ayer de que comience a absorber otro archivo de audio.

Una vez que haya un archivo presente (guardado como current_audio.mp3), el llamador de reproducción cambiará a un llamador verde “Reproducir”. Luego puede tocarlo nuevamente para detener la pista que se está reproduciendo actualmente. Al pulsar nuevamente reproducir comenzará desde el principio. Utiliza el soporte del códec de audio Elecrow de su BSP, al igual que la veterano parte de la inicialización del hardware.

Esta es una placa ridículamente poderosa y puedes hacer todo tipo de cosas con ella. Desde soporte completo para H.264 hasta grandes cantidades de almacenamiento, potencia de procesamiento y PSRAM, me aseguraré de sufrir mucho con él. Si desea probar este tablero usted mismo, puede consultar el repositorio de GitHub con todo el código para ayudarle a comenzar.

Related Posts

Windows necesita desesperadamente su propia MacBook Neo, pero parece inverosímil de construir

La MacBook Neo es uno de esos productos que instantáneamente hace que el resto del mercado parezca incómodo. A $599, o $499 para estudiantes, Apple ha conseguido propalar una computadora…

La insurtech francesa Alan alcanza una valoración de 5.000 millones de euros

Una decenio a posteriori de convertirse en la primera aseguradora de lozanía independiente en Francia en 30 abriles, alan ha cerrado una ronda de 100 millones de euros respaldada por…

You Missed

Dominicana vence 7-5 a Venezuela con cuatro jonrones y avanza invicta en el Clásico Mundial

Dominicana vence 7-5 a Venezuela con cuatro jonrones y avanza invicta en el Clásico Mundial

La sonda Van Allen de la NASA reingresa a la Tierra por el Pacífico sin causar daños

La sonda Van Allen de la NASA reingresa a la Tierra por el Pacífico sin causar daños

Exreina de belleza enfrenta cargos por la crimen de su bebé – Remolacha

Exreina de belleza enfrenta cargos por la crimen de su bebé – Remolacha

Trasladan a Ciudad Nueva a reo implicado en asalto a platería – Remolacha

Trasladan a Ciudad Nueva a reo implicado en asalto a platería – Remolacha

Windows necesita desesperadamente su propia MacBook Neo, pero parece inverosímil de construir

Windows necesita desesperadamente su propia MacBook Neo, pero parece inverosímil de construir

Paloma Almonte resalta avance de la mujer en crónica deportiva

Paloma Almonte resalta avance de la mujer en crónica deportiva