INHOUDSOPGAWE:

Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist: 9 stappe
Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist: 9 stappe

Video: Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist: 9 stappe

Video: Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist: 9 stappe
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Mei
Anonim
Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist
Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist
Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist
Magic Mirror Met Nuus, Weer, Alarm, Timer en Todolist

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.

  1. Laai Win32 Disk Imager af. Linux- en MacOS -gebruikers kan iets soos Etcher gebruik.
  2. Laai die nuutste Raspbian -prent af van die Raspberry Pi -webwerf. Kies die opsie 'Raspbian Buster with desktop'
  3. 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:

  1. Gaan na die 'opstart' -partisie van die SD -kaart met die lêerverkenner van u stelsel.
  2. Voeg 'n lêer genaamd 'ssh' by sonder 'n uitbreiding.
  3. 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

Die databasis
Die databasis

Dit is die databasis skema, geoptimaliseer tot 3NF. Dit stoor al die alarms, nuusbronne, gebruikers, sensordata, klanke en die todolist.

  1. Gebruik MySQL Workbench om toegang tot die databasisbediener van u pi (mariadb) te verkry
  2. Skep 'n databasis met behulp van hierdie skema en voeg u eie data in.
  3. Wysig config.py in die Backend -lêergids van my GitHub -bewaarplek: verander die databasisnaam, u gekose gebruikersnaam en die wagwoord.
  4. Wysig app.py en verander die OpenWeatherMap API -URL na u eie. (Skep u eie hier)

Stap 5: Bou die spieëlraam

Bou die spieëlraam
Bou die spieëlraam
Bou die spieëlraam
Bou die spieëlraam
Bou die spieëlraamwerk
Bou die spieëlraamwerk

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

Die elektronika
Die elektronika
Die elektronika
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

Pas die elektronika in die raam
Pas die elektronika in die raam
Pas die elektronika in die raam
Pas die elektronika in die raam

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

Afwerking
Afwerking
Afwerking
Afwerking
Afwerking
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

Interaksie met die Webapp
Interaksie met die Webapp
Interaksie met die Webapp
Interaksie met die Webapp
Interaksie met die Webapp
Interaksie met die Webapp
Interaksie met die Webapp
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: