Hoe een Raspberry Pi Smart Mirror te bouwen!

Dag iedereen!

Voor mijn laatste project computerwetenschappen besloot ik een Smart Mirror te bouwen, aangedreven door een Raspberry Pi 3! Ik kreeg dit idee van Hacker House, een geweldig YouTube-kanaal met veel interessante ideeën voor creatieve projecten die gemakkelijk te volgen instructies bevatten! Hoewel ik me vooral concentreer op coderen in Java, kon ik met deze Smart Mirror een Raspberry Pi bewerken door te coderen in Linux en Python, talen die ik nog nooit eerder had gebruikt. Ik heb ook een aantal interessante houtbewerkingen gedaan door het frame rond de monitor te bouwen, achter de bidirectionele spiegel. Hoewel dit mijn allereerste Raspberry Pi-project was, kostte het me ongeveer twee weekenden om te voltooien, van het coderen van de Pi tot het schilderen van het frame. Het was een geweldige ervaring om dit te bouwen en ik hoop dat deze tutorial je helpt je eigen te maken!

Stap 1: wat je nodig hebt

Voordat u begint, volgt hier een lijst met alle vereiste items voor het project:

  1. Raspberry Pi (ik gebruikte de Raspberry Pi 3 Model B-versie, omdat deze gemakkelijk toegankelijk is en een eenvoudig te installeren draadloze optie heeft)
  2. Monitor (ik gebruikte een 12 "x 20" Samsung-monitor met een HDMI-ingang)
  3. Two Way Acrylic Glass Mirror (er zijn er enkele online, maar ik heb de goedkopere Hacker House aanbevolen - zie link onderaan)
  4. 4 x 3D-geprinte beugels (deze zijn niet nodig, maar ze maken het gemakkelijker om het frame te huisvesten. Nogmaals, Hacker House heeft een website die de STL- en zip-bestanden levert voor het ontwerp van de beugels - zie link onderaan)
  5. HDMI kabel
  6. Micro HDMI-kabel voor Pi-voeding
  7. Houtlijm
  8. Schroeven
  9. Hout (ik gebruikte twee stukken van 8 ft lang (een 1 "x 3" en een 1 "x 4") om het binnen- en buitenframe te snijden)
  10. Toetsenbord (USB)
  11. Muis (USB)
  12. Klemmen

3D-haakjes ~

//www.hackerhouse.site/parts.html

Bidirectionele spiegel ~

//www.amazon.com/gp/product/B01CZ35XWY/ref=o ...

Stap 2: De Raspberry Pi instellen

Om ervoor te zorgen dat de Pi informatie ontvangt van de Magic Mirror-modules die online zijn gevonden, is het van cruciaal belang om uw wifi en tijdzone in te stellen. Zodra het besturingssysteem "Raspbian" is geïnstalleerd (ik gebruikte de "Jessie" -versie) op uw micro SD-kaart, sluit u uw toetsenbord en muis aan op de Pi en sluit u de HDMI-kabel aan op de monitor die u gaat gebruiken. Wacht tot het systeem opstart, dan kun je beginnen met het configureren van de Pi naar jouw locatie. Klik eerst op het Wi-Fi-symbool in de rechterbovenhoek van het scherm. Kies uw internet en voer uw wachtwoord in. U zou dan verbonden moeten zijn met uw Wi-Fi. Zodra je dat hebt gedaan, ga je naar je terminal en typ je het volgende:

 sudo dpkg-herconfigureer tzdata 

U kunt dan beginnen met toegang tot uw specifieke tijdzone via het menu dat de Pi weergeeft. Zodra u uw juiste tijdzone heeft gekozen, slaat u uw Pi op en start u deze opnieuw op. Op dit moment kan de Magic Mirror uw locatie gebruiken om de tijd weer te geven en toegang te krijgen tot internet via uw Wi-Fi. Nu kunt u beginnen met programmeren!

Stap 3: Magic Mirror 2

Voordat u begint met het downloaden en configureren van het programma, moet u waarschijnlijk weten hoe dit programma werkt. MagicMirror is een downloadbaar platform gemaakt door Michael Teeuw (ook bekend als MichMich), waar men toegang heeft tot deze repository op www.github.com. Met behulp van de Pi moet u de repository downloaden en klonen, samen met de afhankelijkheden. Door dit te doen, kan de Pi het programma uitvoeren en bepaalde elementen in het MagicMirror-bestand weergeven. Voor verdere uitleg kunt u terecht op //magicmirror.builders/, een online forum met tonnen nuttige modules en methoden voor probleemoplossing voor iedereen die het programma codeert. Ga om te beginnen naar uw terminal en typ de volgende code:

 bash -c "$ (curl -sL //raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)" 

Wanneer u op enter drukt, begint de Pi met het automatisch downloaden van de repository, wat ongeveer 10-15 minuten duurt. Onderweg wordt u gevraagd om "Y" of "N" in te voeren voor bepaalde afhankelijkheden, zoals vim. Vim is een cruciale afhankelijkheid waarmee een teksteditor de MagicMirror kan beheren. Ook wordt een programma met de naam pm2 gedownload, dat het programma automatisch uitvoert wanneer je Pi opstart. Een andere prompt is Node.js, waarmee netwerktoepassingen op de Pi kunnen worden uitgevoerd. Zodra MagicMirror volledig is gedownload, start u uw Pi opnieuw op. Na het opnieuw opstarten zou u een compliment, de tijd en nieuwsartikelen moeten zien (zie bovenstaande foto). Vanaf dit punt kunt u beginnen met het aanpassen van het programma (nieuwe modules toevoegen, oriëntatie, lettertypen wijzigen, enz.).

Stap 4: Modules

Zoals eerder getoond, zou MagicMirror automatisch de tijd, een compliment, Amerikaanse feestdagen en enkele nieuwsartikelen moeten weergeven. Ik wilde echter enkele functies aan de Pi toevoegen om hem esthetischer te maken en meer informatie te hebben waar ik toegang toe had (bijvoorbeeld: weer, weersvoorspelling, een coole quote, enz.). Om dit te doen, zijn er meerdere dingen die u moet doen om MagicMirror informatie te laten ontvangen over de locatie waar u zich bevindt. Om dit te doen, moet u de map modules openen. Deze map is de sleutel om alle gewenste opties voor MagicMirror te huisvesten. U kunt modules toevoegen, modules verwijderen (ik heb de Amerikaanse vakantielijst verwijderd omdat ik in Canada woon) en de instellingen aanpassen. Open hiervoor de terminal en typ:

 cd ~ / MagicMirror / modules 

Dit zou een bestand moeten openen waarin u de lijst met modules kunt zien (zoek naar gesloten haakjes met informatie erin). Ik ben begonnen met het toevoegen van de module voor weer en weersvoorspelling. U zou al standaardmodules met weeropties moeten zien, maar u zult merken dat twee belangrijke sleutels ontbreken. De locatie-ID en de API-ID. Zoals eerder vermeld, gebruikt MagicMirror online bronnen om de informatie weer te geven. Deze twee ID's komen van een website genaamd OpenWeatherMap (zie link onderaan). Deze site levert API's voor het weer die deze module nodig heeft. Meld u eerst gratis aan op de site en krijg toegang tot uw gratis API. Typ deze code in het "appid" -gedeelte van de module. Vervolgens moet u de locatie-ID van uw stad / gemeente vinden. OpenWeatherMap levert een ENORM bestand met bijna elke stad ter wereld en de locatie-ID ernaast. Ik ben niet op de hoogte van een eenvoudigere methode, maar u moet mogelijk door het hele bestand scrollen totdat u de ID van uw stad / gemeente vindt. Zodra dat is gevonden (dit onderdeel is echt rot, het kostte me ongeveer 20 minuten om de ID van mijn stad te vinden), voer het in de weer- en weersvoorspellingsmodule in. Sla daarna op en sluit af. Wanneer je Pi opstart, zou je het weer van je stad moeten zien. Ik heb een extra module toegevoegd, waar onderin het scherm een ​​inspirerende quote staat (zie bovenstaande foto). De modulelijst is echter helemaal aan jou! Zorg ervoor dat je de module webpagina bekijkt die het MagicMirror2 forum op zijn site biedt! Er zijn een aantal echt coole modules die iedereen kan toevoegen om zijn spiegel een stuk interessanter en leuker te maken!

//openweathermap.org

Stap 5: maatwerk

Deze stap is geheel aan jou, afhankelijk of je wilt dat de spiegel in een staand perspectief verschijnt in plaats van in een landschap. Om de Pi aan te passen zodat deze wordt gedraaid (zie laatste foto), ga je naar de terminal en typ je het volgende:

 sudo nano /boot/config.txt 

Dit opent bepaalde systeemvoorkeuren, waar u de "scherm roteren optie" kunt toevoegen. Blader hiervoor naar de onderkant van het bestand en voeg toe:

#rotatethescreen

display_rotate = 1

Opslaan en afsluiten. Wanneer u uw Pi opnieuw opstart, moet MagicMirror opstarten en horizontaal worden weergegeven. Ook zou u alle modules die u hebt toegevoegd in portretperspectief moeten zien. Een ander ding dat u moet toevoegen om uw Pi aan te passen, is het opstarten van pm2. Na het installeren van pm2, ontdekte ik dat MagicMirror niet zou opstarten tenzij ik de terminal benaderde en een paar regels code intypte. Ga als volgt te werk om dit probleem op te lossen:

Ga naar de terminal en typ: pm2 startup

Typ vervolgens:

 sudo env PATH = $ PATH: / usr / bin / usr / lib / node_modules / pm2 / bin / pm2 startup systemd -u pi --hp / home / pi 

Open daarna een script door te typen:

 nano mm.sh 

Vervolgens voegt u toe:

DISPLAY =: 0 npm start

Opslaan en afsluiten. Wanneer je Pi nu opstart, zou MagicMirror automatisch moeten starten

Het was ook moeilijk te vinden hoe je de screensaver uitschakelde, alleen maar omdat je continu het scherm achter de spiegel wilt zien. Om dit te doen, moet u de terminal openen en typen:

 sudo nano /boot/config.txt 

Dan toevoegen:

# elimineertscreensaverhdmi_blanking = 1

Sla op en sluit af en open vervolgens een ander bestand in de terminal door te typen:

 sudo nano ~ / .config / lxsession / LXDE-pi / autostart 

Dan toevoegen:

@xset s 0 s s dpms 0 0 0

Sla op en sluit af en start je Pi opnieuw op

Stap 6: The Frame

Hoewel het frame relatief eenvoudig te bouwen is, zijn er een paar cruciale dingen die u moet doen om u voor te bereiden. Ten eerste, omgaan met de bidirectionele spiegel. Afhankelijk van de grootte van uw monitor, moet u de spiegel waarschijnlijk ongeveer een halve inch groter (breedte en lengte) op maat snijden dan de monitor. Om dit te doen, meet en markeer je de maat op de spiegel (ik gebruikte een Sharpie - maak je geen zorgen! Er is een beschermende plastic laag op het frame die je afpelt als je klaar bent) en plak wat tape op de lijn. Ik heb schilderstape gebruikt, alleen omdat het niet supersterk is en gemakkelijk kan loskomen. Knip ZORGVULDIG langs de tape (u zult merken dat de spiegel tijdens het snijden aan de rand versplintert. Probeer deze breuken te beperken, omdat deze scheuren de levensduur van uw spiegel kunnen schaden). Zodra de spiegel op maat is gesneden, kunt u beginnen met het maken van het frame. Met het frame moet je twee porties maken. De binnenbehuizing en het buitenframe. Om dit te doen, meet u de monitor en snijdt u de twee stukken hout ongeveer 1, 5 inch groter dan de lengte van de monitor (zie bovenstaande foto). Knip daarna nog twee stukken uit die tussen de grotere stukken passen. Gebruik houtlijm en klemmen om het in te stellen. Om het proces te versnellen, kunt u in de hoeken een schroef boren om deze beter bij elkaar te houden. Om het buitenframe te maken (zie tweede foto), snijdt u vier stukken met 45 graden sneden aan elk uiteinde (onthoud dat wanneer u het buitenframe op de binnenbehuizing plaatst, u dit zo moet plaatsen dat het halverwege punt op de 45 snede op de behuizing). Zodra het frame is geplaatst en stabiel is, plaatst u uw spiegel tussen het frame en de monitor. Schroef uw 3D-beugels vast en zorg ervoor dat ze stevig zijn geplaatst. Op dit punt kunt u uw Pi en uw voeding aansluiten en MagicMirror zou moeten opstarten. Je zou een scherm achter de spiegel moeten zien (datum, tijd, wat je ook op het programma zet). Gefeliciteerd, je hebt nu je eigen Smart Mirror!

Stap 7: Wrap Up

Als je vragen hebt, laat dan een reactie achter! Ik help je graag met eventuele problemen of ideeën die je hebt! Dit was een geweldig project om aan deel te nemen, allemaal dankzij Hacker House! Een ding dat ik erop wil wijzen, is dat ik je ten zeerste aanbeveel om een ​​koellichaam voor de Pi te kopen. Omdat dit programma is ontworpen om continu te draaien, wordt je processor ongelooflijk heet. Als u een koellichaam koopt, kan uw Smart Mirror veiliger werken en wordt de stress van de Pi tijdens het draaien verlicht. Ik hoop dat je dit project eens probeert, het kan echt nuttig zijn en het is een interessante esthetiek die je in elke kamer kunt ophangen. Heel erg bedankt voor het bezoeken van mijn pagina, hopelijk zal ik een aantal coole modules aan de spiegel toevoegen waar ik jullie mee kan helpen (AI, bewegingssensor, alarm, enz.).

Verwante Artikelen