Tabla de contenido:

Espejo mágico con noticias, clima, alarma, temporizador y lista todoterreno: 9 pasos
Espejo mágico con noticias, clima, alarma, temporizador y lista todoterreno: 9 pasos

Video: Espejo mágico con noticias, clima, alarma, temporizador y lista todoterreno: 9 pasos

Video: Espejo mágico con noticias, clima, alarma, temporizador y lista todoterreno: 9 pasos
Video: Sobre aviso NO hay ENGAÑ0!!! #shorts 2024, Noviembre
Anonim
Espejo mágico con noticias, clima, alarma, temporizador y todolista
Espejo mágico con noticias, clima, alarma, temporizador y todolista
Espejo mágico con noticias, clima, alarma, temporizador y todolista
Espejo mágico con noticias, clima, alarma, temporizador y todolista

Un Magic Mirror es un espejo unidireccional especial con una pantalla detrás. La pantalla, que está conectada a una Raspberry Pi, muestra información como el clima, la temperatura ambiente, la hora, la fecha, un todolist y mucho más. Incluso podría agregar un micrófono y configurar un asistente inteligente. Las posibilidades son infinitas.

Este proyecto puede ser bastante caro, una de las piezas más caras que necesitará es, por supuesto, la pantalla. Por eso reciclé una pantalla de una computadora portátil vieja. Sin embargo, recomiendo obtener una pantalla grande, brillante y de alto contraste para realizar este proyecto. Vale la pena.

El espejo que hice tiene estas características:

  • Noticias de un canal RSS elegido por el usuario
  • Clima
  • Temperatura interior
  • Un sistema de alarma
  • Un sistema de temporizador
  • Un todolista
  • Múltiples usuarios: el color de la tira de leds y la fuente de noticias cambian según el usuario seleccionado.

Suministros

Para construir este Espejo Mágico, necesitará:

  • Un espejo unidireccional
  • Madera
  • Una frambuesa pi
  • Una tarjeta Micro SD (8 + GB)
  • Una placa de pruebas
  • Dos altavoces de 20 W
  • Amplificador MAX9744 de 20 W para alimentar los altavoces
  • Tira de ledstrip WS2801 de 30 leds de 1 m
  • Sensor de temperatura de 1 cable DS18B20
  • Sensor de infrarrojos HC-SR501
  • Un codificador rotatorio
  • Un monitor o una pantalla de computadora portátil vieja

    Si está utilizando una pantalla de computadora portátil vieja, deberá comprar un adaptador de pantalla para computadora portátil. Puedes conseguirlos en AliExpress, Ebay o Amazon. Simplemente busque el número de serie de su pantalla

También necesitará los siguientes componentes pequeños:

  • Un diodo
  • Una resistencia de 4.7k Ohm
  • Una resistencia de 470 ohmios
  • Cables para conectar sensores a la Raspberry Pi

Y estas fuentes de alimentación:

  • 5V 2A para alimentar la tira de leds
  • 12V 2A para alimentar la pantalla
  • 12V 2A para alimentar el amplificador
  • 5.1V 3A para alimentar la Raspberry Pi (use una fuente de alimentación RPi oficial)

Paso 1: Instalar Raspbian

La pantalla y todos los componentes detrás del espejo funcionan con Raspberry Pi. Deberá instalar Raspbian, el sistema operativo predeterminado de Pi, en la tarjeta SD.

  1. Descarga Win32 Disk imager. Los usuarios de Linux y MacOS pueden usar algo como Etcher.
  2. Descargue la última imagen de Raspbian del sitio web de Raspberry Pi. Elija la opción 'Raspbian Buster con escritorio'
  3. Abra Win32 Disk Imager y escriba el archivo de imagen en la tarjeta SD.

La tarjeta SD ya está casi lista. Solo necesitamos asegurarnos de que podemos conectarnos a la Raspberry Pi de forma remota:

  1. Vaya a la partición de 'arranque' de la tarjeta SD usando el explorador de archivos de su sistema.
  2. Agregue un archivo llamado 'ssh' sin extensión.
  3. Agregue 'ip = 169.254.10.1' (sin comillas) al final de la primera línea de 'cmdline.txt'.

Expulse con seguridad la tarjeta SD de su computadora, colóquela en su Raspberry Pi e iníciela.

Paso 2: Configuración WiFi

Para escanear redes WiFi, ejecute el siguiente comando:

sudo iw dev wlan0 scan | grep SSID

Verá la lista de todos los SSID a los que se puede conectar su Raspberry Pi.

Cree una entrada de red con una contraseña cifrada ejecutando el siguiente comando e ingresando la contraseña de su red:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Ahora pegue la salida del comando anterior en este archivo:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ahora reinicia la Raspberry Pi. Estarás conectado a Internet.

Paso 3: Instalación y configuración del software

Para este proyecto, deberá descargar estos paquetes en su Raspberry Pi:

pip3 instalar conector mysql-python matraz-socketio matraz-cors gevent gevent-websocket circuito-adafruit python-ws2801 circuito-adafruit python-max9744

sudo apt instalar apache2 mariadb-server

Agregue esta línea al final de /boot/config.txt para habilitar el audio a través de los pines GPIO 12 (izquierda) y 13 (derecha):

dtoverlay = audremap

Utilice raspi-config para configurar la resolución de su pantalla y habilitar i2c, One-wire y SPI. También configure el método de arranque en 'Inicio de sesión automático en el escritorio'.

En / etc / xdg / lxsession / LXDE-pi / autostart, agregue lo siguiente:

@xset s off @ xset -dpms @ xset s noblank @ chromium-browser --kiosk 127.0.0.1/mirror.html # cargar chromium después del arranque y abrir el sitio web en modo de pantalla completa

Esto abre el navegador en la página correcta cuando se carga LXDE (entorno de escritorio de Raspbian). También elimine o comente la línea @xscreensaver para deshabilitar el protector de pantalla.

Repositorio de Github

Clone mi repositorio de GitHub y coloque el contenido de la carpeta Frontend en / var / www / html. Necesitaremos la carpeta Backend más tarde.

Paso 4: la base de datos

La base de datos
La base de datos

Este es el esquema de la base de datos, optimizado para 3NF. Almacena todas las alarmas, fuentes de noticias, usuarios, datos de sensores, sonidos y todolist.

  1. Use MySQL Workbench para acceder al servidor de la base de datos de su pi (mariadb)
  2. Cree una base de datos utilizando este esquema e inserte sus propios datos.
  3. Edite config.py en la carpeta Backend de mi repositorio de GitHub: cambie el nombre de la base de datos, el nombre de usuario elegido y la contraseña.
  4. Edite app.py y cambie la URL de la API de OpenWeatherMap por la suya. (Crea el tuyo aquí)

Paso 5: construcción del marco del espejo

Construyendo el marco del espejo
Construyendo el marco del espejo
Construyendo el marco del espejo
Construyendo el marco del espejo
Construyendo el marco del espejo
Construyendo el marco del espejo

Construí el marco alrededor del espejo usando juntas de inglete con esquinas de metal. Las tablas de madera que utilicé tienen 18 mm de grosor y 10 cm de ancho. En las imágenes puedes ver las medidas exactas para un espejo de 45cm x 60cm. Detrás del espejo están todos los componentes electrónicos, así que asegúrese de que sus tablas sean lo suficientemente anchas para que quepan.

Usé ganchos de metal para sujetar los altavoces al marco. De esa manera, no se apoyan en el espejo, lo que reduce la tensión de vibración en el vidrio.

Paso 6: la electrónica

La Electrónica
La Electrónica
La Electrónica
La Electrónica

Siga los esquemas anteriores para construir el circuito. Usé cinta adhesiva para fijar los componentes electrónicos al espejo.

Paso 7: Colocación de la electrónica en el marco

Colocación de la electrónica en el marco
Colocación de la electrónica en el marco
Colocación de la electrónica en el marco
Colocación de la electrónica en el marco

Después de conectar los altavoces a los ganchos de metal en la parte superior, agregue el resto de los componentes electrónicos al espejo. También puse un tablón de madera delgado entre el espejo y los componentes electrónicos, así que en lugar de pegar los componentes electrónicos al espejo, pegué los componentes electrónicos al tablón de madera. La pantalla del portátil es un panel blanco en la parte inferior del espejo.

Como puede ver en las imágenes, conecté todos los adaptadores de corriente dentro de un tomacorriente de múltiples enchufes para que solo haya un cable que salga del marco. Por eso necesitaba tablas lo suficientemente anchas (10 cm).

Perforé un agujero de 2 cm de ancho en el lado derecho del espejo para que pasara el codificador rotatorio. Esto le permite cambiar fácilmente el volumen (girar) o descartar temporizadores y alarmas (presionar).

Perforé dos orificios de 8 mm a cada lado del espejo para enrutar los cables de las tiras de leds.

Paso 8: Toques finales

Últimos retoques
Últimos retoques
Últimos retoques
Últimos retoques
Últimos retoques
Últimos retoques

Agregué un paño negro a la parte posterior del espejo para ocultar los componentes electrónicos. También oscurece el interior de la carcasa, lo que hace que sea mucho más difícil ver los cables a través del espejo. Lo adjunté con velcro, lo que facilita el acceso a la electrónica cuando es necesario.

Copie la carpeta Backend de mi repositorio de Github a un lugar que recordará.

Agregue una unidad systemd para que el script de Python se ejecute en el arranque:

sudo nano /etc/systemd/system/magicmirror.service

[Unidad]

Descripción = El servicio para el script python magicmirror Después = network.target [Servicio] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = / home / pi / magicMirror / Backend StandardOutput = heredar StandardError = heredar Reiniciar = siempre Usuario = pi [Instalar] WantedBy = multi-user.target

Cambie 'WorkingDirectory' al directorio Backend y cambie Usuario a su propio nombre de usuario.

Paso 9: interactuar con la aplicación web

Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web
Interactuar con la aplicación web

Navegue hasta la dirección IP (que está en la pantalla). Verá un sitio web para dispositivos móviles con las siguientes características:

  • Una grapa de temperatura interactiva
  • Un momento. Cuando el temporizador esté funcionando, también verá una cuenta regresiva en el espejo.
  • Un sistema de alarma
  • Una pestaña de configuración, donde puede editar usuarios, fuentes de noticias y volumen del altavoz.
  • Un todolista. Todo los elementos se mostrarán en el espejo

Mirror.html es la página que se muestra en Magic Mirror. Agregué un ejemplo en las imágenes de arriba.

Recomendado: