Satura rādītājs:

Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu: 9 soļi
Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu: 9 soļi

Video: Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu: 9 soļi

Video: Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu: 9 soļi
Video: Farnborough aviācijas šovs 2024, Jūlijs
Anonim
Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu
Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu
Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu
Burvju spogulis ar jaunumiem, laika apstākļiem, modinātāju, taimeri un todolistu

Burvju spogulis ir īpašs vienvirziena spogulis ar displeju aiz tā. Displejā, kas ir savienots ar Raspberry Pi, tiek parādīta tāda informācija kā laika apstākļi, istabas temperatūra, laiks, datums, todolists un daudz kas cits. Jūs pat varētu pievienot mikrofonu un iestatīt viedo palīgu. Iespējas ir bezgalīgas.

Šis projekts var būt diezgan dārgs, viena no dārgākajām detaļām, kas jums nepieciešama, protams, ir displejs. Tāpēc es pārstrādāju displeju no veca klēpjdatora. Tomēr es iesaku iegūt lielu, spilgtu, augsta kontrasta displeju, lai izveidotu šo projektu. Tas ir tā vērts.

Manis veidotajam spogulim ir šādas īpašības:

  • Ziņas no lietotāja izvēlētas RSS plūsmas
  • Laikapstākļi
  • Iekšējā temperatūra
  • Signalizācijas sistēma
  • Taimera sistēma
  • Todolists
  • Vairāki lietotāji: mainās LED joslas krāsa un ziņu avots, pamatojoties uz to, kurš lietotājs ir atlasīts.

Piegādes

Lai izveidotu šo burvju spoguli, jums būs nepieciešams:

  • Vienvirziena spogulis
  • Koks
  • Aveņu Pi
  • Micro SD karte (8+GB)
  • Maizes dēlis
  • Divi 20W skaļruņi
  • MAX9744 20W pastiprinātājs skaļruņu barošanai
  • 1 m 30 vadīta WS2801 LED sloksne
  • DS18B20 1 vadu temperatūras sensors
  • HC-SR501 Infrasarkanais sensors
  • Rotējošs kodētājs
  • Monitors vai vecs klēpjdatora displejs

    Ja izmantojat veco klēpjdatora displeju, jums būs jāiegādājas klēpjdatora displeja adapteris. Jūs varat tos iegūt no AliExpress, Ebay vai Amazon. Vienkārši meklējiet displeja sērijas numuru

Jums būs nepieciešami arī šādi mazi komponenti:

  • Diodes
  • 4,7 kΩ pretestība
  • 470 omu rezistors
  • Vadi sensoru savienošanai ar Raspberry Pi

Un šie barošanas avoti:

  • 5V 2A, lai barotu LED joslu
  • 12V 2A, lai barotu displeju
  • 12V 2A pastiprinātāja barošanai
  • 5,1 V 3A, lai barotu Raspberry Pi (izmantojiet oficiālu RPi barošanas avotu)

1. darbība: Raspbian instalēšana

Displeju un visas detaļas aiz spoguļa darbina Raspberry Pi. Jums būs jāinstalē Raspbian, Pi noklusējuma operētājsistēma, SD kartē.

  1. Lejupielādējiet Win32 Disk imager. Linux un MacOS lietotāji var izmantot kaut ko līdzīgu Etcher.
  2. Lejupielādējiet jaunāko Raspbian attēlu no vietnes Raspberry Pi. Izvēlieties opciju “Raspbian Buster with desktop”
  3. Atveriet Win32 Disk Imager un ierakstiet attēla failu SD kartē.

SD karte tagad ir gandrīz gatava. Mums vienkārši jāpārliecinās, vai varam izveidot savienojumu ar Raspberry Pi attālināti:

  1. Dodieties uz SD kartes sāknēšanas nodalījumu, izmantojot sistēmas failu pārlūku.
  2. Pievienojiet failu ar nosaukumu 'ssh' bez paplašinājuma.
  3. Pievienojiet “ip = 169.254.10.1” (bez pēdiņām) “cmdline.txt” pirmās rindas beigās.

Droši izņemiet SD karti no datora, ievietojiet to savā Raspberry Pi un ielādējiet to.

2. darbība: WiFi konfigurācija

Lai skenētu WiFi tīklus, izpildiet šādu komandu:

sudo iw dev wlan0 skenēšana | grep SSID

Jūs redzēsit sarakstu ar visiem SSID, ar kuriem Raspberry Pi var izveidot savienojumu.

Izveidojiet tīkla ierakstu ar šifrētu paroli, izpildot šādu komandu un ievadot tīkla paroli:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Tagad ielīmējiet iepriekš minētās komandas izvadi šajā failā:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Tagad restartējiet Raspberry Pi. Jūs būsit savienots ar internetu.

3. darbība: programmatūras instalēšana un konfigurēšana

Šim projektam Raspberry Pi jums būs jālejupielādē šīs paketes:

pip3 instalēt mysql-savienotājs-python kolba-socketio kolba-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt instalēt apache2 mariadb-server

Pievienojiet šo rindiņu /boot/config.txt apakšdaļai, lai iespējotu audio caur GPIO tapām 12 (pa kreisi) un 13 (pa labi):

dtoverlay = audremap

Izmantojiet raspi-config, lai iestatītu displeja izšķirtspēju un iespējotu i2c, One-wire un SPI. Iestatiet arī sāknēšanas metodi uz 'Desktop Autologin'.

Failā/etc/xdg/lxsession/LXDE-pi/autostart pievienojiet šo:

@xset s izslēgts@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # pēc ielādes ielādējiet hromu un atveriet vietni pilnekrāna režīmā

Tas atver pārlūkprogrammu pareizajā lapā, kad tiek ielādēta LXDE (Raspbian darbvirsmas vide). Noņemiet vai komentējiet arī @xscreensaver līniju, lai atspējotu ekrānsaudzētāju.

Github krātuve

Klonējiet manu GitHub krātuvi un ievietojiet Frontend mapes saturu mapē/var/www/html. Vēlāk mums būs nepieciešama mape Backend.

4. darbība. Datu bāze

Datu bāze
Datu bāze

Šī ir datu bāzes shēma, optimizēta 3NF. Tas saglabā visus trauksmes signālus, ziņu avotus, lietotājus, sensoru datus, skaņas un todolistu.

  1. Izmantojiet MySQL Workbench, lai piekļūtu sava pi datu bāzes serverim (mariadb)
  2. Izveidojiet datu bāzi, izmantojot šo shēmu, un ievietojiet savus datus.
  3. Rediģējiet config.py mana GitHub repozitorija mapē Backend: mainiet datu bāzes nosaukumu, izvēlēto lietotājvārdu un paroli.
  4. Rediģējiet app.py un mainiet OpenWeatherMap API URL uz savu. (Izveidojiet savu šeit)

5. darbība. Spoguļa rāmja izveide

Spoguļa rāmja veidošana
Spoguļa rāmja veidošana
Spoguļa rāmja veidošana
Spoguļa rāmja veidošana
Spoguļa rāmja veidošana
Spoguļa rāmja veidošana

Es izveidoju rāmi ap spoguli, izmantojot Mitre savienojumus ar metāla stūriem. Koka dēļi, kurus izmantoju, ir 18 mm biezi un 10 cm plati. Attēlos varat redzēt precīzus 45 cm x 60 cm spoguļa izmērus. Aiz spoguļa atrodas visa elektronika, tāpēc pārliecinieties, vai dēļi ir pietiekami plaši, lai tie ietilptu.

Es izmantoju metāla āķus, lai piestiprinātu skaļruņus pie rāmja. Tādā veidā tie neatbalstās uz spoguļa, samazinot vibrācijas stresu uz stikla.

6. solis: elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Izveidojiet shēmu, lai izveidotu ķēdi. Es izmantoju lenti, lai piestiprinātu elektroniku pie spoguļa.

7. solis: elektronikas uzstādīšana rāmī

Elektronikas uzstādīšana rāmī
Elektronikas uzstādīšana rāmī
Elektronikas uzstādīšana rāmī
Elektronikas uzstādīšana rāmī

Pēc skaļruņu piestiprināšanas pie metāla āķiem augšpusē pievienojiet pārējo elektroniku spogulim. Es arī ievietoju plānu koka dēli starp spoguli un elektroniku, tāpēc tā vietā, lai piestiprinātu elektroniku pie spoguļa, es līmēju elektroniku ar koka dēli. Klēpjdatora displejs ir balts panelis spoguļa apakšā.

Kā redzat attēlos, es pievienoju visus strāvas adapterus vairāku kontaktligzdu kontaktligzdai, tāpēc no rāmja ir tikai viens kabelis. Tāpēc man vajadzēja pietiekami plašus dēlus (10 cm).

Es urbju 2 cm platu caurumu spoguļa labajā pusē, lai rotējošais kodētājs varētu iziet cauri. Tas ļauj viegli mainīt skaļumu (pagriezt) vai atlaist taimeri un trauksmes signālus (push).

Es izurbju divus 8 mm caurumus abās spoguļa pusēs, lai novietotu kabeļus gaismas joslām.

8. solis: apdares darbi

Apdares darbi
Apdares darbi
Apdares darbi
Apdares darbi
Apdares darbi
Apdares darbi

Es pievienoju melnu drānu spoguļa aizmugurē, lai paslēptu elektroniku. Tas arī aptumšo korpusa iekšpusi, kas ievērojami apgrūtina vadu redzēšanu caur spoguli. Es to piestiprināju ar velcro, lai vajadzības gadījumā būtu vieglāk piekļūt elektronikai.

Kopējiet mapi Backend no manas Github krātuves uz vietu, kuru atcerēsities.

Pievienojiet sistemātisku vienību, lai python skripts darbotos sāknēšanas laikā:

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

[Vienība]

Apraksts = pakalpojums magicmirror python skriptam Pēc = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = mantot StandardError = pārmantot Restart = vienmēr Lietotājs = pi [Instalēt] WantedBy = multi-user.target

Mainiet “WorkingDirectory” uz aizmugures direktoriju un nomainiet Lietotāju uz savu lietotājvārdu.

9. darbība: mijiedarbība ar tīmekļa lietotni

Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp
Mijiedarbība ar Webapp

Pārlūkojiet IP adresi (kas ir redzama displejā). Jūs redzēsit vietni, kas paredzēta mobilajām ierīcēm un kurām ir šādas funkcijas:

  • Mijiedarbojams temperatūras grafiks
  • Laiks. Kad taimeris darbojas, jūs redzēsit arī atpakaļskaitīšanu uz paša spoguļa.
  • Signalizācijas sistēma
  • Iestatījumu cilne, kurā varat rediģēt lietotājus, ziņu avotus un skaļruņu skaļumu.
  • Todolists. Uz spoguļa tiks parādīti uzdevumi

Mirror.html ir lapa, kas tiek parādīta Magic Mirror. Iepriekš attēlos pievienoju piemēru.

Ieteicams: