Mündəricat:

Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü: 9 addım
Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü: 9 addım

Video: Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü: 9 addım

Video: Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü: 9 addım
Video: Mexico City - sirli, unikal Meksika və Mexico City ölülər günü 2024, Iyul
Anonim
Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü
Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü
Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü
Xəbərlər, Hava, Siqnal, Taymer və Todolist ilə Sehrli Güzgü

Sehrli Güzgü, arxasında ekranı olan xüsusi bir tərəfli güzgüdür. Raspberry Pi -yə qoşulan ekranda hava, otaq istiliyi, vaxt, tarix, todolist və sair kimi məlumatlar göstərilir. Hətta mikrofon əlavə edib ağıllı köməkçi də qura bilərsiniz. İmkanları sonsuzdur.

Bu layihə olduqca bahalı ola bilər, ehtiyacınız olan ən bahalı hissələrdən biri əlbəttə ki ekrandır. Buna görə köhnə bir noutbukdan bir ekranı geri qaytardım. Bununla birlikdə, bu layihəni həyata keçirmək üçün böyük, parlaq, yüksək kontrastlı bir ekran almağı məsləhət görürəm. Buna dəyər.

Hazırladığım güzgü bu xüsusiyyətlərə malikdir:

  • İstifadəçinin seçdiyi RSS lentindən xəbərlər
  • Hava
  • Daxili temperatur
  • Siqnalizasiya sistemi
  • Taymer sistemi
  • Bir todolist
  • Birdən çox istifadəçi: istifadəçi seçildiyinə görə ledstrip rəngi və xəbər mənbəyi dəyişir.

Təchizat

Bu Sehrli Güzgü qurmaq üçün sizə lazım olacaq:

  • Bir tərəfli güzgü
  • Ağac
  • Bir Moruq Pi
  • Micro SD kart (8+GB)
  • Çörək taxtası
  • İki 20W dinamik
  • Dinamikləri gücləndirmək üçün MAX9744 20W gücləndirici
  • 1m 30 başlıqlı WS2801 led lent
  • DS18B20 1 telli temperatur sensoru
  • HC-SR501 infraqırmızı sensoru
  • Dönən bir kodlayıcı
  • Bir monitor və ya köhnə noutbuk ekranı

    Köhnə bir laptop ekranı istifadə edirsinizsə, bir dizüstü ekran adapteri almalısınız. Bunları AliExpress, Ebay və ya Amazon -dan əldə edə bilərsiniz. Ekranınızın seriya nömrəsini axtarın

Aşağıdakı kiçik komponentlərə də ehtiyacınız olacaq:

  • Bir diod
  • 4.7k Ohm müqavimət
  • 470 Ohm müqavimət
  • Sensorları Raspberry Pi -yə bağlamaq üçün tellər

Və bu enerji təchizatı:

  • Led zolağını gücləndirmək üçün 5V 2A
  • Ekranı gücləndirmək üçün 12V 2A
  • Gücləndiricini gücləndirmək üçün 12V 2A
  • Raspberry Pi -ni gücləndirmək üçün 5.1V 3A (rəsmi RPi enerji təchizatı istifadə edin)

Addım 1: Raspbian qurmaq

Ekran və güzgü arxasındakı bütün komponentlər Raspberry Pi ilə təchiz edilmişdir. Pi -nin standart əməliyyat sistemi olan Raspbian -ı SD karta yükləməlisiniz.

  1. Win32 disk görüntüləyicisini yükləyin. Linux və MacOS istifadəçiləri Etcher kimi bir şeydən istifadə edə bilərlər.
  2. Raspberry Pi veb saytından ən son Raspbian şəklini yükləyin. 'Masaüstü ilə Raspbian Buster' seçimini seçin
  3. Win32 Disk Imager proqramını açın və şəkil faylını SD karta yazın.

SD kart demək olar ki, hazırdır. Raspberry Pi -yə uzaqdan qoşula biləcəyimizdən əmin olmalıyıq:

  1. Sisteminizin fayl araşdırıcısını istifadə edərək SD kartın 'açılış' bölməsinə gedin.
  2. Uzantısı olmayan 'ssh' adlı bir fayl əlavə edin.
  3. 'Cmdline.txt' ilk sətirinin sonuna 'ip = 169.254.10.1' (tirnoq olmadan) əlavə edin.

SD kartı kompüterinizdən etibarlı şəkildə çıxarın, Raspberry Pi -yə qoyun və yükləyin.

Addım 2: WiFi Konfiqurasiyası

WiFi şəbəkələrini taramaq üçün aşağıdakı əmri yerinə yetirin:

sudo iw dev wlan0 scan | grep SSID

Raspberry Pi -nin qoşula biləcəyi bütün SSID -lərin siyahısını görəcəksiniz.

Aşağıdakı əmri yerinə yetirərək və şifrənizi daxil edərək şifrəli parol ilə bir şəbəkə girişi yaradın:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

İndi yuxarıdakı əmrin çıxışını bu fayla yapışdırın:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

İndi Raspberry Pi -ni yenidən başladın. İnternetə qoşulacaqsınız.

Addım 3: Proqramın Quraşdırılması və Konfiqurasiyası

Bu layihə üçün bu paketləri Raspberry Pi -yə yükləməlisiniz:

pip3 mysql-connector-python flask-socketio flask-cors qurmaq gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt install apache2 mariadb-server

GPIO sancaqları 12 (solda) və 13 (sağda) vasitəsilə səsi aktiv etmək üçün /boot/config.txt faylının altına bu xətti əlavə edin:

dtoverlay = audremap

Ekranınızın qətnaməsini təyin etmək və i2c, Bir telli və SPI-ni aktivləşdirmək üçün raspi-config istifadə edin. Ayrıca açılış metodunu 'Masaüstü Avtomatlaşdırma' olaraq təyin edin.

/Etc/xdg/lxsession/LXDE-pi/autostart-a aşağıdakıları əlavə edin:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # açıldıqdan sonra xrom yükləyin və veb saytı tam ekran rejimində açın

Bu, LXDE (Raspbian masa üstü mühiti) yükləndikdə brauzeri düzgün səhifədə açır. Ekran qoruyucusunu deaktiv etmək üçün @xscreensaver xəttini silin və ya şərh edin.

Github anbarı

GitHub depomu klonlayın və Frontend qovluğunun məzmununu/var/www/html -ə qoyun. Daha sonra Backend qovluğuna ehtiyacımız olacaq.

Addım 4: Verilənlər bazası

Verilənlər bazası
Verilənlər bazası

Bu, 3NF üçün optimallaşdırılmış verilənlər bazası sxemidir. Bütün həyəcan siqnallarını, xəbər mənbələrini, istifadəçiləri, sensor məlumatlarını, səsləri və todolisti saxlayır.

  1. Pi -nin verilənlər bazası serverinə (mariadb) daxil olmaq üçün MySQL Workbench -dən istifadə edin.
  2. Bu sxemdən istifadə edərək bir verilənlər bazası yaradın və öz məlumatlarınızı daxil edin.
  3. GitHub depomun Backend qovluğunda config.py -ni redaktə edin: verilənlər bazası adını, seçdiyiniz istifadəçi adını və şifrənizi dəyişdirin.
  4. App.py faylını redaktə edin və OpenWeatherMap API URL'sini özünüzə dəyişdirin. (Burada özünüz yaradın)

Addım 5: Güzgü Çərçivəsinin Qurulması

Güzgü çərçivəsinin qurulması
Güzgü çərçivəsinin qurulması
Güzgü Çərçivəsinin Qurulması
Güzgü Çərçivəsinin Qurulması
Güzgü çərçivəsinin qurulması
Güzgü çərçivəsinin qurulması

Çərçivəni metal küncləri olan Miter birləşmələrindən istifadə edərək güzgü ətrafında qurdum. İstifadə etdiyim taxta taxtaların qalınlığı 18 mm və eni 10 sm -dir. Şəkillərdə 45 sm x 60 sm ölçülü bir aynanın dəqiq ölçülərini görə bilərsiniz. Güzgünün arxasında bütün elektronika var, buna görə taxtalarınızın onlara uyğun olacaq qədər geniş olduğundan əmin olun.

Dinamikləri çərçivəyə bağlamaq üçün metal qarmaqlardan istifadə etdim. Bu şəkildə güzgü üzərində dayanmırlar, şüşədəki titrəmə stressini azaldırlar.

Addım 6: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Dövr qurmaq üçün yuxarıdakı sxemlərə əməl edin. Elektronikanı güzgüyə bağlamaq üçün lentdən istifadə etdim.

Addım 7: Elektronikanı Çərçivəyə yerləşdirmək

Elektronikanı Çərçivəyə yerləşdirmək
Elektronikanı Çərçivəyə yerləşdirmək
Elektronikanı Çərçivəyə yerləşdirmək
Elektronikanı Çərçivəyə yerləşdirmək

Dinamikləri yuxarıdakı metal qarmaqlara bağladıqdan sonra elektronikanın qalan hissəsini güzgüyə əlavə edin. Güzgü ilə elektronika arasına nazik taxta taxta da qoydum, ona görə də elektronikanı güzgüyə yapışdırmaq əvəzinə, taxtanı taxtaya yapışdırdım. Laptop ekranı güzgünün altındakı ağ paneldir.

Şəkillərdə görə biləcəyiniz kimi, bütün güc adapterlərini çoxlu prizə bağladım, belə ki, çərçivədən çıxan yalnız bir kabel var. Buna görə kifayət qədər geniş taxtalara ehtiyacım var (10 sm).

Dönən enkoderin daxil olması üçün güzgünün sağ tərəfində 2 sm genişliyində bir çuxur qazdım. Bu, səs səviyyəsini asanlıqla dəyişdirməyə (döndərməyə) və ya taymerləri və həyəcan siqnallarını (itələməyə) buraxmağa imkan verir.

Led şeritləri üçün kabelləri istiqamətləndirmək üçün aynanın hər iki tərəfində 8 mm -lik iki delik açdım.

Addım 8: Toxunuşları bitirmək

Toxunuşları bitirmək
Toxunuşları bitirmək
Toxunuşları bitirmək
Toxunuşları bitirmək
Toxunuşları bitirmək
Toxunuşları bitirmək

Elektronikanı gizlətmək üçün aynanın arxasına qara parça əlavə etdim. Həm də korpusun içini qaraldır ki, bu da telləri güzgüdən görməyi xeyli çətinləşdirir. Velcro ilə bağladım, lazım olduqda elektronikaya daxil olmağı asanlaşdırdı.

Backend qovluğunu Github depomdan xatırlayacağınız bir yerə kopyalayın.

Python skriptinin açılışda işləməsi üçün bir systemd vahidi əlavə edin:

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

[Bölmə]

Description = magicmirror python script xidməti sonra = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = miras StandardError = miras Yenidən Başlat = həmişə İstifadəçi = pi [Quraşdır] WantedBy = multi-user.target

'WorkingDirectory'yi Backend qovluğuna dəyişdirin və İstifadəçini öz istifadəçi adınıza dəyişdirin.

Addım 9: Webapp ilə qarşılıqlı əlaqə

Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə
Webapp ilə qarşılıqlı əlaqə

IP ünvanına gedin (ekranda). Aşağıdakı xüsusiyyətlərə sahib bir mobil ilk veb saytını görəcəksiniz:

  • Qarşılıqlı təsir göstərən bir temperatur tutucusu
  • Bir vaxt. Taymer işləyərkən aynanın özündə də geri sayım görəcəksiniz.
  • Siqnalizasiya sistemi
  • İstifadəçiləri, xəbər mənbələrini və dinamikin həcmini redaktə edə biləcəyiniz bir ayarlar sekmesi.
  • Bir todolist. Todo əşyaları güzgüdə göstəriləcək

Mirror.html, Sehrli Güzgüdə göstərilən səhifədir. Yuxarıdakı şəkillərə bir nümunə əlavə etdim.

Tövsiyə: