Daftar Isi:

Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist: 9 Langkah
Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist: 9 Langkah

Video: Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist: 9 Langkah

Video: Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist: 9 Langkah
Video: Цифровая приборная панель/календарь для умных домов своими руками 2024, November
Anonim
Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist
Cermin Ajaib Dengan Berita, Cuaca, Alarm, Timer, dan Todolist

Cermin Ajaib adalah cermin satu arah khusus dengan tampilan di belakangnya. Layar, yang terhubung ke Raspberry Pi, menampilkan informasi seperti cuaca, suhu ruangan, waktu, tanggal, todolist, dan banyak lagi. Anda bahkan dapat menambahkan mikrofon dan menyiapkan asisten cerdas. Kemungkinannya tidak terbatas.

Proyek ini bisa sangat mahal, salah satu bagian paling mahal yang Anda perlukan tentu saja adalah tampilan. Itu sebabnya saya mendaur ulang tampilan dari laptop lama. Namun saya merekomendasikan untuk mendapatkan tampilan kontras yang besar, cerah, dan tinggi untuk membuat proyek ini. Ini sangat berharga.

Cermin yang saya buat memiliki fitur berikut:

  • Berita dari umpan RSS pilihan pengguna
  • Cuaca
  • Suhu di dalam
  • Sistem alarm
  • Sistem pengatur waktu
  • Seorang todolist
  • Banyak pengguna: warna strip led dan sumber berita berubah berdasarkan pengguna mana yang dipilih.

Perlengkapan

Untuk membuat Cermin Ajaib ini, Anda memerlukan:

  • Cermin satu arah
  • Kayu
  • Pi Raspberry
  • Kartu Micro SD (8+GB)
  • Papan tempat memotong roti
  • Dua speaker 20W
  • Amplifier MAX9744 20W untuk memberi daya pada speaker
  • 1m 30-led WS2801 ledstrip
  • DS18B20 1-kawat sensor suhu
  • Sensor inframerah HC-SR501
  • Sebuah encoder putar
  • Monitor atau layar laptop lama

    Jika Anda menggunakan layar laptop lama, Anda harus membeli adaptor layar laptop. Anda bisa mendapatkan ini dari AliExpress, Ebay atau Amazon. Cukup cari nomor seri layar Anda

Anda juga memerlukan komponen kecil berikut:

  • Sebuah dioda
  • Resistor 4.7k Ohm
  • Resistor 470 Ohm
  • Kabel untuk menghubungkan sensor ke Raspberry Pi

Dan catu daya ini:

  • 5V 2A untuk memberi daya pada strip led
  • 12V 2A untuk menyalakan layar
  • 12V 2A untuk memberi daya pada amplifier
  • 5.1V 3A untuk memberi daya pada Raspberry Pi (gunakan catu daya RPi resmi)

Langkah 1: Menginstal Raspbian

Layar dan semua komponen di belakang cermin ditenagai oleh Raspberry Pi. Anda harus menginstal Raspbian, sistem operasi default Pi, ke kartu SD.

  1. Unduh Win32 Disk imager. Pengguna Linux dan MacOS dapat menggunakan sesuatu seperti Etcher.
  2. Unduh gambar Raspbian terbaru dari situs web Raspberry Pi. Pilih opsi 'Raspbian Buster dengan desktop'
  3. Buka Win32 Disk Imager dan tulis file gambar ke kartu SD.

Kartu SD sekarang hampir siap. Kami hanya perlu memastikan bahwa kami dapat terhubung ke Raspberry Pi dari jarak jauh:

  1. Buka partisi 'boot' kartu SD menggunakan file explorer sistem Anda.
  2. Tambahkan file bernama 'ssh' tanpa ekstensi.
  3. Tambahkan 'ip=169.254.10.1' (tanpa tanda kutip) di akhir baris pertama 'cmdline.txt'.

Keluarkan kartu SD dengan aman dari komputer Anda, masukkan ke dalam Raspberry Pi Anda dan boot.

Langkah 2: Konfigurasi WiFi

Untuk memindai jaringan WiFi, jalankan perintah berikut:

sudo iw dev wlan0 scan | ambil SSID

Anda akan melihat daftar semua SSID yang dapat dihubungkan dengan Raspberry Pi Anda.

Buat entri jaringan dengan kata sandi terenkripsi dengan menjalankan perintah berikut dan memasukkan kata sandi jaringan Anda:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Sekarang rekatkan output dari perintah di atas di file ini:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Sekarang reboot Raspberry Pi. Anda akan terhubung ke internet.

Langkah 3: Instalasi & Konfigurasi Perangkat Lunak

Untuk proyek ini, Anda harus mengunduh paket-paket ini ke Raspberry Pi Anda:

pip3 instal 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 bagian bawah /boot/config.txt untuk mengaktifkan audio melalui GPIO pin 12 (kiri) dan 13 (kanan):

dtoverlay=audremap

Gunakan raspi-config untuk mengatur resolusi layar Anda dan untuk mengaktifkan i2c, One-wire dan SPI. Juga atur metode boot ke 'Desktop Autologin'.

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

@xset s off@xset -dpms@xset s noblank@chromium-browser --kiosk 127.0.0.1/mirror.html # muat chromium setelah boot dan buka situs web dalam mode layar penuh

Ini membuka browser di halaman yang benar ketika LXDE (lingkungan desktop Raspbian) dimuat. Hapus juga atau komentari baris @xscreensaver untuk menonaktifkan screensaver.

Repositori Github

Kloning repositori GitHub saya dan letakkan konten folder Frontend di /var/www/html. Kita akan membutuhkan folder Backend nanti.

Langkah 4: Basis Data

Data
Data

Ini adalah skema database, dioptimalkan untuk 3NF. Ini menyimpan semua alarm, sumber berita, pengguna, data sensor, suara dan todolist.

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

Langkah 5: Membangun Bingkai Cermin

Membangun Bingkai Cermin
Membangun Bingkai Cermin
Membangun Bingkai Cermin
Membangun Bingkai Cermin
Membangun Bingkai Cermin
Membangun Bingkai Cermin

Saya membangun bingkai di sekitar cermin menggunakan sambungan Mitre dengan sudut logam. Papan kayu yang saya gunakan tebal 18mm dan lebar 10cm. Dalam gambar Anda dapat melihat ukuran yang tepat untuk cermin 45cm x 60cm. Di belakang cermin ada semua barang elektronik, jadi pastikan papan Anda cukup lebar untuk memuatnya.

Saya menggunakan kait logam untuk memasang speaker ke bingkai. Dengan begitu mereka tidak bersandar pada cermin, mengurangi tekanan getaran pada kaca.

Langkah 6: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik

Ikuti skema di atas untuk membangun sirkuit. Saya menggunakan selotip untuk memperbaiki elektronik ke cermin.

Langkah 7: Memasang Elektronik di Bingkai

Memasang Elektronik dalam Bingkai
Memasang Elektronik dalam Bingkai
Memasang Elektronik dalam Bingkai
Memasang Elektronik dalam Bingkai

Setelah memasang speaker ke kait logam di bagian atas, tambahkan sisa elektronik ke cermin. Saya juga meletakkan papan kayu tipis di antara cermin dan elektronik, jadi alih-alih menempelkan elektronik ke cermin, saya menempelkan elektronik ke papan kayu. Layar laptop adalah panel putih di bagian bawah cermin.

Seperti yang Anda lihat di gambar, saya memasang semua adaptor daya di dalam stopkontak multi-soket sehingga hanya ada satu kabel yang keluar dari bingkai. Inilah mengapa saya membutuhkan papan yang cukup lebar (10cm).

Saya mengebor lubang selebar 2 cm di sisi kanan cermin agar encoder putar dapat masuk. Ini memungkinkan Anda untuk dengan mudah mengubah volume (putar) atau mengabaikan pengatur waktu dan alarm (tekan).

Saya mengebor dua lubang 8mm di kedua sisi cermin untuk merutekan kabel untuk strip led.

Langkah 8: Sentuhan Akhir

Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir

Saya menambahkan kain hitam ke bagian belakang cermin untuk menyembunyikan barang elektronik. Ini juga menggelapkan bagian dalam kasing, yang membuatnya lebih sulit untuk melihat kabel melalui cermin. Saya memasangnya dengan velcro, sehingga lebih mudah untuk mengakses elektronik saat dibutuhkan.

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

Tambahkan unit systemd sehingga skrip python berjalan saat boot:

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

[Satuan]

Description=Layanan untuk skrip python magicmirror After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=/home/pi/magicMirror/Backend StandardOutput=mewarisi StandardError=mewarisi Restart=selalu Pengguna =pi [Instal] WantedBy=multi-pengguna.target

Ubah 'WorkingDirectory' ke direktori Backend, dan ubah Pengguna menjadi nama pengguna Anda sendiri.

Langkah 9: Berinteraksi dengan Aplikasi Web

Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web
Berinteraksi Dengan Aplikasi Web

Jelajahi alamat IP (yang ada di layar). Anda akan melihat situs web yang mengutamakan seluler dengan fitur berikut:

  • Grafik suhu yang dapat berinteraksi
  • Sebuah waktu. Saat penghitung waktu berjalan, Anda juga akan melihat hitungan mundur di cermin itu sendiri.
  • Sistem alarm
  • Tab pengaturan, tempat Anda dapat mengedit pengguna, sumber berita, dan volume speaker.
  • Seorang todolist. Item Todo akan ditampilkan di cermin

Mirror.html adalah halaman yang ditampilkan di Cermin Ajaib. Saya menambahkan contoh pada gambar di atas.

Direkomendasikan: