Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Installere Raspbian
- Trinn 2: WiFi -konfigurasjon
- Trinn 3: Programvareinstallasjon og -konfigurasjon
- Trinn 4: Databasen
- Trinn 5: Bygg speilrammen
- Trinn 6: Elektronikken
- Trinn 7: Montering av elektronikken i rammen
- Trinn 8: Etterbehandling
- Trinn 9: Samhandle med Webapp
Video: Magisk speil med nyheter, vær, alarm, tidtaker og Todolist: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
A Magic Mirror er et spesielt enveis speil med et display bak. Displayet, som er koblet til en Raspberry Pi, viser informasjon som vær, romtemperatur, tid, dato, en todolist og mye mer. Du kan til og med legge til en mikrofon og sette opp en smart assistent. Mulighetene er uendelige.
Dette prosjektet kan være ganske dyrt, en av de dyreste delene du trenger er selvfølgelig displayet. Derfor resirkulerte jeg en skjerm fra en gammel bærbar datamaskin. Jeg anbefaler imidlertid å få et stort, lyst, display med høy kontrast for å lage dette prosjektet. Det er verdt det.
Speilet jeg laget har disse funksjonene:
- Nyheter fra en brukervalgt RSS-feed
- Vær
- Innetemperatur
- Et alarmsystem
- Et tidtakersystem
- En todolist
- Flere brukere: ledstrip -fargen og ny ressursendring basert på hvilken bruker som er valgt.
Rekvisita
For å bygge dette Magic Mirror trenger du:
- Et enveis speil
- Tre
- En bringebær Pi
- Et Micro SD -kort (8+GB)
- Et brødbrett
- To 20W høyttalere
- MAX9744 20W forsterker for å drive høyttalerne
- 1m 30-ledet WS2801 ledstrip
- DS18B20 1-leder temperatursensor
- HC-SR501 Infrarød sensor
- En roterende encoder
-
En skjerm eller en gammel bærbar skjerm
Hvis du bruker en gammel bærbar skjerm, må du kjøpe en bærbar skjermadapter. Du kan få disse fra AliExpress, Ebay eller Amazon. Bare søk etter serienummeret på skjermen
Du trenger også følgende små komponenter:
- En diode
- En motstand på 4,7 k Ohm
- En 470 Ohm motstand
- Ledninger for å koble sensorer til Raspberry Pi
Og disse strømforsyningene:
- 5V 2A for å drive ledstripen
- 12V 2A for å slå på skjermen
- 12V 2A for å forsterke forsterkeren
- 5.1V 3A for å drive Raspberry Pi (bruk en offisiell RPi -strømforsyning)
Trinn 1: Installere Raspbian
Skjermen og alle komponentene bak speilet drives av Raspberry Pi. Du må installere Raspbian, Pi -standardoperativsystemet, på SD -kortet.
- Last ned Win32 Disk Imager. Linux- og MacOS -brukere kan bruke noe som Etcher.
- Last ned det nyeste Raspbian -bildet fra Raspberry Pi -nettstedet. Velg alternativet 'Raspbian Buster with desktop'
- Åpne Win32 Disk Imager og skriv bildefilen til SD -kortet.
SD -kortet er nå nesten klart. Vi trenger bare å sørge for at vi kan koble til Raspberry Pi eksternt:
- Gå til SD -kortets oppstartspartisjon ved hjelp av systemets filutforsker.
- Legg til en fil som heter 'ssh' uten utvidelse.
- Legg til 'ip = 169.254.10.1' (uten anførselstegn) til slutten av den første linjen med 'cmdline.txt'.
Ta ut SD -kortet på en trygg måte fra datamaskinen, legg det i Raspberry Pi og start det.
Trinn 2: WiFi -konfigurasjon
For å skanne WiFi -nettverk, utfør følgende kommando:
sudo iw dev wlan0 scan | grep SSID
Du vil se listen over alle SSID -er som Raspberry Pi kan koble til.
Opprett en nettverksoppføring med et kryptert passord ved å utføre følgende kommando og skrive inn nettverkets passord:
wpa_passphrase "YOUR_NETWORK_SSID_HERE"
Lim inn utdataene fra kommandoen ovenfor i denne filen:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Start Raspberry Pi på nytt. Du blir koblet til internett.
Trinn 3: Programvareinstallasjon og -konfigurasjon
For dette prosjektet må du laste ned disse pakkene til din Raspberry Pi:
pip3 installer mysql-connector-python kolbe-socketio kolbe-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744
sudo apt installer apache2 mariadb-server
Legg til denne linjen nederst på /boot/config.txt for å aktivere lyd gjennom GPIO -pinner 12 (venstre) og 13 (høyre):
dtoverlay = audremap
Bruk raspi-config for å angi skjermens oppløsning og for å aktivere i2c, One-wire og SPI. Sett også oppstartsmetoden til 'Desktop Autologin'.
I/etc/xdg/lxsession/LXDE-pi/autostart, legg til følgende:
@xset s off@xset -dpms@xset s noblank@chromium -browser -kiosk 127.0.0.1/mirror.html # last krom etter oppstart og åpne nettstedet i fullskjermmodus
Dette åpner nettleseren på riktig side når LXDE (Raspbian -skrivebordsmiljø) lastes. Fjern eller kommenter @xscreensaver -linjen for å deaktivere skjermspareren.
Github -depot
Klon GitHub -depotet mitt og legg innholdet i Frontend -mappen i/var/www/html. Vi trenger Backend -mappen senere.
Trinn 4: Databasen
Dette er databaseskjemaet, optimalisert til 3NF. Den lagrer alle alarmer, nye kilder, brukere, sensordata, lyder og todolist.
- Bruk MySQL Workbench for å få tilgang til pis databaseserver (mariadb)
- Lag en database ved hjelp av dette skjemaet og sett inn dine egne data.
- Rediger config.py i Backend -mappen i GitHub -depotet mitt: endre databasenavnet, det valgte brukernavnet og passordet.
- Rediger app.py og endre URL -adressen til OpenWeatherMap API til din egen. (Lag din egen her)
Trinn 5: Bygg speilrammen
Jeg bygde rammen rundt speilet ved hjelp av gjæringsledd med metallhjørner. Treplankene jeg brukte er 18 mm tykke og 10 cm brede. På bildene kan du se de eksakte målingene for et 45cm x 60cm speil. Bak speilet er all elektronikk, så sørg for at planker er brede nok til å passe dem.
Jeg brukte metallkroker for å feste høyttalerne til rammen. På den måten hviler de ikke på speilet, og reduserer vibrasjonsspenning på glasset.
Trinn 6: Elektronikken
Følg skjemaene ovenfor for å bygge kretsen. Jeg brukte tape for å feste elektronikken til speilet.
Trinn 7: Montering av elektronikken i rammen
Etter å ha festet høyttalerne til metallkrokene på toppen, legger du til resten av elektronikken i speilet. Jeg la også en tynn treplank mellom speilet og elektronikken, så i stedet for å teppe elektronikken til speilet, teipet jeg elektronikken til treplanken. Den bærbare datamaskinens skjerm er hvitt panel nederst i speilet.
Som du kan se på bildene, koblet jeg til alle strømadaptere i en stikkontakt, så det er bare en kabel som forlater rammen. Derfor trengte jeg brede nok planker (10 cm).
Jeg boret et 2 cm bredt hull i høyre side av speilet for at den roterende encoderen skulle passe gjennom. Dette lar deg enkelt endre volum (sving) eller avvise timere og alarmer (push).
Jeg boret to 8 mm hull på hver side av speilet for å føre kablene for ledstripene.
Trinn 8: Etterbehandling
Jeg la en svart klut på baksiden av speilet for å skjule elektronikken. Det mørkner også innsiden av saken, noe som gjør det mye vanskeligere å se ledningene gjennom speilet. Jeg festet den med borrelås, noe som gjorde det lettere å få tilgang til elektronikken ved behov.
Kopier Backend -mappen fra Github -depotet mitt til et sted du vil huske.
Legg til en systemd -enhet slik at python -skriptet kjører ved oppstart:
sudo nano /etc/systemd/system/magicmirror.service
[Enhet]
Beskrivelse = Tjenesten for magicmirror python script Etter = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = arver StandardError = arver Restart = alltid Bruker = pi [Install] WantedBy = multi-user.target
Endre 'WorkingDirectory' til Backend -katalogen, og endre User til ditt eget brukernavn.
Trinn 9: Samhandle med Webapp
Surf til IP -adressen (som er på displayet). Du får se et mobilnettsted med følgende funksjoner:
- En interagerbar temperaturgrap
- En gang. Når timeren kjører, ser du også en nedtelling på selve speilet.
- Et alarmsystem
- En innstillingsfane, der du kan redigere brukere, nye kilder og høyttalervolum.
- En todolist. Todo -elementer vises på speilet
Mirror.html er siden som vises på Magic Mirror. Jeg la til et eksempel på bildene ovenfor.
Anbefalt:
Hvordan lage en tidtaker mindre kontakt for å vaske hendene #Covid-19: 3 trinn
Hvordan lage en tidtaker mindre kontakt for å vaske hendene #Covid-19: Hei! Denne opplæringen skal vise deg hvordan du får en timer mindre kontakt. faktisk i denne perioden med koronavirusepidemi er det veldig viktig å vaske hendene godt. Det er derfor jeg har laget denne timeren. Til denne timeren har jeg brukt en Nokia 5110 LCD
Flytende smart magisk speil fra gammel bærbar PC med Alexa stemmegjenkjenning: 6 trinn (med bilder)
Flytende smart magisk speil fra gammel bærbar datamaskin med Alexa stemmegjenkjenning: Registrer deg på mitt 'Elektronikk i et nøtteskall'-kurs her: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Sjekk også min youtube -kanal her for flere prosjekter og elektronikkopplæringer: https://www.youtube.com/channel/UCelOO
555 Justerbar tidtaker (del-2): 4 trinn
555 Justerbar tidtaker (del -2): Hei folkens! Lær hvordan du lager en nøyaktig justerbar timer med en variabel forsinkelse fra 1 - 100 sekunder som bruker en 555 IC. 555 -timeren er konfigurert som en monostabil multivibrator. La oss hente fra der vi dro sist gang. For folk som ikke så Par
AVR mikrokontroller. Lysdioder Blinker ved hjelp av tidtaker. Timere avbryter. Timer CTC -modus: 6 trinn
AVR mikrokontroller. Lysdioder Blinker ved hjelp av tidtaker. Timere avbryter. Timer CTC Mode: Hei alle! Timere er et viktig konsept innen elektronikk. Hver elektronisk komponent fungerer tidsmessig. Denne tidsbasen hjelper til med å holde alt arbeidet synkronisert. Alle mikrokontrollerne jobber med en forhåndsdefinert klokkefrekvens
Hvordan lage en smart korridor med konfigurerbar tidtaker: 6 trinn (med bilder)
Hvordan lage en smart korridor med en konfigurerbar tidtaker: Denne opplæringen viser hvordan du lager en smart korridor med en konfigurerbar tidtaker