Taula de continguts:

Mirall màgic amb notícies, temps, alarma, temporitzador i llista total: 9 passos
Mirall màgic amb notícies, temps, alarma, temporitzador i llista total: 9 passos

Vídeo: Mirall màgic amb notícies, temps, alarma, temporitzador i llista total: 9 passos

Vídeo: Mirall màgic amb notícies, temps, alarma, temporitzador i llista total: 9 passos
Vídeo: Five Amazing Humanoid Encounters 2024, De novembre
Anonim
Mirall màgic amb notícies, temps, alarma, temporitzador i Todolist
Mirall màgic amb notícies, temps, alarma, temporitzador i Todolist
Mirall màgic amb notícies, temps, alarma, temporitzador i Todolist
Mirall màgic amb notícies, temps, alarma, temporitzador i Todolist

Un mirall màgic és un mirall especial de sentit únic amb una pantalla al darrere. La pantalla, connectada a un Raspberry Pi, mostra informació com el temps, la temperatura de l’habitació, l’hora, la data, una llista completa i molt més. Fins i tot podeu afegir un micròfon i configurar un assistent intel·ligent. Les possibilitats són infinites.

Aquest projecte pot ser bastant car, una de les parts més cares que necessiteu és, per descomptat, la pantalla. Per això vaig reciclar una pantalla d’un portàtil antic. Tanmateix, recomano aconseguir una pantalla gran, lluminosa i d’alt contrast per fer aquest projecte. Val la pena.

El mirall que he fet té aquestes característiques:

  • Notícies d'un canal RSS triat per l'usuari
  • El temps
  • Temperatura interior
  • Un sistema d'alarma
  • Un sistema de temporitzador
  • Un todolista
  • Diversos usuaris: el color de ledstrip i el canvi de la font de notícies en funció de l’usuari seleccionat.

Subministraments

Per construir aquest Magic Mirror, necessitareu:

  • Un mirall de sentit únic
  • Fusta
  • Un Raspberry Pi
  • Una targeta Micro SD (8 + GB)
  • Una pissarra
  • Dos altaveus de 20W
  • Amplificador MAX9744 de 20W per alimentar els altaveus
  • 1m de 30 leds WS2801 ledstrip
  • Sensor de temperatura DS18B20 1 fil
  • Sensor d'infrarojos HC-SR501
  • Un codificador rotatiu
  • Un monitor o una pantalla antiga de portàtils

    Si feu servir una pantalla antiga per a portàtils, haureu de comprar un adaptador de pantalla per a portàtils. Els podeu obtenir a AliExpress, Ebay o Amazon. Només cal que cerqueu el número de sèrie de la pantalla

També necessitareu els components petits següents:

  • Un díode
  • Una resistència de 4,7 k Ohm
  • Una resistència de 470 Ohm
  • Cables per connectar els sensors al Raspberry Pi

I aquestes fonts d'alimentació:

  • 5V 2A per alimentar el ledstrip
  • 12V 2A per alimentar la pantalla
  • 12V 2A per alimentar l'amplificador
  • 5,1 V 3A per alimentar el Raspberry Pi (utilitzeu una font d'alimentació oficial RPi)

Pas 1: Instal·lació de Raspbian

La pantalla i tots els components darrere del mirall són alimentats per Raspberry Pi. Haureu d’instal·lar Raspbian, el sistema operatiu predeterminat del Pi, a la targeta SD.

  1. Descarregueu la imatge de disc Win32. Els usuaris de Linux i MacOS poden utilitzar alguna cosa com Etcher.
  2. Descarregueu la darrera imatge de Raspbian des del lloc web de Raspberry Pi. Trieu l'opció "Raspbian Buster with desktop"
  3. Obriu Win32 Disk Imager i escriviu el fitxer d'imatge a la targeta SD.

La targeta SD ja està a punt. Només hem d’assegurar-nos que ens podem connectar al Raspberry Pi de forma remota:

  1. Aneu a la partició d'arrencada de la targeta SD mitjançant l'explorador de fitxers del vostre sistema.
  2. Afegiu un fitxer anomenat 'ssh' sense una extensió.
  3. Afegiu 'ip = 169.254.10.1' (sense cometes) al final de la primera línia de 'cmdline.txt'.

Expulseu amb seguretat la targeta SD de l'ordinador, poseu-la al Raspberry Pi i arrenceu-la.

Pas 2: Configuració de WiFi

Per escanejar xarxes WiFi, executeu l'ordre següent:

sudo iw dev wlan0 scan | grep SSID

Veureu la llista de tots els SSID als quals es pot connectar Raspberry Pi.

Creeu una entrada de xarxa amb una contrasenya xifrada executant l'ordre següent i introduint la contrasenya de la vostra xarxa:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Ara enganxeu la sortida de l'ordre anterior en aquest fitxer:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ara reinicieu el Raspberry Pi. Estareu connectat a Internet.

Pas 3: Instal·lació i configuració de programari

Per a aquest projecte, haureu de descarregar aquests paquets al vostre Raspberry Pi:

pip3 instal·lar mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt instal·la apache2 mariadb-server

Afegiu aquesta línia a la part inferior de /boot/config.txt per habilitar l'àudio mitjançant els pins GPIO 12 (esquerra) i 13 (dreta):

dtoverlay = audremap

Utilitzeu raspi-config per configurar la resolució de la pantalla i habilitar i2c, One-wire i SPI. També configureu el mètode d'arrencada a "Desktop Autologin".

A / etc / xdg / lxsession / LXDE-pi / autostart, afegiu el següent:

@xset s off @ xset -dpms @ xset s noblank @ chromium-browser --kiosk 127.0.0.1/mirror.html # carrega el crom després de l'arrencada i obre el lloc web en mode de pantalla completa

Això obre el navegador a la pàgina correcta quan es carrega LXDE (entorn d'escriptori de Raspbian). Traieu o comenteu també la línia @xscreensaver per desactivar-lo.

Dipòsit de Github

Cloneu el meu dipòsit GitHub i poseu el contingut de la carpeta Frontend a / var / www / html. Més endavant necessitarem la carpeta Backend.

Pas 4: la base de dades

La base de dades
La base de dades

Aquest és l'esquema de la base de dades, optimitzat a 3NF. Emmagatzema totes les alarmes, fonts de notícies, usuaris, dades del sensor, sons i la llista completa.

  1. Utilitzeu MySQL Workbench per accedir al servidor de bases de dades del vostre pi (mariadb)
  2. Creeu una base de dades mitjançant aquest esquema i inseriu les vostres pròpies dades.
  3. Editeu config.py a la carpeta Backend del meu dipòsit GitHub: canvieu el nom de la base de dades, el vostre nom d'usuari triat i la contrasenya.
  4. Editeu app.py i canvieu l'URL de l'API OpenWeatherMap al vostre. (Crea el teu aquí)

Pas 5: construcció del marc del mirall

Construint el marc Mirall
Construint el marc Mirall
Construint el marc Mirall
Construint el marc Mirall
Construint el marc Mirall
Construint el marc Mirall

Vaig construir el marc al voltant del mirall mitjançant juntes de mitra amb cantonades metàl·liques. Les taules de fusta que he fet servir tenen un gruix de 18 mm i una amplada de 10 cm. A les imatges podeu veure les mesures exactes d’un mirall de 45cm x 60cm. Darrere del mirall hi ha tota l’electrònica, així que assegureu-vos que les taules siguin prou amples per adaptar-s’hi.

Vaig utilitzar ganxos metàl·lics per fixar els altaveus al marc. D’aquesta manera no descansen sobre el mirall, reduint l’estrès de vibració del vidre.

Pas 6: l'electrònica

L’Electrònica
L’Electrònica
L’Electrònica
L’Electrònica

Seguiu els esquemes anteriors per construir el circuit. Vaig utilitzar cinta per fixar l’electrònica al mirall.

Pas 7: Col·locar l'electrònica al marc

Col·locació de l'electrònica al marc
Col·locació de l'electrònica al marc
Col·locació de l'electrònica al marc
Col·locació de l'electrònica al marc

Després de fixar els altaveus als ganxos metàl·lics de la part superior, afegiu la resta d’electrònica al mirall. També vaig posar un taulell de fusta prim entre el mirall i l’electrònica, de manera que, en lloc de gravar l’electrònica al mirall, vaig gravar l’electrònica al tauler de fusta. La pantalla del portàtil és de panell blanc a la part inferior del mirall.

Com podeu veure a les imatges, vaig endollar tots els adaptadors d’alimentació dins d’una presa de corrent de manera que només quedés un cable del marc. Per això necessitava taulons prou amples (10 cm).

He forat un forat de 2 cm d’amplada al costat dret del mirall perquè hi encapçalés el codificador rotatiu. Això us permet canviar fàcilment el volum (gir) o ignorar temporitzadors i alarmes (push).

He perforat dos forats de 8 mm a banda i banda del mirall per encaminar els cables de les tires de leds.

Pas 8: Acabat de tocs

Tocs d'acabat
Tocs d'acabat
Tocs d'acabat
Tocs d'acabat
Tocs d'acabat
Tocs d'acabat

Vaig afegir un drap negre a la part posterior del mirall per amagar l’electrònica. També enfosqueix l’interior de la caixa, cosa que fa que sigui molt més difícil veure els cables a través del mirall. L’he adjuntat amb velcro, facilitant l’accés a l’electrònica quan calgui.

Copieu la carpeta Backend del dipòsit de Github a un lloc que recordeu.

Afegiu una unitat systemd perquè l’escriptura python s’executi a l’arrencada:

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

[Unitat]

Descripció = El servei per a l'script python magicmirror After = network.target [Servei] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = / home / pi / magicMirror / Backend StandardOutput = hereta StandardError = hereta Reinicia = sempre Usuari = pi [Instal·lar] WantedBy = multi-usuari.target

Canvieu "WorkingDirectory" al directori Backend i canvieu l'usuari al vostre propi nom d'usuari.

Pas 9: interactuar amb l'aplicació web

Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web
Interacció amb l'aplicació web

Navegueu fins a l’adreça IP (que apareix a la pantalla). Veureu un lloc web primer mòbil amb les funcions següents:

  • Un grau de temperatura interactible
  • Un temps de. Quan el temporitzador s’executa, també veureu un compte enrere al propi mirall.
  • Un sistema d'alarma
  • Una pestanya de configuració, on podeu editar usuaris, fonts de notícies i volum d’altaveus.
  • Un todolista. Els elements Todo es mostraran al mirall

Mirror.html és la pàgina que es mostra al Magic Mirror. He afegit un exemple a les imatges anteriors.

Recomanat: