INHOUDSOPGAWE:
- Voorrade
- Stap 1: Installeer Raspbian
- Stap 2: WiFi -konfigurasie
- Stap 3: Sagteware -installasie en -konfigurasie
- Stap 4: Die databasis
- Stap 5: Bou die spieëlraam
- Stap 6: Die elektronika
- Stap 7: pas die elektronika in die raam in
- Stap 8: afwerking
- Stap 9: Interaksie met die Webapp
Video: Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist: 9 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
A Magic Mirror is 'n spesiale eenrigtingspieël met 'n skerm daaragter. Die skerm, wat aan 'n Raspberry Pi gekoppel is, toon inligting soos weer, kamertemperatuur, tyd, datum, 'n todolist en nog baie meer. U kan selfs 'n mikrofoon byvoeg en 'n slim assistent instel. Die moontlikhede is eindeloos.
Hierdie projek kan redelik duur wees, maar natuurlik is die skerm ook een van die duurste onderdele wat u benodig. Daarom het ek 'n skerm van 'n ou skootrekenaar herwin. Ek beveel egter aan dat u 'n groot, helder skerm met 'n hoë kontras kry om hierdie projek te maak. Dit is die moeite werd.
Die spieël wat ek gemaak het, het die volgende kenmerke:
- Nuus van 'n gebruiker-gekose RSS-feed
- Weer
- Binne temperatuur
- 'N Alarmstelsel
- 'N Tydstelsel
- 'N Todolis
- Meervoudige gebruikers: die ledstrip -kleur en die verandering van nuwe bronne, gebaseer op watter gebruiker gekies is.
Voorrade
Om hierdie Magic Mirror te bou, benodig jy:
- 'N Eenrigting spieël
- Hout
- 'N Framboos Pi
- 'N Micro SD -kaart (8+GB)
- 'N Broodplank
- Twee 20W luidsprekers
- MAX9744 20W versterker om die luidsprekers aan te dryf
- 1m 30-geleide WS2801 ledstrip
- DS18B20 1-draads temperatuursensor
- HC-SR501 Infrarooi sensor
- 'N Draaikodeerder
-
'N Monitor of 'n ou skootrekenaarskerm
As u 'n ou skootrekenaarskerm gebruik, moet u 'n skootrekenaaradapter koop. U kan dit op AliExpress, Ebay of Amazon kry. Soek net die reeksnommer van u skerm
U benodig ook die volgende klein komponente:
- 'N Diode
- 'N Weerstand van 4,7k Ohm
- 'N Weerstand van 470 Ohm
- Drade om sensors aan die Raspberry Pi te koppel
En hierdie kragtoevoer:
- 5V 2A om die ledstrip aan te dryf
- 12V 2A om die skerm aan te skakel
- 12V 2A om die versterker aan te dryf
- 5.1V 3A om die Raspberry Pi aan te skakel (gebruik 'n amptelike RPi -kragtoevoer)
Stap 1: Installeer Raspbian
Die skerm en alle komponente agter die spieël word aangedryf deur die Raspberry Pi. U moet Raspbian, die standaard bedryfstelsel van die Pi, op die SD -kaart installeer.
- Laai Win32 Disk Imager af. Linux- en MacOS -gebruikers kan iets soos Etcher gebruik.
- Laai die nuutste Raspbian -prent af van die Raspberry Pi -webwerf. Kies die opsie 'Raspbian Buster with desktop'
- Maak Win32 Disk Imager oop en skryf die prentlêer op die SD -kaart.
Die SD -kaart is nou amper gereed. Ons moet net seker maak dat ons op afstand met die Raspberry Pi kan skakel:
- Gaan na die 'opstart' -partisie van die SD -kaart met die lêerverkenner van u stelsel.
- Voeg 'n lêer genaamd 'ssh' by sonder 'n uitbreiding.
- Voeg 'ip = 169.254.10.1' (sonder aanhalingstekens) by aan die einde van die eerste reël van 'cmdline.txt'.
Gooi die SD -kaart veilig uit u rekenaar, plaas dit in u Raspberry Pi en start dit.
Stap 2: WiFi -konfigurasie
Voer die volgende opdrag uit om WiFi -netwerke te skandeer:
sudo iw dev wlan0 scan | grep SSID
U sien die lys van alle SSID's waarmee u Raspberry Pi kan koppel.
Skep 'n netwerkinskrywing met 'n geïnkripteer wagwoord deur die volgende opdrag uit te voer en die netwerkwagwoord in te voer:
wpa_passfrase "YOUR_NETWORK_SSID_HERE"
Plak nou die uitvoer van die bogenoemde opdrag in hierdie lêer:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Herlaai nou die Raspberry Pi. U sal aan die internet gekoppel wees.
Stap 3: Sagteware -installasie en -konfigurasie
Vir hierdie projek moet u hierdie pakkette na u Raspberry Pi aflaai:
pip3 installeer mysql-connector-python-fles-socketio-fles-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744
sudo apt installeer apache2 mariadb-bediener
Voeg hierdie reël onderaan /boot/config.txt by om klank deur GPIO -penne 12 (links) en 13 (regs) moontlik te maak:
dtoverlay = audremap
Gebruik raspi-config om die resolusie van u skerm in te stel en om i2c, eendraad en SPI in te skakel. Stel die opstartmetode ook in op 'Desktop Autologin'.
Voeg in/etc/xdg/lxsession/LXDE-pi/autostart die volgende by:
@xset s af@xset -dpms@xset s noblank@chromium -blaaier -kiosk 127.0.0.1/mirror.html # laai chroom na opstart en maak die webwerf in volle skermmodus oop
Dit maak die blaaier op die regte bladsy oop wanneer LXDE (Raspbian se lessenaaromgewing) laai. Verwyder of lewer ook kommentaar op die reël @xscreensaver om die skermbewaarder uit te skakel.
Github -bewaarplek
Kloon my GitHub -bewaarplek en plaas die inhoud van die Frontend -lêergids in/var/www/html. Ons sal later die gids Backend nodig hê.
Stap 4: Die databasis
Dit is die databasis skema, geoptimaliseer tot 3NF. Dit stoor al die alarms, nuusbronne, gebruikers, sensordata, klanke en die todolist.
- Gebruik MySQL Workbench om toegang tot die databasisbediener van u pi (mariadb) te verkry
- Skep 'n databasis met behulp van hierdie skema en voeg u eie data in.
- Wysig config.py in die Backend -lêergids van my GitHub -bewaarplek: verander die databasisnaam, u gekose gebruikersnaam en die wagwoord.
- Wysig app.py en verander die OpenWeatherMap API -URL na u eie. (Skep u eie hier)
Stap 5: Bou die spieëlraam
Ek het die raam om die spieël gebou met behulp van verstekverbindings met metaalhoeke. Die houtplanke wat ek gebruik het, is 18 mm dik en 10 cm breed. Op die beelde kan u die presiese afmetings van 'n spieël van 45 x 60 cm sien. Agter die spieël is al die elektronika, dus maak seker dat jou planke wyd genoeg is om daarby te pas.
Ek het metaalhake gebruik om die luidsprekers aan die raam vas te maak. Op hierdie manier rus hulle nie op die spieël nie, wat die spanning van die glas verminder.
Stap 6: Die elektronika
Volg die skemas hierbo om die stroombaan te bou. Ek het band gebruik om die elektronika aan die spieël vas te maak.
Stap 7: pas die elektronika in die raam in
Nadat u die luidsprekers bo -aan die metaalhake vasgemaak het, voeg die res van die elektronika by die spieël. Ek het ook 'n dun houtplank tussen die spieël en die elektronika geplaas, so in plaas daarvan om die elektronika aan die spieël vas te plak, het ek die elektronika aan die houtplank vasgemaak. Die skerm van die skootrekenaar is 'n wit paneel onderaan die spieël.
Soos u op die foto's kan sien, het ek alle stroomadapters in 'n multi-socket-aansluiting gekoppel, sodat daar net een kabel uit die raam is. Dit is hoekom ek breed genoeg planke (10 cm) nodig gehad het.
Ek het 'n gat van 2 cm breed aan die regterkant van die spieël geboor sodat die draaikodeerder daardeur pas. Hiermee kan u die volume maklik verander (draai) of timers en alarms afskakel (druk).
Ek het twee 8 mm gate aan weerskante van die spieël geboor om die kabels vir die ledstrips te lei.
Stap 8: afwerking
Ek het 'n swart lap aan die agterkant van die spieël aangebring om die elektronika weg te steek. Dit maak ook die binnekant van die omhulsel donkerder, wat dit baie moeiliker maak om die drade deur die spieël te sien. Ek het dit met klittenband vasgemaak, sodat ek makliker toegang tot die elektronika kon kry as dit nodig was.
Kopieer die Backend -gids van my Github -bewaarplek na 'n plek wat u sal onthou.
Voeg 'n systemd -eenheid by sodat die python -skrip tydens die opstart loop:
sudo nano /etc/systemd/system/magicmirror.service
[Eenheid]
Description = Die diens vir die magicmirror python script After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = erwe StandardError = erwe Herstart = altyd Gebruiker = pi [Installeer] WantedBy = multi-user.target
Verander 'WorkingDirectory' na die Backend -gids en verander gebruiker na u eie gebruikersnaam.
Stap 9: Interaksie met die Webapp
Blaai na die IP -adres (wat op die skerm verskyn). U sien 'n eerste mobiele webwerf met die volgende funksies:
- 'N Interaksionele temperatuurgrap
- N tyd. As die timer loop, sien u ook 'n aftelling op die spieël self.
- 'N Alarmstelsel
- 'N Instellingsoortjie waar u gebruikers, nuwe bronne en luidsprekervolume kan wysig.
- 'N Todolis. Todo -items word op die spieël vertoon
Mirror.html is die bladsy wat op die Magic Mirror vertoon word. Ek het 'n voorbeeld bygevoeg in die prente hierbo.
Aanbeveel:
NODEMCU EN VISUINO DISPLAY LEEF NUUS VAN INTERNET: 8 stappe
NODEMCU EN VISUINO DISPLAY LEEF NUUS VAN INTERNET: In hierdie tutoriaal gebruik ons NodeMCU Mini, OLED Lcd en Visuino om elke paar sekondes lewendige NUUS van die internet op LCD te wys. Kyk na 'n demonstrasievideo
Maak u eie MQTT EK -skerm vir tyd, nuus en omgewingsdata: 7 stappe
Maak u eie MQTT -ink -vertoning vir tyd-, nuus- en omgewingsdata: 'THE' is 'n mini -MQTT -inligtingskerm vir tyd-, nuus- en omgewingsinligting. Die konsep is eenvoudig met 'n e-skerm van 4,2 duim-om inligting op 'n rotasiebasis te vertoon en elke paar minute by te werk. Die data kan enige voer wees - f
Bou 'n weer -dashboard met behulp van Dark Sky API: 5 stappe (met foto's)
Bou 'n weer -dashboard met behulp van Dark Sky API: Dark Sky spesialiseer in weervoorspelling en visualisering. Die coolste aspek van Dark Sky is hul weer -API wat ons kan gebruik om die weerdata van byna oral ter wêreld op te haal. Dit is nie net reënerig of sonnig nie, maar temperatuur
Mini Magic Mirror vir minder as $ 60 USD: 5 stappe (met foto's)
Mini Magic Mirror vir minder as $ 60 USD: 'n 'Magic MIrror' is 'n projek waar 'n tweerigtingspieël op 'n soort skerm geplaas word. Waar die skerm swart pixels toon, is die spieël weerkaatsend. Waar die skerm wit of ligter pixels toon, skyn dit deur. Dit skep 'n effek van b
Spesiale Halloween -versiering - Magic Mirror: 5 stappe (met foto's)
Spesiale Halloween -versiering - Magic Mirror: Ek het 'n towerspieël gemaak as 'n spesiale Halloween -versiering. Dit is baie interessant. U kan alles tot die spieël spreek, enige vraag of 'n klein geheim. Na 'n rukkie verskyn die antwoord in die spieël. Dit is 'n towerkuns. hahah ….. Kinders hou daarvan