Circuits

Paano Gumawa ng isang Raspberry Pi Smart Mirror !: 7 Steps (na may Mga Larawan)

How to Make a Raspberry Pi Smart Mirror

How to Make a Raspberry Pi Smart Mirror

Talaan ng mga Nilalaman:

Anonim

Hello Everyone!

Para sa aking computer science final project, nagpasya akong bumuo ng isang Smart Mirror na pinapatakbo ng isang Raspberry Pi 3! Nakatanggap ako ng ideya mula sa Hacker House, isang kahanga-hangang channel sa Youtube na may maraming mga kagiliw-giliw na ideya para sa mga creative na proyekto na isasama ang madaling sundin ang mga tagubilin! Bagaman ako ay nakatuon sa coding sa Java, pinapayagan ako ng Smart Mirror na magtrabaho sa isang Raspberry Pi sa pamamagitan ng coding sa Linux at Python, mga wika na hindi ko ginamit bago pa man. Gayundin, nakuha ko ang ilang mga kawili-wiling woodworking sa pamamagitan ng pagbuo ng frame sa paligid ng monitor, na matatagpuan sa likod ng dalawang paraan mirror. Kahit na ito ang aking unang proyekto ng Raspberry Pi, kinuha ako sa paligid ng dalawang weekend upang makumpleto, mula sa coding ng Pi upang ipinta ang frame. Ito ay isang kamangha-manghang karanasan upang maitayo ito at inaasahan kong ang tutorial na ito ay tumutulong sa iyo na lumikha ng iyong sariling!

Mga Kagamitan:

Hakbang 1: Kung Ano ang Kakailanganin mo

Bago ka magsimula, narito ang isang listahan ng lahat ng kinakailangang item para sa proyekto:

  1. Raspberry Pi (Ginamit ko ang Raspberry Pi 3 Model B na bersyon, dahil sa ang katunayan mayroon itong madaling pag-access at isang madaling i-set up ang wireless na pagpipilian)
  2. Monitor (Ginamit ko ang monitor ng 12 "X 20" Samsung na may input ng HDMI)
  3. Dalawang Way Acrylic Glass Mirror (Mayroong ilang mga online, gayunpaman ginamit ko ang mas murang isang Hacker House inirerekomenda - tingnan ang link sa ibaba)
  4. 4 x 3D Printed Brackets (Ang mga ito ay hindi kinakailangan, gayunpaman ay ginagawang mas madali nila ang bahay sa frame. Muli, ang Hacker House ay may isang website na nagbibigay ng STL at mga zip file para sa disenyo ng mga braket - tingnan ang link sa ibaba)
  5. HDMI Cable
  6. Micro HDMI Cable para sa Pi Power Supply
  7. Pandikit ng kahoy
  8. Mga tornilyo
  9. Wood (ginamit ko ang dalawang 8ft mahabang piraso (isang 1 "x 3" at isang 1 "x 4") upang i-cut ang panloob at panlabas na frame)
  10. Keyboard (USB)
  11. Mouse (USB)
  12. Mga Clamp

3D Brackets ~

http://www.hackerhouse.site/parts.html

Dalawang Way Mirror ~

http: //www.amazon.com/gp/product/B01CZ35XWY/ref=o …

Hakbang 2: Pag-set up ng Raspberry Pi

Upang makatanggap ang Pi ng impormasyon mula sa mga module ng Magic Mirror na natagpuan sa online, mahalaga na i-set up ang iyong Wi-Fi at time zone. Sa sandaling naka-install ang operating system na "Raspbian" (ginamit ko ang bersyon na "Jessie") sa iyong micro SD card, plug sa iyong keyboard at mouse sa Pi at ilakip ang HDMI cable sa monitor na gagamitin mo. Maghintay para sa system na mag-boot up, pagkatapos ay maaari mong simulan ang pag-configure ng Pi sa iyong lokasyon. Una, i-click ang simbolo ng Wi-Fi sa kanang tuktok ng screen. Piliin ang iyong internet at ipasok ang iyong password. Kailangang konektado ka sa iyong Wi-Fi.Sa sandaling magawa mo na, i-access ang iyong terminal at i-type ang mga sumusunod:

sudo dpkg-reconfigure tzdata

Pagkatapos ay maaari mong simulan upang ma-access ang iyong partikular na time-zone sa pamamagitan ng menu ang Pi nagpapakita. Sa sandaling napili mo ang iyong tamang time-zone, i-save at i-reboot ang iyong Pi. Sa puntong ito, maaaring gamitin ng Magic Mirror ang iyong lokasyon upang ipakita ang oras at pag-access ng impormasyon mula sa internet gamit ang iyong Wi-Fi. Ngayon, maaari mong simulan ang programming!

Hakbang 3: Magic Mirror 2

Bago mo simulan ang pag-download at pag-configure ng programa, malamang na alam mo kung paano gumagana ang programang ito. Ang MagicMirror ay isang nada-download na platform na nilikha ng Michael Teeuw (a.k.a MichMich), kung saan ma-access ng isang tao ang repository na ito sa www.github.com. Gamit ang Pi, dapat mong i-download at i-clone ang repository, kasama ang mga dependency nito. Sa paggawa nito, ang Pi ay maaaring tumakbo sa programa at magpakita ng ilang mga sangkap na nakapaloob sa MagicMirror file. Para sa karagdagang paliwanag, maaari mong bisitahin ang http://magicmirror.builders/, isang online na forum na may tonelada ng kapaki-pakinabang na mga module at mga pamamaraan sa pag-troubleshoot para sa sinumang coding sa programa. Upang magsimula, ma-access ang iyong terminal at i-type ang sumusunod na code:

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

Kapag pinindot mo ang pagpasok, ang Pi ay magsisimula ng awtomatikong pag-download ng repository, na tumatagal sa paligid ng 10 - 15 min. Sa kahabaan, sasabihan ka na magpasok ng "Y" o "N" para sa ilang mga dependency, tulad ng kalakasan. Ang Vim ay isang mahalagang dependency na nagbibigay-daan sa isang editor ng teksto upang pamahalaan ang MagicMirror. Pati na rin, isang programa na tinatawag na pm2 ay maa-download, na awtomatikong nagpapatakbo ng programa kapag ang iyong Pi boots up. Ang isa pang prompt ay ang Node.js, na nagpapahintulot sa mga application ng network na tumakbo sa Pi. Sa sandaling na-download na MagicMirror, i-reboot ang iyong Pi. Pagkatapos ng pag-reboot, dapat mong makita ang isang papuri, oras, at mga artikulo ng balita (tingnan ang larawan sa itaas). Mula sa puntong ito, maaari mong simulan upang i-customize ang programa (magdagdag ng mga bagong module, orientation, pagbabago ng mga font, atbp).

Hakbang 4: Module

Tulad ng ipinakita dati, ang MagicMirror ay dapat awtomatikong ipapakita ang oras, isang papuri, mga pista ng U.S at ilang mga artikulo ng balita. Gayunpaman, nais kong magdagdag ng ilang mga tampok sa Pi upang gawin itong higit pang aesthetically kasiya-siya at magkaroon ng higit pang impormasyon na maaari kong ma-access (para sa hal: panahon, taya ng panahon, isang cool na quote, atbp). Upang gawin ito, mayroong maraming mga bagay na kailangan mong gawin upang magamit ng MagicMirror ang impormasyon tungkol sa lokasyon na iyong kinaroroonan. Upang magawa ito, dapat mong ma-access ang folder ng mga module. Ang folder na ito ang susi upang pabahay ang lahat ng ninanais na mga pagpipilian na gusto mo para sa MagicMirror. Maaari kang magdagdag ng mga module, tanggalin ang mga module (tinanggal ko ang listahan ng holiday ng US dahil nakatira ako sa Canada), at i-customize ang mga setting. Upang gawin ito, ma-access ang terminal at uri:

cd ~ / MagicMirror / modules

Dapat itong buksan ang isang file kung saan maaari mong makita ang listahan ng module (hanapin ang mga closed bracket na may impormasyon dito). Sinimulan ko ang pagdaragdag ng modulasyon ng panahon at taya ng panahon. Dapat mong makita ang default na mga module na may mga pagpipilian sa panahon, ngunit mapapansin mo na ang dalawang mahahalagang key ay nawawala. Ang ID ng lokasyon at ang API ID. Tulad ng sinabi bago, Gumagamit ang MagicMirror ng mga online na mapagkukunan upang ipakita ang impormasyon. Ang dalawang ID na ito ay nagmula sa isang website na tinatawag na OpenWeatherMap (tingnan ang link sa ibaba). Ang site na ito ay nagbibigay ng API para sa panahon, na kailangan ng modyul na ito. Una, mag-sign up nang libre sa site at i-access ang iyong libreng API. I-type ang code na ito sa seksyong "appid" ng modyul. Pagkatapos, kakailanganin mong mahanap ang ID ng lokasyon ng iyong lungsod / bayan. Nagbibigay ang OpenWeatherMap ng isang malaking file na may halos bawat lungsod sa mundo at ang ID ng lokasyon nito sa tabi nito. Hindi ko alam ang isang mas madaling paraan, ngunit maaaring kailangan mong mag-scroll sa buong file hanggang sa makita mo ang ID ng iyong lungsod / bayan. Kapag natagpuan na (bahagi na ito seryoso sucks, kinuha sa akin sa paligid ng 20 minuto upang mahanap ang ID ng aking lungsod), ipasok ito sa panahon at panahon forecast module. Pagkatapos, i-save at lumabas. Kapag ang iyong Pi boots up, dapat mong makita ang panahon ng iyong lungsod. Nagdagdag ako ng isang karagdagang module, kung saan ang isang nakapagpapalakas na quote ay ipinapakita sa ibaba ng screen (tingnan sa itaas ng larawan). Gayunpaman, ang listahan ng module ay ganap na nakasalalay sa iyo! Tiyaking tingnan ang module na webpage na nagbibigay ng MagicMirror2 forum sa site na ito! May ilang mga talagang cool na modules sinuman ay maaaring magdagdag upang gumawa ng kanilang salamin ng isang mas kawili-wili at masaya!

http://openweathermap.org

Hakbang 5: Pag-customize

Ang hakbang na ito ay ganap na nakasalalay sa iyo, depende sa kung nais mong lumitaw ang mirror sa isang pananaw ng portrait sa halip na landscape. Upang ipasadya ang Pi sa gayon ito ay pinaikot (tingnan ang huling larawan), ma-access ang terminal at i-type ang mga sumusunod:

sudo nano /boot/config.txt

Magbubukas ito ng ilang mga kagustuhan sa system, kung saan maaari mong idagdag ang "i-rotate ang pagpipiliang screen". Upang gawin ito, mag-scroll sa ibaba ng file at idagdag ang:

#rotatethescreen

display_rotate = 1

I-save at lumabas. Kapag na-reboot mo ang iyong Lara, dapat na simulan ng MagicMirror at ipinapakita nang pahalang. Gayundin, dapat mong makita ang lahat ng mga modulo na iyong idinagdag na inilalarawan sa pananaw ng portrait. Isa pang bagay na dapat mong idagdag upang i-customize ang iyong Pi ay pm2 startup. Pagkatapos ng pag-install ng pm2, natagpuan ko na ang MagicMirror ay hindi magsisimula maliban kung ma-access ko ang terminal at nag-type sa ilang linya ng code. Upang alisin ang problemang ito, gawin ang mga sumusunod:

I-access ang terminal at uri: pm2 startup

Pagkatapos, type:

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

Pagkatapos, mag-access ng isang script sa pamamagitan ng pag-type ng:

nano mm.sh

Pagkatapos, idinadagdag ang:

DISPLAY =: 0 npm start

I-save at lumabas. Ngayon, kapag ang iyong Pi ay nagsisimula, ang MagicMirror ay dapat awtomatikong magsimula

Mahirap rin malaman kung paano huwag paganahin ang screensaver, dahil gusto mong patuloy na makita ang display sa likod ng salamin. Upang gawin ito, kakailanganin mong ma-access ang terminal at uri:

sudo nano /boot/config.txt

At idagdag:

#eliminatescreensaver
hdmi_blanking = 1

I-save at lumabas, pagkatapos ay mag-access ng isa pang file sa terminal sa pamamagitan ng pag-type:

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

At idagdag:

@xset s 0 0
@xset s nonblank
@xset s noexpose
@xset dpms 0 0 0

I-save at lumabas, pagkatapos i-reboot ang iyong Pi

Hakbang 6: Ang Frame

Kahit na ang frame ay medyo madali upang bumuo, may ilang mga mahalaga mga bagay na kailangan mong gawin upang maghanda. Una, pakikitungo sa dalawang paraan mirror. Depende sa laki ng iyong monitor, malamang na kailangan mong i-cut ang mirror sa laki sa paligid ng isang kalahating pulgada mas malaki (lapad at haba matalino) kaysa sa monitor. Upang gawin ito, sukatin at markahan ang laki sa salamin (Ginamit ko ang isang Sharpie - huwag mag-alala! May isang proteksiyon na layer ng plastik sa frame na iyong bubunutan kapag handa) at maglagay ng tape sa linya. Gumamit ako ng mga tape ng painters, dahil hindi ito sobrang malakas at madaling makalabas. Gupitin nang maayos kasama ang tape (mapapansin mo na ang mirror shatters sa gilid habang pinutol mo. Subukan upang limitahan ang mga break na ito, dahil ang mga basag ay maaaring makapinsala sa habang-buhay ng iyong salamin). Sa sandaling mai-cut ang mirror sa laki, maaari mong simulan ang paggawa ng frame. Sa frame, kailangan mong gumawa ng dalawang bahagi. Ang panloob na pabahay at ang panlabas na frame. Upang gawin ito, sukatin ang monitor at i-cut ang dalawang piraso ng kahoy sa paligid ng 1.5 pulgada mas malaki kaysa sa haba ng monitor (tingnan sa itaas larawan). Pagkatapos, i-cut ang isa pang dalawang piraso na magkasya sa pagitan ng mas malaking piraso. Gumamit ng kola at clamp upang itakda ito. Upang pabilisin ang proseso, maaari kang mag-drill ng tornilyo sa mga sulok upang hawakan ito nang mas mahusay. Upang gawin ang mga panlabas na frame (tingnan ang pangalawang larawan), i-cut ang apat na piraso na may 45 degree cuts sa bawat dulo (tandaan, kapag inilagay mo ang panlabas na frame sa panloob na pabahay, dapat mong ilagay ito upang ang halfway point sa 45 cut rests sa pabahay). Sa sandaling naka-set ang frame at matatag, sandwich ang iyong salamin sa pagitan ng frame at monitor. Screw sa iyong mga 3D bracket, siguraduhing matatag ang mga ito. Sa puntong ito, maaari mong i-plug ang iyong Pi at ang iyong power supply, at dapat simulan ng MagicMirror. Dapat mong makita ang isang display sa likod ng mirror (petsa, oras, kahit anong inilagay mo sa programa). Binabati kita, mayroon ka na ngayon ng iyong sariling Smart Mirror!

Hakbang 7: I-wrap Up

Kung mayroon kang anumang mga katanungan, mangyaring mag-iwan ng komento! Gustung-gusto kong tumulong sa anumang mga isyu o mga ideya na mayroon ka! Ito ay isang kamangha-manghang proyekto upang makilahok sa, lahat salamat sa Hacker House! Ang isang bagay na nais kong ituro ay ang lubos kong inirerekumenda na bumili ka ng labis na init para sa Pi. Dahil ang program na ito ay dinisenyo upang patuloy na tumakbo, ang iyong processor ay makakakuha ng hindi mapaniniwalaan o kapani-paniwala mainit. Ang pagbili ng init sink ay magpapahintulot sa iyong Smart Mirror na tumakbo nang mas ligtas, pati na rin ito ay magpapagaan ng anumang stress na pinapatakbo ng Pi habang tumatakbo ito. Umaasa ako na bigyan mo ang proyektong ito ng isang subukan, maaari itong maging talagang kapaki-pakinabang at isang kagiliw-giliw na aesthetic maaari mong hang sa anumang kuwarto. Maraming salamat sa pagbisita sa aking pahina, sana ay magdaragdag ako ng ilang mga cool na module sa salamin na maaari kong tulungan kayong mga guys sa (AI, galaw sensor, alarma, atbp).