Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Anak Kecil: 9 Langkah
Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Anak Kecil: 9 Langkah
Anonim
Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Penggera, Pemasa dan Todolist

Magic Mirror adalah cermin sehala khas dengan paparan di belakangnya. Paparan, yang dihubungkan ke Raspberry Pi, menunjukkan maklumat seperti cuaca, suhu bilik, waktu, tarikh, todolist dan banyak lagi. Anda bahkan boleh menambahkan mikrofon dan menyediakan pembantu pintar. Kemungkinan tidak berkesudahan.

Projek ini agak mahal, salah satu bahagian paling mahal yang anda perlukan adalah paparannya. Itulah sebabnya saya mengitar semula paparan dari komputer riba lama. Walau bagaimanapun, saya mengesyorkan mendapatkan paparan kontras tinggi, terang dan tinggi untuk membuat projek ini. Ia berbaloi.

Cermin yang saya buat mempunyai ciri-ciri berikut:

  • Berita dari suapan RSS yang dipilih pengguna
  • Cuaca
  • Suhu di dalam
  • Sistem penggera
  • Sistem pemasa
  • Seorang todolist
  • Berbilang pengguna: warna ledstrip dan perubahan sumber berita berdasarkan pengguna mana yang dipilih.

Bekalan

Untuk membina Cermin Ajaib ini, anda memerlukan:

  • Cermin sehala
  • Kayu
  • Pi Raspberry
  • Kad Micro SD (8 + GB)
  • Papan roti
  • Dua pembesar suara 20W
  • Penguat MAX9744 20W untuk menghidupkan pembesar suara
  • Jalur led WS2801 1m 30-led
  • Sensor suhu 1-wayar DS18B20
  • Sensor inframerah HC-SR501
  • Pengekod putar
  • Monitor atau paparan komputer riba lama

    Sekiranya anda menggunakan paparan komputer riba lama, anda perlu membeli penyesuai paparan komputer riba. Anda boleh mendapatkannya dari AliExpress, Ebay atau Amazon. Cari nombor siri paparan anda sahaja

Anda juga memerlukan komponen kecil berikut:

  • Diod
  • Perintang Ohm 4.7k
  • Perintang 470 Ohm
  • Wayar untuk menyambungkan sensor ke Raspberry Pi

Dan bekalan kuasa ini:

  • 5V 2A untuk menghidupkan jalur pendahuluan
  • 12V 2A untuk menghidupkan paparan
  • 12V 2A untuk menghidupkan penguat
  • 5.1V 3A untuk menghidupkan Raspberry Pi (gunakan bekalan kuasa RPi rasmi)

Langkah 1: Memasang Raspbian

Paparan dan semua komponen di belakang cermin dikuasakan oleh Raspberry Pi. Anda perlu memasang Raspbian, sistem operasi lalai Pi, ke kad SD.

  1. Muat turun Win32 Disk imager. Pengguna Linux dan MacOS boleh menggunakan sesuatu seperti Etcher.
  2. Muat turun gambar Raspbian terbaru dari laman web Raspberry Pi. Pilih pilihan 'Raspbian Buster with desktop'
  3. Buka Win32 Disk Imager dan tulis fail gambar ke kad SD.

Kad SD kini hampir siap. Kita hanya perlu memastikan kita dapat menyambung ke Raspberry Pi dari jauh:

  1. Pergi ke partisi 'boot' kad SD menggunakan penjelajah fail sistem anda.
  2. Tambahkan fail bernama 'ssh' tanpa peluasan.
  3. Tambahkan 'ip = 169.254.10.1' (tanpa tanda petik) pada akhir baris pertama 'cmdline.txt'.

Keluarkan kad SD dari komputer anda dengan selamat, masukkan ke dalam Raspberry Pi anda dan boot.

Langkah 2: Konfigurasi WiFi

Untuk mengimbas rangkaian WiFi, jalankan arahan berikut:

sudo iw dev wlan0 imbasan | grep SSID

Anda akan melihat senarai semua SSID yang boleh disambungkan oleh Raspberry Pi anda.

Buat entri rangkaian dengan kata laluan yang dienkripsi dengan melaksanakan perintah berikut dan masukkan kata laluan rangkaian anda:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Sekarang tampalkan output arahan di atas dalam fail ini:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Sekarang but semula Raspberry Pi. Anda akan disambungkan ke internet.

Langkah 3: Pemasangan & Konfigurasi Perisian

Untuk projek ini, anda perlu memuat turun pakej ini ke Raspberry Pi anda:

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

sudo apt install apache2 mariadb-server

Tambahkan baris ini ke bahagian bawah /boot/config.txt untuk mengaktifkan audio melalui pin GPIO 12 (kiri) dan 13 (kanan):

dtoverlay = audremap

Gunakan raspi-config untuk menetapkan resolusi paparan anda dan untuk mengaktifkan i2c, One-wire dan SPI. Tetapkan juga kaedah boot ke 'Desktop Autologin'.

Dalam / etc / xdg / lxsession / LXDE-pi / autostart, tambahkan yang berikut:

@xset s off @ xset -dpms @ xset s noblank @ chromium-browser --kiosk 127.0.0.1/mirror.html # muatkan kromium selepas boot dan buka laman web dalam mod skrin penuh

Ini membuka penyemak imbas di halaman yang betul ketika LXDE (persekitaran desktop Raspbian) dimuat. Keluarkan atau komen baris @xscreensaver untuk mematikan screensaver.

Repositori Github

Klon repositori GitHub saya dan masukkan kandungan folder Frontend di / var / www / html. Kami memerlukan folder Backend kemudian.

Langkah 4: Pangkalan Data

Pangkalan Data
Pangkalan Data

Ini adalah skema pangkalan data, dioptimumkan untuk 3NF. Ia menyimpan semua penggera, sumber berita, pengguna, data sensor, suara dan todolist.

  1. Gunakan MySQL Workbench untuk mengakses pelayan pangkalan data pi anda (mariadb)
  2. Buat pangkalan data menggunakan skema ini dan masukkan data anda sendiri.
  3. Edit config.py di folder Backend repositori GitHub saya: ubah nama pangkalan data, nama pengguna yang anda pilih, dan kata laluan.
  4. Edit app.py dan ubah URL OpenWeatherMap API menjadi milik anda. (Buat sendiri di sini)

Langkah 5: Membina Bingkai Cermin

Membina Bingkai Cermin
Membina Bingkai Cermin
Membina Bingkai Cermin
Membina Bingkai Cermin
Membina Bingkai Cermin
Membina Bingkai Cermin

Saya membina bingkai di sekeliling cermin menggunakan sambungan Miter dengan sudut logam. Papan kayu yang saya gunakan setebal 18mm dan lebar 10cm. Dalam gambar anda dapat melihat ukuran yang tepat untuk cermin 45cm x 60cm. Di belakang cermin terdapat semua elektronik, jadi pastikan papan anda cukup lebar untuk memasangkannya.

Saya menggunakan cangkuk logam untuk memasang pembesar suara ke bingkai. Dengan cara itu mereka tidak bersandar di cermin, mengurangkan tekanan getaran pada kaca.

Langkah 6: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik

Ikuti skema di atas untuk membina litar. Saya menggunakan pita untuk membetulkan elektronik ke cermin.

Langkah 7: Memasang Elektronik dalam Rangka

Memasang Elektronik dalam Rangka
Memasang Elektronik dalam Rangka
Memasang Elektronik dalam Rangka
Memasang Elektronik dalam Rangka

Setelah memasang pembesar suara ke cangkuk logam di bahagian atas, tambahkan sisa elektronik ke cermin. Saya juga meletakkan papan kayu yang nipis di antara cermin dan elektronik, jadi daripada mengetuk elektronik ke cermin, saya melekatkan elektronik ke papan kayu. Paparan komputer riba adalah panel putih di bahagian bawah cermin.

Seperti yang anda lihat dalam gambar, saya memasang semua adaptor kuasa di dalam soket multi-soket sehingga hanya ada satu kabel yang meninggalkan bingkai. Inilah sebabnya mengapa saya memerlukan papan yang cukup lebar (10cm).

Saya menggerudi lubang selebar 2cm di sebelah kanan cermin agar pengekod putar dapat masuk. Ini membolehkan anda menukar kelantangan (putaran) dengan mudah atau mengabaikan pemasa dan penggera (tekan).

Saya menggerudi dua lubang 8mm di kedua-dua sisi cermin untuk mengarahkan kabel untuk tali lekapan.

Langkah 8: Menyentuh Sentuhan

Sentuhan terakhir
Sentuhan terakhir
Sentuhan terakhir
Sentuhan terakhir
Sentuhan terakhir
Sentuhan terakhir

Saya menambahkan kain hitam di bahagian belakang cermin untuk menyembunyikan barang elektronik. Ia juga menggelapkan bahagian dalam casing, yang menjadikannya lebih sukar untuk melihat wayar melalui cermin. Saya memasangkannya dengan velcro, menjadikannya lebih mudah untuk mengakses elektronik apabila diperlukan.

Salin folder Backend dari repositori Github saya ke tempat yang anda akan ingat.

Tambahkan unit systemd sehingga skrip python berjalan semasa boot:

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

[Unit]

Penerangan = Perkhidmatan untuk script magicmirror python After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = / home / pi / magicMirror / Backend StandardOutput = mewarisi StandardError = mewarisi Restart = selalu Pengguna = pi [Pasang] WantedBy = multi-user.target

Tukar 'WorkingDirectory' ke direktori Backend, dan ubah Pengguna ke nama pengguna anda sendiri.

Langkah 9: Berinteraksi dengan Webapp

Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp
Berinteraksi dengan Webapp

Melayari ke alamat IP (yang terdapat di paparan). Anda akan melihat laman web pertama mudah alih dengan ciri berikut:

  • Grap suhu yang boleh berinteraksi
  • Masa. Semasa pemasa berjalan, anda juga akan melihat undur pada cermin itu sendiri.
  • Sistem penggera
  • Tab tetapan, di mana anda boleh mengedit pengguna, sumber berita dan jumlah pembesar suara.
  • Seorang todolist. Item Todo akan dipaparkan di cermin

Mirror.html adalah halaman yang dipaparkan di Magic Mirror. Saya menambah contoh dalam gambar di atas.

Disyorkan: