Taula de continguts:
- Subministraments
- Pas 1: Instal·lació de Raspbian
- Pas 2: Configuració de WiFi
- Pas 3: Instal·lació i configuració de programari
- Pas 4: la base de dades
- Pas 5: construcció del marc del mirall
- Pas 6: l'electrònica
- Pas 7: Col·locar l'electrònica al marc
- Pas 8: Acabat de tocs
- Pas 9: interactuar amb l'aplicació web
Vídeo: Mirall màgic amb notícies, temps, alarma, temporitzador i llista total: 9 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
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.
- Descarregueu la imatge de disc Win32. Els usuaris de Linux i MacOS poden utilitzar alguna cosa com Etcher.
- Descarregueu la darrera imatge de Raspbian des del lloc web de Raspberry Pi. Trieu l'opció "Raspbian Buster with desktop"
- 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:
- Aneu a la partició d'arrencada de la targeta SD mitjançant l'explorador de fitxers del vostre sistema.
- Afegiu un fitxer anomenat 'ssh' sense una extensió.
- 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
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.
- Utilitzeu MySQL Workbench per accedir al servidor de bases de dades del vostre pi (mariadb)
- Creeu una base de dades mitjançant aquest esquema i inseriu les vostres pròpies dades.
- 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.
- Editeu app.py i canvieu l'URL de l'API OpenWeatherMap al vostre. (Crea el teu aquí)
Pas 5: construcció del marc del 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
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
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
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
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:
Motor pas a pas amb xancletes D i temporitzador 555; la primera part del circuit el temporitzador 555: 3 passos
Motor pas a pas amb xancletes D i temporitzador 555; la primera part del circuit el temporitzador 555: el motor pas a pas és un motor de corrent continu que es mou en passos discrets. S’utilitza sovint en impressores i fins i tot en robòtica. L’explicaré en passos. La primera part del circuit és un 555 temporitzador. És la primera imatge (vegeu més amunt) amb un xip 555 amb
Mirall màgic intel·ligent flotant des de l’ordinador portàtil antic amb reconeixement de veu Alexa: 6 passos (amb imatges)
Mirall màgic intel·ligent flotant des de l’ordinador portàtil antic amb reconeixement de veu Alexa: inscriviu-vos al meu curs “Electrònica en poques paraules” aquí: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Consulteu també el meu canal de youtube aquí per obtenir més projectes i tutorials d'electrònica: https://www.youtube.com/channel/UCelOO
Feu la vostra pròpia pantalla MQTT EInk per obtenir dades de temps, notícies i medi ambient: 7 passos
Feu la vostra pròpia pantalla MQTT EInk per a dades de temps, notícies i medi ambient: "THE" és una mini pantalla d'informació MQTT per a informació de temps, notícies i medi ambient. Utilitzant una pantalla eInk de 4,2 polzades, el seu concepte és senzill: mostrar informació rotatòria, actualitzant-se cada dos minuts. Les dades poden ser qualsevol feed - f
Mini mirall màgic per menys de $ 60 USD: 5 passos (amb imatges)
Mini mirall màgic per menys de $ 60 USD: un "mirall màgic" és un projecte on es col·loca un mirall bidireccional sobre una pantalla d'alguna mena. Quan la pantalla mostra píxels negres, el mirall és reflectant. Quan la pantalla mostra píxels blancs o més clars, brillen. Això crea un efecte de b
Llista de tasques en temps real amb Google Firebase: 12 passos
Llista de tasques en temps real amb Google Firebase: hey! Tots fem servir llistes de tasques el dia a dia, ja sigui en línia o fora de línia. Tot i que les llistes fora de línia són susceptibles de perdre’s, les llistes virtuals es poden deixar de situar, esborrar accidentalment o fins i tot oblidar-les. Així que vam decidir fer-ne un a Google Firebase