Turinys:
- Prekės
- 1 veiksmas: „Raspbian“diegimas
- 2 veiksmas: „WiFi“konfigūravimas
- 3 veiksmas: programinės įrangos diegimas ir konfigūravimas
- 4 žingsnis: duomenų bazė
- 5 žingsnis: veidrodžio rėmo kūrimas
- 6 žingsnis: Elektronika
- 7 žingsnis: Elektronikos montavimas į rėmą
- 8 žingsnis: Apdailos darbai
- 9 veiksmas: sąveika su žiniatinklio programa
Video: Magiškas veidrodis su naujienomis, oru, aliarmu, laikmačiu ir „Todolist“: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
„Magic Mirror“yra specialus vienpusis veidrodis su ekranu už jo. Prie Raspberry Pi prijungtame ekrane rodoma tokia informacija kaip oras, kambario temperatūra, laikas, data, todolistas ir daug daugiau. Jūs netgi galite pridėti mikrofoną ir nustatyti išmanųjį asistentą. Galimybės yra begalinės.
Šis projektas gali būti gana brangus, žinoma, viena iš brangiausių dalių, kurios jums reikės, yra ekranas. Todėl perdirbau ekraną iš seno nešiojamojo kompiuterio. Tačiau aš rekomenduoju įsigyti didelį, ryškų ir didelio kontrasto ekraną šiam projektui įgyvendinti. Tai verta.
Mano sukurtas veidrodis turi šias savybes:
- Naujienos iš vartotojo pasirinkto RSS kanalo
- Orai
- Vidinė temperatūra
- Signalizacijos sistema
- Laikmačio sistema
- Todolistas
- Keli vartotojai: LED juostos spalva ir naujienų šaltinis keičiasi pagal tai, kuris vartotojas yra pasirinktas.
Prekės
Norėdami sukurti šį stebuklingą veidrodį, jums reikės:
- Vienpusis veidrodis
- Mediena
- Aviečių Pi
- „Micro SD“kortelė (8+GB)
- Duonos lenta
- Du 20W garsiakalbiai
- MAX9744 20W stiprintuvas garsiakalbiams maitinti
- 1 m 30 LED WS2801 LED juostelė
- DS18B20 1 laidų temperatūros jutiklis
- HC-SR501 infraraudonųjų spindulių jutiklis
- Rotacinis kodavimo įrenginys
-
Monitorius arba senas nešiojamojo kompiuterio ekranas
Jei naudojate seną nešiojamojo kompiuterio ekraną, turėsite nusipirkti nešiojamojo kompiuterio ekrano adapterį. Juos galite gauti iš „AliExpress“, „Ebay“ar „Amazon“. Tiesiog ieškokite ekrano serijos numerio
Jums taip pat reikės šių mažų komponentų:
- Diodas
- 4,7 kΩ rezistorius
- 470 omų rezistorius
- Laidai, skirti jutikliams prijungti prie „Raspberry Pi“
Ir šie maitinimo šaltiniai:
- 5V 2A maitinti LED juostą
- 12V 2A maitinti ekraną
- 12V 2A stiprintuvui maitinti
- 5,1 V 3A maitinti „Raspberry Pi“(naudokite oficialų RPi maitinimo šaltinį)
1 veiksmas: „Raspbian“diegimas
Ekraną ir visus už veidrodžio esančius komponentus maitina „Raspberry Pi“. Į SD kortelę turėsite įdiegti „Raspbian“, numatytąją „Pi“operacinę sistemą.
- Atsisiųskite „Win32 Disk imager“. „Linux“ir „MacOS“vartotojai gali naudoti kažką panašaus į „Etcher“.
- Atsisiųskite naujausią „Raspbian“vaizdą iš „Raspberry Pi“svetainės. Pasirinkite parinktį „Raspbian Buster with desktop“
- Atidarykite „Win32 Disk Imager“ir įrašykite vaizdo failą į SD kortelę.
SD kortelė dabar beveik paruošta. Mes tiesiog turime įsitikinti, kad galime prisijungti prie „Raspberry Pi“nuotoliniu būdu:
- Eikite į SD kortelės įkrovos skaidinį naudodami sistemos failų naršyklę.
- Pridėkite failą pavadinimu „ssh“be plėtinio.
- Pridėkite „ip = 169.254.10.1“(be kabučių) pirmosios „cmdline.txt“eilutės pabaigoje.
Saugiai išimkite SD kortelę iš kompiuterio, įdėkite ją į „Raspberry Pi“ir paleiskite.
2 veiksmas: „WiFi“konfigūravimas
Norėdami nuskaityti „WiFi“tinklus, vykdykite šią komandą:
sudo iw dev wlan0 nuskaitymas | grep SSID
Pamatysite visų SSID, prie kurių „Raspberry Pi“gali prisijungti, sąrašą.
Sukurkite tinklo įrašą su užšifruotu slaptažodžiu, vykdydami šią komandą ir įvesdami tinklo slaptažodį:
wpa_passphrase "YOUR_NETWORK_SSID_HERE"
Dabar įklijuokite aukščiau pateiktos komandos išvestį į šį failą:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Dabar iš naujo paleiskite „Raspberry Pi“. Būsite prisijungę prie interneto.
3 veiksmas: programinės įrangos diegimas ir konfigūravimas
Šiam projektui į „Raspberry Pi“turėsite atsisiųsti šiuos paketus:
pip3 įdiegti „mysql-connector-python“kolbą-lizdo kolbą-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744
sudo apt įdiegti apache2 mariadb-server
Pridėkite šią eilutę prie /boot/config.txt apačios, kad įjungtumėte garsą per GPIO kaiščius 12 (kairėje) ir 13 (dešinėje):
dtoverlay = audremap
Naudokite raspi-config, kad nustatytumėte ekrano skiriamąją gebą ir įgalintumėte i2c, vieno laido ir SPI. Taip pat nustatykite įkrovos metodą „Desktop Autologin“.
Aplanke/etc/xdg/lxsession/LXDE-pi/autostart pridėkite:
@xset s išjungta@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # įkelkite chromą po įkrovos ir atidarykite svetainę viso ekrano režimu
Tai atveria naršyklę tinkamame puslapyje, kai įkeliama LXDE („Raspbian“darbalaukio aplinka). Taip pat pašalinkite arba komentuokite @xscreensaver eilutę, kad išjungtumėte ekrano užsklandą.
„Github“saugykla
Klonuokite mano „GitHub“saugyklą ir įdėkite „Frontend“aplanko turinį į/var/www/html. Vėliau mums reikės aplanko „Backend“.
4 žingsnis: duomenų bazė
Tai duomenų bazės schema, optimizuota iki 3NF. Jame saugomi visi aliarmai, naujienų šaltiniai, vartotojai, jutiklių duomenys, garsai ir todolist.
- Naudokite „MySQL Workbench“, kad pasiektumėte savo „pi“duomenų bazės serverį („mariadb“)
- Sukurkite duomenų bazę naudodami šią schemą ir įterpkite savo duomenis.
- Redaguokite config.py mano „GitHub“saugyklos vidiniame aplanke: pakeiskite duomenų bazės pavadinimą, pasirinktą vartotojo vardą ir slaptažodį.
- Redaguokite app.py ir pakeiskite „OpenWeatherMap“API URL į savo. (Sukurkite savo čia)
5 žingsnis: veidrodžio rėmo kūrimas
Aš pastatiau rėmą aplink veidrodį naudodami „Mitre“jungtis su metaliniais kampais. Mano naudojamos medinės lentos yra 18 mm storio ir 10 cm pločio. Nuotraukose galite pamatyti tikslius 45 cm x 60 cm veidrodžio išmatavimus. Už veidrodžio yra visa elektronika, todėl įsitikinkite, kad jūsų lentos yra pakankamai plačios, kad jas tilptų.
Garsiakalbius prie rėmo pritvirtinau metaliniais kabliukais. Tokiu būdu jie nesiremia į veidrodį, sumažindami vibracijos įtampą ant stiklo.
6 žingsnis: Elektronika
Norėdami sukurti grandinę, vadovaukitės aukščiau pateiktomis schemomis. Naudojau juostelę, kad pritvirtinčiau elektroniką prie veidrodžio.
7 žingsnis: Elektronikos montavimas į rėmą
Pritvirtinę garsiakalbius prie metalinių kablių viršuje, pridėkite likusią elektronikos dalį prie veidrodžio. Aš taip pat įdėjau ploną medinę lentą tarp veidrodžio ir elektronikos, todėl užuot priklijavusi elektroniką prie veidrodžio, aš priklijavau elektroniką prie medinės lentos. Nešiojamojo kompiuterio ekranas yra baltas skydelis veidrodžio apačioje.
Kaip matote paveikslėliuose, visus maitinimo adapterius įkišau į kelių lizdų lizdą, todėl iš rėmo lieka tik vienas kabelis. Štai kodėl man reikėjo pakankamai plačių lentų (10 cm).
Aš išgręžiau 2 cm pločio skylę dešinėje veidrodžio pusėje, kad sukamasis kodavimo įrenginys tilptų. Tai leidžia lengvai pakeisti garsumą (pasukti) arba atmesti laikmačius ir signalus (stumti).
Aš išgręžiau dvi 8 mm skylutes abiejose veidrodžio pusėse, kad galėčiau nukreipti laidus juostoms.
8 žingsnis: Apdailos darbai
Prie veidrodžio galo pridėjau juodą audeklą, kad paslėpčiau elektroniką. Tai taip pat tamsina korpuso vidų, todėl daug sunkiau matyti laidus per veidrodį. Aš jį pritvirtinau velcro, kad prireikus būtų lengviau pasiekti elektroniką.
Nukopijuokite „Backend“aplanką iš mano „Github“saugyklos į vietą, kurią prisiminsite.
Pridėkite sisteminį vienetą, kad „python“scenarijus būtų paleistas paleidžiant:
sudo nano /etc/systemd/system/magicmirror.service
[Vienetas]
Aprašymas = „magicmirror python“scenarijaus paslauga After = network.target [Paslauga] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = paveldėti StandardError = paveldėti Paleisti iš naujo = visada Vartotojas = pi [Įdiegti] WantedBy = multi-user.target
Pakeiskite „WorkingDirectory“į „Backend“katalogą ir pakeiskite „User“į savo vartotojo vardą.
9 veiksmas: sąveika su žiniatinklio programa
Naršykite IP adresą (kuris rodomas ekrane). Pamatysite svetainę, skirtą pirmiausia mobiliesiems, su šiomis funkcijomis:
- Sąveikaujantis temperatūros matuoklis
- Laikas. Kai laikmatis veikia, pačiame veidrodyje taip pat matysite atgalinę atskaitą.
- Signalizacijos sistema
- Nustatymų skirtukas, kuriame galite redaguoti naudotojus, naujienų šaltinius ir garsiakalbių garsumą.
- Todolistas. Užduotys bus rodomos veidrodyje
„Mirror.html“yra puslapis, rodomas „Magic Mirror“. Aukščiau esančiuose paveikslėliuose pridėjau pavyzdį.
Rekomenduojamas:
Magiškas mygtukas 4k: 20 USD BMPCC 4k (arba 6 k) belaidis nuotolinio valdymo pultas: 4 žingsniai (su nuotraukomis)
Stebuklingas mygtukas 4k: 20 USD belaidis nuotolinio valdymo pultas BMPCC 4k (arba 6 k): Daugelis žmonių paprašė manęs pasidalinti informacija apie mano belaidį valdiklį, skirtą BMPCC4k. Dauguma klausimų buvo susiję su „Bluetooth“valdymu, todėl paminėsiu keletą detalių. Manau, kad esate susipažinę su ESP32 „Arduino“aplinka
Automatinė šviesos tvoros grandinė su aliarmu: 4 žingsniai
Automatinė šviesos tvoros grandinė su aliarmu: Sveiki visi. Čia aš grįžau su nauja instrukcija. Šviesos tvoros grandinė naudojama aptikti bet kurio žmogaus ar objekto buvimą tam tikroje srityje. Šviesos tvoros aptikimo diapazonas yra apie 1,5–3 metrus. Suprojektuoti yra gana paprasta
ESP32 NTP temperatūros zondo virimo termometras su Steinhart-Hart korekcija ir temperatūros aliarmu: 7 žingsniai (su nuotraukomis)
ESP32 NTP temperatūros zondo virimo termometras su Steinhart-Hart korekcija ir temperatūros aliarmu: vis dar keliaujate užbaigti „būsimo projekto“, „ESP32 NTP temperatūros zondo virimo termometras su Steinhart-Hart korekcija ir temperatūros aliarmu“. yra instrukcija, rodanti, kaip pridedu NTP temperatūros zondą, pjezo b
Didelio nuotolio belaidis vandens lygio indikatorius su aliarmu - Diapazonas iki 1 km - Septyni lygiai: 7 žingsniai
Didelio nuotolio belaidis vandens lygio indikatorius su aliarmu | Diapazonas iki 1 km | Septyni lygiai: žiūrėkite „Youtube“: https://youtu.be/vdq5BanVS0YGalbūt matėte daug laidinio ir belaidžio vandens lygio indikatorių, kurie užtikrintų atstumą iki 100–200 metrų. Tačiau šioje pamokoje pamatysite ilgo nuotolio belaidžio vandens lygio indikatorių
Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: 5 žingsniai
Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: Šiame tinklaraštyje bus parodyta, kaip sukurti namų automatikos sistemą, kuri pradės skambėti, kai temperatūra pasieks didesnę nei užprogramuota slenkstinė vertė. LCD ekrane ir toliau bus rodoma esama patalpos temperatūra ir reikalingi veiksmai