Talaan ng mga Nilalaman:

Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist: 9 Mga Hakbang
Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist: 9 Mga Hakbang

Video: Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist: 9 Mga Hakbang

Video: Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist: 9 Mga Hakbang
Video: Neel 51 Trimaran Atlantic Crossing, ARC Regatta - Ep.2/5 2024, Hulyo
Anonim
Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist
Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist
Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist
Magic Mirror Sa Balita, Panahon, Alarm, Timer at Todolist

Ang isang Magic Mirror ay isang espesyal na one-way mirror na may isang display sa likuran nito. Ang display, na konektado sa isang Raspberry Pi, ay nagpapakita ng impormasyon tulad ng panahon, temperatura sa kuwarto, oras, petsa, isang todolist at marami pa. Maaari ka ring magdagdag ng isang mikropono at mag-set up ng isang matalinong katulong. Ang mga posibilidad ay walang katapusan.

Ang proyektong ito ay maaaring maging masyadong mahal, isa sa pinakamahal na bahagi na kakailanganin mo ay syempre ang display. Iyon ang dahilan kung bakit nag-recycle ako ng isang display mula sa isang luma na laptop. Gayunpaman inirerekumenda ko ang pagkuha ng isang malaki, maliwanag, mataas na display ng kaibahan upang gawin ang proyektong ito. Sulit naman

Ang salamin na ginawa ko ay may mga tampok na ito:

  • Balita mula sa napiling gumagamit na RSS feed
  • Panahon
  • Sa loob ng temperatura
  • Isang sistema ng alarma
  • Isang timer system
  • Isang todolist
  • Maramihang mga gumagamit: ang kulay ng ledstrip at pagbabago ng newssource batay sa kung aling gumagamit ang napili.

Mga gamit

Upang maitayo ang Magic Mirror na ito, kakailanganin mo ang:

  • Isang one-way mirror
  • Kahoy
  • Isang Raspberry Pi
  • Isang Micro SD card (8 + GB)
  • Isang breadboard
  • Dalawang 20W speaker
  • MAX9744 20W amplifier upang mapagana ang mga speaker
  • 1m 30-led WS2801 ledstrip
  • DS18B20 1-wire sensor ng temperatura
  • HC-SR501 Infrared sensor
  • Isang rotary encoder
  • Isang monitor o lumang laptop display

    Kung gumagamit ka ng isang lumang display sa laptop, kakailanganin mong bumili ng isang laptop display adapter. Maaari mong makuha ang mga ito mula sa AliExpress, Ebay o Amazon. Maghanap lang para sa serial number ng iyong display

Kakailanganin mo rin ang mga sumusunod na maliliit na bahagi:

  • Isang diode
  • Isang 4.7k Ohm resistor
  • Isang 470 Ohm resistor
  • Mga wire upang ikonekta ang mga sensor sa Raspberry Pi

At ang mga power supply na ito:

  • 5V 2A upang mapagana ang ledstrip
  • 12V 2A upang mapagana ang display
  • 12V 2A upang mapagana ang amplifier
  • 5.1V 3A upang mapagana ang Raspberry Pi (gumamit ng isang opisyal na supply ng kuryente na RPi)

Hakbang 1: Pag-install ng Raspbian

Ang display at lahat ng mga bahagi sa likod ng salamin ay pinalakas ng Raspberry Pi. Kakailanganin mong i-install ang Raspbian, ang default na operating system ng Pi, papunta sa SD card.

  1. I-download ang Win32 Disk imager. Ang mga gumagamit ng Linux at MacOS ay maaaring gumamit ng tulad ni Etcher.
  2. I-download ang pinakabagong imahe ng Raspbian mula sa website ng Raspberry Pi. Piliin ang opsyong 'Raspbian Buster na may desktop'
  3. Buksan ang Win32 Disk Imager at isulat ang file ng imahe sa SD card.

Halos handa na ang SD card. Kailangan lamang tiyakin na makakonekta kami sa Raspberry Pi mula sa malayo:

  1. Pumunta sa partisyon ng 'boot' ng SD card gamit ang file explorer ng iyong system.
  2. Magdagdag ng isang file na tinatawag na 'ssh' nang walang isang extension.
  3. Idagdag ang 'ip = 169.254.10.1' (walang mga quote) sa dulo ng unang linya ng 'cmdline.txt'.

Ligtas na maalis ang SD card mula sa iyong computer, ilagay ito sa iyong Raspberry Pi at i-boot ito.

Hakbang 2: Pag-configure ng WiFi

Upang i-scan ang mga WiFi network, ipatupad ang sumusunod na utos:

sudo iw dev wlan0 scan | grep SSID

Makikita mo ang listahan ng lahat ng SSID na maaaring kumonekta sa iyong Raspberry Pi.

Lumikha ng isang entry sa network na may isang naka-encrypt na password sa pamamagitan ng pagpapatupad ng sumusunod na utos at pagpasok ng password ng iyong network:

wpa_passphrase "HIS_NETWORK_SSID_HERE"

I-paste ngayon ang output ng utos sa itaas sa file na ito:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ngayon i-reboot ang Raspberry Pi. Makakonekta ka sa internet.

Hakbang 3: Pag-install at Pag-configure ng Software

Para sa proyektong ito, kakailanganin mong i-download ang mga package na ito sa iyong Raspberry Pi:

pip3 i-install ang mysql-konektor-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt i-install ang apache2 mariadb-server

Idagdag ang linyang ito sa ilalim ng /boot/config.txt upang paganahin ang audio sa pamamagitan ng mga GPIO pin 12 (kaliwa) at 13 (kanan):

dtoverlay = audremap

Gumamit ng raspi-config upang maitakda ang resolusyon ng iyong display at paganahin ang i2c, One-wire at SPI. Itakda din ang paraan ng pag-boot sa 'Desktop Autologin'.

Sa / etc / xdg / lxsession / LXDE-pi / autostart, idagdag ang sumusunod:

@xset s off @ xset -dpms @ xset s noblank @ chromium-browser --kiosk 127.0.0.1/mirror.html # load chromium pagkatapos ng boot at buksan ang website sa buong screen mode

Bubukas nito ang browser sa tamang pahina kapag nag-load ang LXDE (desktop environment ng Raspbian). Alisin din o puna ang linya ng @xscreensaver upang huwag paganahin ang screensaver.

Repository ng Github

I-clone ang aking GitHub repository at ilagay ang mga nilalaman ng folder ng Frontend sa / var / www / html. Kakailanganin namin ang folder ng Backend sa ibang pagkakataon.

Hakbang 4: Ang Database

Ang Database
Ang Database

Ito ang database schema, na-optimize sa 3NF. Iniimbak nito ang lahat ng mga alarma, mapagkukunan ng balita, gumagamit, data ng sensor, tunog at todolist.

  1. Gumamit ng MySQL Workbench upang ma-access ang database server ng iyong pi (mariadb)
  2. Lumikha ng isang database gamit ang schema na ito at ipasok ang iyong sariling data.
  3. I-edit ang config.py sa Backend folder ng aking GitHub repository: baguhin ang pangalan ng database, ang iyong napiling username, at ang password.
  4. I-edit ang app.py at baguhin ang OpenWeatherMap API URL sa sarili mo. (Lumikha ng sarili mo rito)

Hakbang 5: Pagbuo ng Mirror Frame

Pagbuo ng Mirror Frame
Pagbuo ng Mirror Frame
Pagbuo ng Mirror Frame
Pagbuo ng Mirror Frame
Pagbuo ng Mirror Frame
Pagbuo ng Mirror Frame

Itinayo ko ang frame sa paligid ng salamin gamit ang Miter joint na may mga sulok na metal. Ang ginamit kong mga tabla na kahoy ay 18mm makapal at 10cm ang lapad. Sa mga imahe maaari mong makita ang eksaktong mga sukat para sa isang 45cm x 60cm na salamin. Sa likod ng salamin ay ang lahat ng mga electronics, kaya siguraduhin na ang iyong mga tabla ay sapat na lapad upang magkasya ang mga ito.

Gumamit ako ng mga metal na kawit upang ikabit ang mga speaker sa frame. Sa ganoong paraan hindi sila nakasalalay sa salamin, binabawasan ang stress ng panginginig ng boses sa baso.

Hakbang 6: Ang Elektronika

Ang Elektronika
Ang Elektronika
Ang Elektronika
Ang Elektronika

Sundin ang mga iskemat sa itaas upang mabuo ang circuit. Gumamit ako ng tape upang ayusin ang electronics sa salamin.

Hakbang 7: Pagkabit ng Elektronikong sa Frame

Paglalagay ng Elektronika sa Frame
Paglalagay ng Elektronika sa Frame
Paglalagay ng Elektronika sa Frame
Paglalagay ng Elektronika sa Frame

Matapos ilakip ang mga speaker sa mga metal hook sa itaas, idagdag ang natitirang electronics sa salamin. Naglagay din ako ng isang manipis na sahig na gawa sa kahoy sa pagitan ng salamin at ng electronics, kaya sa halip na i-tape ang mga electronics sa salamin, nai-tape ko ang mga electronics sa sahig na gawa sa kahoy. Ang display ng laptop ay puting panel sa ilalim ng salamin.

Tulad ng nakikita mo sa mga imahe, isinaksak ko ang lahat ng mga adaptor ng kuryente sa loob ng isang multi-socket outlet kaya may isang cable lamang na iniiwan ang frame. Ito ang dahilan kung bakit kailangan ko ng sapat na malawak na mga tabla (10cm).

Nag-drill ako ng isang 2cm na lapad na butas sa kanang bahagi ng salamin para magkasya ang rotary encoder. Pinapayagan kang madali mong baguhin ang lakas ng tunog (turn) o i-dismiss ang mga timer at alarma (push).

Nag-drill ako ng dalawang 8mm na butas sa magkabilang panig ng salamin upang i-ruta ang mga kable para sa ledstrips.

Hakbang 8: Pagtatapos ng Mga Touch

Mga Pagtatapos ng Mga Touch
Mga Pagtatapos ng Mga Touch
Mga Pagtatapos ng Mga Touch
Mga Pagtatapos ng Mga Touch
Mga Pagtatapos ng Mga Touch
Mga Pagtatapos ng Mga Touch

Nagdagdag ako ng isang itim na tela sa likuran ng salamin upang maitago ang electronics. Pinapadilim din nito ang loob ng kaso, na ginagawang mas mahirap makita ang mga wire sa salamin. Ikinabit ko ito sa velcro, ginagawang mas madali ang pag-access sa electronics kung kinakailangan.

Kopyahin ang Backend folder mula sa aking Github repository sa isang lugar na iyong matatandaan.

Magdagdag ng isang systemd unit upang ang script ng python ay tumatakbo sa boot:

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

[Yunit]

Paglalarawan = Ang serbisyo para sa magicmirror python script Pagkatapos = network.target [Serbisyo] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = / home / pi / magicMirror / Backend StandardOutput = inherit StandardError = inherit Restart = laging User = pi [I-install] WantedBy = multi-user.target

Baguhin ang 'WorkingDirectory' sa direktoryo ng Backend, at palitan ang Gumagamit sa iyong sariling username.

Hakbang 9: Nakikipag-ugnay sa Webapp

Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp
Nakikipag-ugnay sa Webapp

Mag-surf sa IP address (na nasa display). Makakakita ka ng isang mobile-first website na may mga sumusunod na tampok:

  • Isang mapag-ugnay na temperatura ng grap
  • Isang oras Kapag tumatakbo ang timer, makikita mo rin ang isang countdown sa mirror mismo.
  • Isang sistema ng alarma
  • Isang tab na mga setting, kung saan maaari mong i-edit ang mga gumagamit, mga mapagkukunan ng balita at dami ng speaker.
  • Isang todolist. Ang mga item na Todo ay ipapakita sa salamin

Ang Mirror.html ay ang pahina na ipinakita sa Magic Mirror. Nagdagdag ako ng isang halimbawa sa mga imahe sa itaas.

Inirerekumendang: