Daftar Isi:
- Perlengkapan
- Langkah 1: Pengaturan
- Langkah 2: Memasang Cermin
- Langkah 3: Konfigurasi
- Langkah 4: API
- Langkah 5: Kalender
- Langkah 6: Google API
- Langkah 7: Desain Cermin
- Langkah 8: Melakukan Pengkabelan
- Langkah 9: Memulai Kode
- Langkah 10: Menjalankan Cermin
Video: Cermin Cerdas Multi Pengguna Dengan Kalender Google: 10 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam instruksi ini, kami akan membuat cermin pintar yang terintegrasi dengan Google Kalender. Saya membuat proyek ini karena menurut saya cermin pintar sangat keren, itu adalah anugerah di pagi hari. Tetapi saya memutuskan untuk membuatnya sendiri dari nol karena semua yang lain memiliki 1 kekurangan. Mereka terlalu maju dan berantakan. Saya memutuskan untuk tetap sederhana ini.
Perlengkapan
Sebelum
kita akan mulai ini adalah hal-hal yang pasti Anda perlukan untuk membangun Cermin seperti milik saya. Persediaan ini akan menelan biaya sekitar 250 hingga 350 euro tergantung pada wilayah Anda dan harga saat ini.
Perangkat keras
Sensor
- Sensor Suhu Satu Kawat
- RWCL 0516 (Sensor gerak gelombang mikro)
- Potensiometer lunak (Strip Sentuh dari Sparkfun)
Komputasi
dan IC
- Speaker (3,2W pada 4Ω ATAU 1,8W pada 8Ω)
- MCP3008
- Adafruit I2S 3W Kelas D Amplifier Breakout - MAX98357A
- Raspberry Pi 3 B+
- Kartu SD (8GB baik-baik saja)
- Resistor 4.7K Ohm
Bermacam-macam
- kabel jumper
- Papan tempat memotong roti
- Cermin Dua Arah Acryl (transmisi Cahaya 15%)
- IPS Monitor (Ukuran tergantung seberapa besar Anda menginginkannya)
- kabel HDMI
- Kayu
Perangkat lunak
- Dempul
- Editor kode (Notepad++ sudah cukup)
- Win32 Disk Imager
- Gambar OS Raspbian
Langkah 1: Pengaturan
Untuk memulai, pertama-tama kita harus menyiapkan Pi Anda untuk kode yang saya buat.
Anda akan membutuhkan dua hal:
- Win32 Disk Imager dari
- Gambar OS Raspbian dari
Unduh file ZIP dan ekstrak ke mana pun Anda inginkan.
Instalasi
- Pilih gambar Anda melalui ikon folder
- Pilih kartu SD Anda melalui dropdown
- Klik tulis
Sekarang kita perlu melakukan beberapa penyesuaian ekstra dengan beberapa pengaturan sehingga kita dapat mengakses Pi.
- Buka direktori boot kartu SD
- Buka file "cmdline.txt"
- Tambahkan ip=169.254.10.1 Di akhir baris panjang teks dipisahkan dengan spasi (pada baris yang sama).
- Simpan file.
- Buat file bernama ssh tanpa ekstensi di direktori yang sama
Sekarang Anda dapat mengeluarkan kartu SD dan memasukkannya ke dalam Pi Anda.
Menghubungkan
Sekarang kita perlu mengatur perangkat lunak.
Pertama pasang kabel LAN, satu ujung di desktop/laptop dan ujung lainnya di Pi.
Sekarang boot Raspberry Pi.
- Instal Putty dari
- Masukkan 169.254.10.1 di kotak IP.
- Pastikan SSH dipilih dan port 22 terisi.
- Klik buka
- Isi nama pengguna: pi
- Isi kata sandi: raspberry
Raspi-config
Buka utilitas Raspi-config dengan menggunakan:
sudo raspi-config
Aktifkan opsi berikut dalam kategori antarmuka
- 1-Kawat
- SPI
Pilih negara WiFi Anda melalui kategori pelokalan.
Selanjutnya, nonaktifkan opsi berikut di kategori opsi boot
Layar percikan
Terakhir atur pengaturan Desktop/CLI di kategori opsi boot ke Desktop Autologin.
Wifi
Untuk cermin, kita perlu memiliki koneksi wifi jadi pastikan Anda menutup kredensial wifi Anda.
Masuk ke mode root
sudo -i
Tempel baris ini tetapi pastikan SSID dan Kata Sandi keduanya terisi
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Masukkan Klien WPA.
wpa_cli
Pilih antarmuka
antarmuka wlan0
Muat ulang konfigurasi
mengkonfigurasi ulang
Pastikan Anda terhubung dengan benar dengan mengetik…
ip a
…dan melihat apakah Anda memiliki IP pada antarmuka WLAN0.
Paket
Sekarang kita terhubung ke internet kita harus menginstal beberapa paket.
Pertama kita perlu me-refresh daftar paket untuk yang terbaru.
sudo apt update
Python
Kami akan memaksa Raspbian untuk menggunakan Python 3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
MariaDB
Rekatkan baris berikut untuk menginstal database.
sudo apt install mariadb-server
Kemudian kita harus mengamankan instalasi kita.
mysql_secure_installation
Ini akan meminta kami untuk kata sandi root saat ini karena kami tidak memilikinya, cukup tekan enter.
Selanjutnya menanyakan apakah kita menginginkan kata sandi root ketik y karena kita menginginkannya.
Untuk pertanyaan selanjutnya cukup masukkan Y.
Terakhir kita akan membuat pengguna yang dapat kita gunakan untuk mirror.
Masukkan shell mysql dengan melakukan:
Tinggikan diri kita ke root
sudo -i
Masukkan shell mysql
mysql
Ganti dengan nama pengguna Anda sendiri dan sama dengan
berikan semua hak istimewa di mirror.* ke ''@'%' yang diidentifikasi oleh '';
Sekarang kita menyiram tabel izin.
HAK ISTIMEWA;
Server Web Apache
Untuk menginstal Webserver jalankan baris di bawah ini.
sudo apt install apache2 -y
Paket Python
Kami akan menginstal paket-paket ini
- Labu
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Flask-jimat
- Gevent
- Gevent-websocket
- Google-api-python-client
- Google-otentikasi
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- kalender
- Icalevents
- Oauthlib
- Python-socketio
- Permintaan
- wasaccel
- Ujson
Dengan melakukan
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthlib permintaan python-sacceletio
Pengaturan pengeras suara
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | pesta
Sekarang kita perlu reboot jadi tekan y.
Jalankan kembali skrip
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | pesta
Sekarang kita perlu reboot untuk kedua kalinya
sudo reboot
Layar (monitor)
Tergantung pada bagaimana Anda menginginkan orientasi layar Anda, Anda mungkin ingin memutar layar.
Untuk memutar layar, kita perlu mengakses opsi boot dengan melakukan:
sudo nano /boot/config.txt
Dan kemudian menempelkan salah satu baris ini di file konfigurasi:
tampilan_putar=0
tampilan_putar=1
tampilan_putar=2
tampilan_putar=3
Yang pertama, 0, adalah konfigurasi normal. 1 Akan menjadi 90 derajat, 2 adalah 180 derajat dan yang terakhir akan menjadi 270 derajat.
Kemudian reboot.
sudo reboot
Langkah 2: Memasang Cermin
Sekarang kita akan menyiapkan tempat untuk mengunduh kode saya.
cd /rumah/pi/
git clone https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Sekarang kita akan menyalin beberapa folder ke tujuan yang benar
sudo cp -R frontend/mirror/ /var/www/html/mirror/
sudo cp -R frontend/dashboard/ /var/www/html/ Sudo cp -R backend/ /home/pi/Mirror/
Menginstal database merupakan langkah penting dalam membuat proyek.
sudo mysql -u root -p << CREATEDATABASE.sql
Langkah 3: Konfigurasi
File konfigurasi terletak di:
sudo nano /home/pi/Mirror/resources/config.ini
Masukkan pengguna MYSQL dan kata sandi.
Ini pasti pengguna mysql yang baru saja kita buat.
Pengaturan lain yang akan kita bahas nanti bisa diinstruksikan.
Langkah 4: API
Sekarang kami telah menyelesaikan instalasi Pi, kami akan membahas beberapa topik yang mungkin ingin Anda lakukan.
Langit yang gelap
Buat kunci API Darsky melalui
Setelah Anda mendaftar, Anda akan melihat kunci API Anda di Dasbor.
Masukkan kunci ini di file konfigurasi proyek cermin yang Anda instal sebelumnya.
Kalender
Secara default Anda hanya dapat menggunakan url ical untuk melihat kalender Anda. Tetapi bagian ini adalah tentang bagaimana menghubungkan cermin Anda dengan Google Ecosystem. Ini adalah proses yang umumnya lebih lama dan lebih menyakitkan.
Hal-hal yang pasti Anda butuhkan
Sebuah nama domain
Ini adalah hal-hal yang akan kita siapkan selama bagian ini
- akun CloudFlare
- Akun Pengembang Google
- Proyek Pengembang Google
- Siapkan API Kalender
Langkah 5: Kalender
Cloudflare
Siapkan akun cloudflare dari https://cloudflare.com dan ikuti wizard untuk mentransfer nama domain Anda ke Cloudflare DNS.
Tidak perlu membuat catatan A sendiri yang menunjuk ke raspberry pi. Kode Cermin saya akan melakukannya untuk Anda. Karena di sebagian besar wifi rumah tangga, IP tidak statis sehingga setelah mem-boot ulang mungkin tidak berfungsi lagi. Agar kode saya secara otomatis memperbarui ip, itu akan membutuhkan kunci API akun Anda.
- Klik tombol Dapatkan kunci API Anda di dasbor di sisi kanan. [Foto 1]
- Gulir ke bawah dan lihat kunci API Global Anda. [Foto 2]
Masukkan kunci ini di file konfigurasi proyek cermin yang Anda instal sebelumnya.
Pembuatan Sertifikat SSL
Google mengharuskan kita untuk memiliki koneksi SSL. Untuk memulai bagian ini, pastikan Anda telah mengatur DNS Cloudflare dengan benar.
Pertama tambahkan repositori.
sudo add-apt-repository ppa:certbot/certbot
Perbarui daftar paket.
sudo apt-get update
Instal CertBot
sudo apt install python-certbot-apache
Mulai pembuatan sertifikat. Sekali lagi Anda harus mengisi nama domain yang benar.
sudo certbot --apache -d example.com -d www.example.com
Setelah pembuatan itu akan menanyakan apakah itu harus mengarahkan semua koneksi ke SSL. Pilih pengalihan.
Sekarang ia akan memberi tahu Anda bahwa ia telah berhasil membuat sertifikat untuk domain Anda. Pastikan untuk menyimpan 2 jalur yang diberikannya kepada Anda.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Sekarang buka folder dengan sertifikat melalui:
Pastikan untuk mengubah example.com menjadi host yang tepat.
cd /etc/letsencrypt/live/example.com/
Sekarang mari kita salin konten tersebut ke folder proyek kita.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
Dan
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Hubungkan Apache dengan domain Anda
Untuk mengkonfigurasi Apache dengan benar dengan domain Anda, kami harus membuat file konfigurasi. Pastikan untuk mengisi nama domain Anda misalnya funergydev.com.
sudo nano /etc/Apache2/sites-enabled/example.com.conf
Kemudian rekatkan ini ke dalam file. Ganti example.com dengan nama domain Anda.
Pastikan bahwa sertifikat dan kunci pribadi Anda adalah jalur yang benar. Atur mereka ke jalur yang Anda simpan sebelumnya saat kami buat melalui certbot.
DocumentRoot "/var/www/html/" SSLEngine pada SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Direktif lain di sini Opsi Indeks FollowSymLinks AllowOverride Semua Membutuhkan semua diberikan
Sekarang kita perlu mengaktifkan beberapa modifikasi dan kemudian memaksa Apache untuk memuat ulang konfigurasi dengan melakukan:
sudo a2enmod ssl
sudo a2enmod menulis ulang
sudo systemctl reload apache2
Sekarang Anda harus dapat pergi melalui nama domain Anda ke pi Anda dan melihat halaman Apache default.
Langkah 6: Google API
Buka konsol pengembang melalui
Bagian 1
Buat proyek pertama Anda dengan mengeklik di sebelah logo Google API dan mengeklik tombol PROYEK BARU. Isi nama proyek yang sesuai dan klik tombol buat. [Foto1]
Bagian 2
Sekarang Anda akan sampai ke halaman ini. Klik tombol perpustakaan. [Foto2]
Ini adalah daftar besar semua API yang dapat Anda gunakan, tetapi kami akan mencari API Google Kalender. Klik di atasnya dan tekan AKTIFKAN. [Foto3]
Anda kemudian akan mencapai ikhtisar API Kalender. Klik logo Google API untuk kembali ke proyek Anda. [Foto4]
Bagian 3
Untuk mengatur semuanya dengan benar, klik kategori kredensial dan pilih tab Verifikasi domain.
Di sini Anda harus memverifikasi nama domain Anda.
- Klik TAMBAHKAN DOMAIN
- Isi domain Anda
- Kemudian akan meminta untuk memverifikasi domain Anda. Klik lanjutkan.
- Pilih penyedia nama Domain Anda. [Foto5]
- Ikuti prosesnya
- Sekarang Anda dapat menambahkannya ke Daftar Verifikasi Domain di Google API Console seperti ini. Pastikan domain Anda dicentang. [Foto6]
Bagian 4
Sekarang pilih tab layar persetujuan OAuth. [Foto7]
Isi Nama Aplikasi
Selanjutnya kita akan menambahkan cakupan ke layar persetujuan. Ini berarti kami akan menanyakan kepada pengguna di layar persetujuan apakah mereka ingin membagikan info kalender mereka dengan cermin.
- Klik tambahkan cakupan dan cari kalender.
- Centang../auth/calendar.readonly dan tekan add. [Foto8]
Isi Domain yang Diotorisasi. Ini harus menjadi domain yang baru saja Anda verifikasi. [Foto9]
Sekarang klik tombol simpan besar di bawah formulir.
Bagian 5
Terakhir kita perlu membuat kredensial. Karena kami menekan tombol simpan, kami dialihkan ke tab kredensial. Klik buat kredensial dan pilih ID Klien OAuth. [Foto10]
Pilih Jenis aplikasi: Aplikasi Web dan beri nama.
Masukkan link berikut di Authorized Redirect URI dan isi domain yang benar.
example.com:5000/api/v1/setup/calendar/response
Klik buat. Ini akan menampilkan popup cukup klik OK. Sekarang tekan tombol unduh pada kredensial yang baru saja Anda buat
Bagian 6
Sekarang buka file JSON dan salin isinya.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Tempelkan di sini.
Bagian 7
Sekarang kita perlu mendefinisikan domain kita di konfigurasi dengan melakukan:
sudo nano /home/pi/Mirror/resources/config.ini
Langkah 7: Desain Cermin
Merancang cermin Anda tergantung pada bagaimana Anda menginginkannya. Lakukan pengukuran LCD yang akurat dan sisakan celah 2 sentimeter di satu sisi cermin karena sensor gerak Microwave akan berada di sana. Itu tidak boleh berada di belakang logam apa pun.
Saya menghubungkan 4 papan kayu menjadi satu. Ini digiling untuk memiliki bagian depan cermin yang bersih. Di bagian atas saya juga mengebor beberapa lubang untuk membiarkan suara speaker terdengar. Sisi berlawanan dari cermin, bagian bawah, saya memotong persegi panjang kecil sehingga saya dapat dengan mudah melakukan pemasangan kabel listrik. [Foto1]
Ini adalah 2 buah kayu murah dimana monitor akan beresting. Karena saya katakan kita akan membutuhkan jarak sekitar 2 sentimeter antara cermin dan kasing. Saya juga menambahkan 3 potongan kayu kecil dan memasangnya pada potongan-potongan yang beristirahat itu. Jadi monitor akan tetap di tempatnya. [Foto2]
Pada akhirnya terlihat seperti ini. Saya memiliki celah sekitar 3mm antara potongan-potongan yang beristirahat dan bagian depan kotak cermin. Cukup sehingga saya bisa memasang cermin dua arah setebal 3mm. [Foto3]
Langkah 8: Melakukan Pengkabelan
Pastikan untuk mengikuti salah satu skema ini dengan benar.
Setelah saya melakukan pengkabelan, saya menempelkannya di bagian belakang layar dengan selotip dua sisi. Karena jika saya ingin membongkar cermin dan menggunakannya untuk proyek lain, saya dapat dengan mudah menghapusnya. Jika Anda yakin Anda bisa menggunakan pistol lem panas dan merekatkannya ke bagian belakang cermin.
Langkah 9: Memulai Kode
LXSesi
Pertama-tama mari kita buat beberapa folder
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Sekarang kita akan membuat file di mana kita akan menentukan beberapa parameter/perintah startup.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Rekatkan yang berikut ini ke dalam file.
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Kami akan memperbarui skrip layar cermin awal agar sesuai dengan host kami.
sudo nano /home/pi/Mirror/init_mirror.sh
Pilih localhost jika Anda tidak menggunakan kalender dan domain google.
#!/bin/bash
sleep 15 chromium-browser --incognito --kiosk
Jika Anda menggunakannya maka isi host Anda.
#!/bin/bash
tidur 15 chromium-browser --incognito --kiosk
Melayani
Sekarang kita akan mengatur agar kode Mirror berjalan secara otomatis.
Kami akan membuat layanan yang secara otomatis memulai kode untuk kami.
Pergi ke:
sudo nano /etc/systemd/system/mirror.service
Dan rekatkan ini ke dalam file
[Satuan]
Description=Mirror Backend After=network.target mariadb.service [Service] Type=simple User=root ExecStart=/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy=multi-user.target
Sekarang kita harus memuat ulang daemon systemd dengan melakukan:
sudo systemctl daemon-reload
Dan kami juga akan mengaktifkan layanan untuk memulai secara otomatis saat boot.
sudo systemctl aktifkan cermin
Sekarang kita akan matikan.
sudo matikan
Pengaturan akhir
Akhirnya kita perlu menghapus ip APIPA kita sehingga hanya berfungsi di WiFi.
- Buka direktori boot kartu SD di PC Anda.
- Buka file "cmdline.txt"
- Hapus ip=169.254.10.1 Di akhir baris teks yang panjang.
Langkah 10: Menjalankan Cermin
Kunjungi ip yang ada di layar cermin atau jika Anda telah menyiapkan kalender google isi nama domainnya.
Sekarang Anda dapat mengatur cermin Anda!
Jika Anda mendapatkan kesalahan SSL di mirror Anda, Anda mungkin ingin menambahkan sertifikat Anda ke toko sertifikat Chromium.
Direkomendasikan:
Lampu LED Meja Cerdas - Pencahayaan Cerdas Dengan Arduino - Ruang Kerja Neopiksel: 10 Langkah (dengan Gambar)
Lampu LED Meja Cerdas | Pencahayaan Cerdas Dengan Arduino | Ruang Kerja Neopiksel: Saat ini kita menghabiskan banyak waktu di rumah, belajar dan bekerja secara virtual, jadi mengapa tidak membuat ruang kerja kita lebih luas dengan sistem pencahayaan khusus dan cerdas berbasis Arduino dan LED Ws2812b. Di sini saya tunjukkan cara membangun Smart Anda Lampu LED Meja yang
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Cermin Ajaib Cerdas Mengambang Dari Laptop Lama Dengan Pengenalan Suara Alexa: 6 Langkah (dengan Gambar)
Cermin Ajaib Cerdas Mengambang Dari Laptop Lama Dengan Pengenalan Suara Alexa: Daftar di kursus 'Singkatnya' Elektronik saya di sini: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Juga lihat saya saluran youtube di sini untuk lebih banyak proyek dan tutorial elektronik: https://www.youtube.com/channel/UCelOO
Buat Cermin Cerdas Anda Sendiri dengan Harga Di Bawah $80 - Menggunakan Raspberry Pi: 6 Langkah (dengan Gambar)
Buat Cermin Cerdas Anda Sendiri dengan Harga Di Bawah $80 - Menggunakan Raspberry Pi: Dalam proyek ini, kami akan membuat cermin pintar yang akan menampilkan informasi berguna saat Anda bersiap-siap di pagi hari. Semuanya harus berharga di bawah $80 sehingga cukup terjangkau bagi kebanyakan orang. Panduan ini hanya akan mengajarkan Anda
Jam Kalender Google Cerdas Raspberry Pi DIY: 4 Langkah
DIY Raspberry Pi Smart Google Calendar Clock: Ini adalah Smart clock yang saya buat untuk Kontes Jam, saya harap Anda menyukainya! Ini memiliki Raspberry Pi di dalamnya yang menjalankan program Processing dan Python untuk mengakses data Google Calendar saya dan mencetak 10 hari ke depan di mana Anda memiliki sesuatu di layar