He estado jugando mucho con Dispositivos ESP32 y Espírituque ya me ha permitido construir un dispositivo tonto que me permita encender mi PC simplemente golpeando mi mesa. Tengo una gran variedad de sensores con los que he estado jugando para carear con el escoma, y he construido un panel LCD con propulsión ESP32 controlado por un pimpollo, un sensor de temperatura y un LED RGB. Igualmente configuré otros dispositivos para sentirme cómodo con la implementación de YAML y ESP32, y me encantaron las capacidades que había desbloqueado para mi hogar inteligente. En mi investigación, me encontré con la “pantalla amarilla permuta” de ESP32, todavía conocida como ESP32 CYD.
Como su nombre lo indica, esta es una pantalla harto permuta con energía ESP32. El mío es específicamente el ESP32-2432S028R, y llegó a aproximadamente de $ 20 para una pantalla LCD TFT de 240×320, una ranura para polímero SD y algunos pines adicionales desgastados para sus propias adiciones de hardware conectadas a pines GPIO. El mío todavía morapio con una carcasa acrílica y de madera, aunque podría construir esta pantalla en cualquier vivienda física si lo desea. Es increíblemente versátil y se puede reprogramarse por capricho, por lo que un tablero de casas inteligente puede convertirse en poco completamente diferente en solo unos minutos.
Mi objetivo a dilatado plazo es reemplazar el OnePlus 6 todavía Mantenga en mi escritorio como un asistente de casa en casay todavía he pedido un par de pantallas un poco más grandes que usaré para más pruebas y construyendo un nuevo software para. Por ahora, sin retención, el CYD ESP32 ha sido una de las mejores adiciones a mi oficina en casa, y como he aprendido a desarrollar para ello, me ha despejado la mente a una amplia grado de posibilidades que pueden habilitarse estos pequeños dispositivos baratos.
Relacionado
Reemplacé Google Home con Asistente de casa y un LLM recinto, y no estoy mirando cerca de antes
Casi he retirado a Google por completo en mi casa.
Hay tanto que puede hacer con una pantalla inteligente y programable.
Ahora mismo, controla mi hogar inteligente
Al principio, simplemente quería memorizar las cuerdas del CYD ESP32, así que miré a su aproximadamente en GitHub para ver ejemplos específicos que hacen remisión a la escoma. Encontré un asombroso repositorio Creado por el desarrollador irlandés y YouTuber Brian Lough, y contiene ejemplos de código, explicaciones y otras cosas que resultaron invaluables para memorizar cómo funciona este dispositivo y cuáles son sus limitaciones. Comencé con algunas herramientas harto básicas, y encontré un Diseñador de visualización de espíritu para ayudar a producir el código para un tablero.
Sin retención, esto resultó minuciosamente flemático, sin mencionar que el resultado final fue feo. Había notado los ejemplos de LVGL en el repositorio de GitHub de Lough, aunque estos estaban dirigidos al IDE Arduino, y bajé por la refugio de descubrir cómo funciona en el escoma. LVGL representa la biblioteca de gráficos ligeros y versátiles, y es una forma de dibujar hermosos gráficos en dispositivos integrados con poco capital. Pude hacer algunos controles harto básicos de esta modo, y ya se veían mucho mejor, pero sentí que iba a ciego. LVGL es una apéndice poco nueva a la campo, basada en la interpretación 8 (en espacio de la interpretación 9, aunque se dice que viene una aggiornamento) y solo se agregó en la segunda porción del año pasado. Hasta su incorporación oficial, la única forma de usar LVGL en Esfoma era a través de un componente importado.
Esa novedad del LVGL al escoma es parte de por qué me resultó tan difícil hacer que funcionara. La documentación se siente poco de desidia, y aunque hay Muchos excelentes ejemplos en la documentación de controlar el asistente doméstico de los widgets de LVGL, sentí que me estaba sumergiendo en el fondo de el fondo profundo. Sin retención, llevé a Github una vez más y encontré Otro repositorio inexistente Por Ryan Ewen, con una sorprendente implementación de LVGL usando Esfomo … ¡y admitió el CYD que estoy usando aquí!
El diseño que ves en mis fotos se levanta directamente de su enfoque para construir usando LVGL. Estoy usando el mismo estilo de pimpollo y el mismo estilo de pantalla, y todavía estoy usando páginas como él en su implementación. He junto un sensor de tiempo al centro superior de la pantalla, y he junto mi temperatura esfera de estar a la parte superior derecha. En este momento, puedo controlar las luces de mi habitación y las luces de oficina, y todavía puedo controlar la música que se reproduce sobre mi Estampado de presencia previa de voz de asistente de inicio. Puedo tocar reproducir para comenzar el asistente de música, que luego habilitará los controles de bulto y la omisión de la pista. Esto requirió crear mi propio widget de plantilla que incluí y expuse los controles correctos, pero todo solo funcionó. Pude memorizar de lo que Ewen había hecho al desarrollar el uso de LVGL y torcerlo para satisfacer mis propias deposición.
En este momento, no es consumado. Todavía hay mucho que necesito memorizar, y yo soy Aprendiendo, pero estoy satisfecho de que estoy en un espacio donde ahora puedo convertir esto en poco aún más útil. Ciertamente ha sido un desafío, y a veces ha sido abrumador, pero se siente increíblemente gratificante hacer clic en “instalar” en la campo y de repente tiene un tablero que parece harto aparecido en la pantalla y trabajar. Desde entonces, he enfrentado muchos otros ejemplos de código fantásticos que usan LVGL en Esfoma, y estoy seguro de que el producto terminado será esencialmente una fundición de todo lo que he aprendido de todos ellos.
Si no eres un desarrollador, entonces ahora mismo, saltar con un CYD ESP32 será particularmente difícil. He trabajado mucho como desarrollador, por lo que, si aceptablemente es un desafío, he podido exceder muchos de los problemas que he enfrentado a través de técnicas típicas de mejora y depuración, todo mientras analizaba la documentación. Es mucho trabajo, y no todos están orientados a ello, pero aquellos que sean lo encontrarán muy gratificante. Una vez que haya terminado con todo lo que estoy haciendo aquí, lo haré todo de código despejado en Github. Aprendí de otros a comenzar, y cuando son los primeros días en proyectos como estos, todos pueden beneficiarse de tantos capital como sea posible para memorizar a enfrentarlo todavía.





