Tabla de contenido:

DIY SmartMirror: 6 pasos
DIY SmartMirror: 6 pasos

Video: DIY SmartMirror: 6 pasos

Video: DIY SmartMirror: 6 pasos
Video: DIY Smart Mirror [Complete Guide] 2024, Noviembre
Anonim
DIY SmartMirror
DIY SmartMirror

Sí, es muy inteligente.

Paso 1: Diseño inicial y evolución

Diseño inicial y evolución
Diseño inicial y evolución

Mi idea inicial era crear un espejo inteligente que mostrara todo tipo de información que necesita cuando se está preparando para el día. El clima, las noticias y las acciones fueron mis ideas iniciales para incluir en el diseño. También quería tener reconocimiento de voz para encender la pantalla y brindarte información importante. Esto resultó ser un agujero de conejo demasiado profundo para cubrirlo en un semestre, por lo que casi de inmediato descarté la idea del reconocimiento de voz.

La idea original tenía algún tipo de placa como un Pi o un Arduino para controlar la pantalla y obtener datos de Internet. Después de investigar un poco, me decidí por una pantalla LCD de 7 'y una Raspberry Pi3 con un decodificador para la pantalla. Después de eso, tuve que encontrar una API adecuada que me brindara toda la información relevante sobre el clima (con suerte, gratis) y una GUI para mostrar la información. Una vez que comencé a codificar, me di cuenta de que agregar características distintas del clima no sería factible dentro del límite de tiempo.

Mi diseño final es la pantalla conectada a un decodificador que se comunica con la Raspberry Pi3. El Pi ejecuta un script de Python que busca el clima con una API llamada OpenWeatherMap y muestra los datos usando la GUI Kivy.

Paso 2: investigación

Investigar
Investigar

Ya tenía la idea de hacer un espejo inteligente en mi cabeza a partir de muchos tutoriales de Youtube que vi sobre el tema. Muchas de esas personas, sin embargo, usaban una API por la que tenían que pagar y que tenía una GUI incorporada. No quería pagar, y no codificarlo tú mismo me sentí como una trampa.

Este proyecto fue relativamente fácil de investigar. Tenía un conjunto claro de materiales que necesitaba para el proyecto: una pantalla, una computadora para manejar la pantalla y un espejo.

Elegí una Raspberry Pi3 porque tenía una gran biblioteca de proyectos ya terminados que podía ver si alguna vez encontraba problemas, de los cuales había algunos. La pantalla que elegí fue la más grande y asequible que pude encontrar, que era lo suficientemente delgada como para caber detrás del perfil de un espejo. Terminé teniendo que construir mi propio espejo porque no pude encontrar con el tamaño adecuado y barato.

En conclusión, me pareció mucho más barato hacerlo usted mismo, siempre y cuando esté de acuerdo con que tenga un aspecto subprofesional muy probablemente.

Paso 3: dificultades y ayuda

Dificultades y ayuda
Dificultades y ayuda

Una de las primeras dificultades fue un error de mi parte. No pude verificar la salida del pin de la pantalla y la entrada en mi Pi. La salida del pin era 40 pero la entrada del Pi era 32. Pero afortunadamente encontré un decodificador en línea que era barato y le quitó presión al Pi, lo cual es una ventaja. Me costó un par de dólares extra en el envío, si lo hubiera revisado antes de ordenar todas las piezas.

El siguiente obstáculo que encontré fue encontrar una GUI. Ni siquiera sabía cómo se llamaba uno de ellos, una interfaz gráfica de usuario. Afortunadamente, mi profesor Chuck tuvo algunas sugerencias sobre por dónde empezar. Me dio varias sugerencias que tuve que decidir por mi cuenta. Terminé llegando a una conclusión bastante rápido, con la ayuda de algunas sugerencias en línea también.

Una forma en que creo que M5 puede agilizar el aprendizaje en esta clase es tener una descripción en el tablero del personal de lo que realmente saben mucho. Ejemplos como 'Python' o 'RaspberryPi' debajo de cada persona ayudarían a encontrar a quién acudir cuando tenga preguntas. La mayoría de las veces, encontraba a la persona más cercana y me decía algo como "Uf, no lo sé. Pero, definitivamente, fulano de tal". Entonces encontraría a esa persona y, con suerte, obtendría una respuesta. Si pudiera ir a la pizarra y ver si veo alguna habilidad relacionada con mi problema, sería de gran ayuda para obtener ayuda.

Paso 4: Logros

Uno de mis mayores logros es el viaje y la finalización de este proyecto. Este es el primer gran proyecto que tuve que completar por mi cuenta, y aprendí mucho en el ámbito de la gestión de proyectos y tiempo. El proceso de pasar del diseño a la implementación fue difícil y renovó mi fe en la planificación. Desde investigar partes hasta simplemente estructurar el código Python de manera eficiente, el acto de planificar y mantener organizado era difícil en el momento. Pero una vez que me di cuenta de esto, me senté y lo planeé, no porque estuviera asignado o porque necesitaba una buena calificación, sino que orgánicamente llegué a la conclusión de que era necesario.

Los otros logros de los que estoy más orgulloso son mi mayor competencia en Python y mi introducción a la GUI. Esta fue la primera GUI que codifiqué y tuvo una curva de aprendizaje pronunciada. Aprender widgets (kivy 'objetos') y cómo funciona la estructura general de una GUI me era ajeno. Ahora me siento más completo y definitivamente estoy mejor cuando se trata de aprender otras GUI en el futuro.

Paso 5: replicación

Lo primero que haría para reconstruir este proyecto es decidir su escala y objetivos.

Si desea hacer un estilo de bricolaje con espejo inteligente, siga mi diseño, pero siéntase libre de apartarse del camino.

Si solo desea un proyecto terminado, puede copiar todos mis pasos y tengo el código en mi Github.

Paso 6: actualizaciones

Lo primero que haré es conseguir un espejo nuevo. Aunque el mío funciona, tiene imperfecciones de mi aplicación.

Lo siguiente que agregaría a la pantalla son las otras ideas como el banner de noticias y acciones a la GUI, y probablemente actualice la pantalla a un monitor o LCD más grande para que se ajuste a toda la información.

Si todo esto fuera completo, por último agregaría detección de movimiento o una función de suspensión para que no siempre esté encendida, o agregaría reconocimiento de voz para que, nuevamente, la pantalla no esté siempre encendida.

Recomendado: