Isi kandungan:
- Bekalan
- Langkah 1: Persediaan
- Langkah 2: Memasang Cermin
- Langkah 3: Konfigurasi
- Langkah 4: API
- Langkah 5: Kalendar
- Langkah 6: API Google
- Langkah 7: Reka Bentuk Cermin
- Langkah 8: Melakukan Pendawaian
- Langkah 9: Memulakan Kod
- Langkah 10: Menjalankan Cermin
Video: Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Dalam arahan ini, kami akan membuat cermin pintar yang disatukan dengan Kalendar Google. Saya membuat projek ini kerana saya dapati cermin pintar sangat keren, ia adalah anugerah pada waktu pagi. Tetapi saya memutuskan untuk menjadikannya satu dari sifar kerana semua yang lain mempunyai 1 kekurangan. Mereka terlalu maju dan berantakan. Saya memutuskan untuk memastikan perkara ini mudah.
Bekalan
Sebelum
kita akan mulakan ini adalah perkara yang pasti anda perlukan untuk membina Cermin seperti saya. Kos ini akan berharga sekitar 250 hingga 350 euro bergantung pada wilayah anda dan harga semasa.
Perkakasan
Sensor
- Sensor Suhu Satu Kawat
- RWCL 0516 (Sensor gerakan gelombang mikro)
- Potensiometer lembut (Touchstrip dari Sparkfun)
Pengkomputeran
dan IC
- Pembesar suara (3.2W pada 4Ω ATAU 1.8W pada 8Ω)
- MCP3008
- Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
- Raspberry Pi 3 B +
- Kad SD (8GB baik)
- Perintang 4.7K Ohm
Pelbagai
- Wayar Jumper
- Papan roti
- Cermin Dua Hala Acryl (Penghantaran Ringan 15%)
- Monitor IPS (Ukuran bergantung pada seberapa besar yang anda mahukan)
- Kabel HDMI
- Kayu
Perisian
- SENANG
- Penyunting kod (Notepad ++ sudah cukup)
- Win32 Disk Imager
- Imej OS Raspbian
Langkah 1: Persediaan
Untuk memulakan, pertama-tama kita perlu menyiapkan Pi anda untuk kod yang saya buat.
Anda memerlukan dua perkara:
- Win32 Disk Imager dari
- Imej OS Raspbian dari
Muat turun fail ZIP dan ekstrak ke mana sahaja yang anda mahukan.
Pemasangannya
- Pilih gambar anda melalui ikon folder
- Pilih kad SD anda melalui menu lungsur
- Klik tulis
Sekarang kita perlu melakukan beberapa gangguan tambahan dengan beberapa tetapan sehingga kita dapat mengakses Pi.
- Pergi ke direktori but kad SD
- Buka fail "cmdline.txt"
- Tambah ip = 169.254.10.1 Pada akhir baris panjang teks dipisahkan dengan spasi (pada baris yang sama).
- Simpan fail.
- Buat fail bernama ssh tanpa peluasan dalam direktori yang sama
Sekarang anda boleh mengeluarkan kad SD dan memasukkannya ke dalam Pi anda.
Menyambung
Sekarang kita perlu menyediakan perisian.
Pasang dahulu kabel LAN, satu hujung pada desktop / komputer riba anda dan yang lain pada Pi anda.
Sekarang but Raspberry Pi.
- Pasang Putty dari
- Masukkan 169.254.10.1 di kotak IP.
- Pastikan SSH dipilih dan port 22 diisi.
- Klik terbuka
- Isi nama pengguna: pi
- Isi kata laluan: raspberry
Raspi-konfigurasi
Buka utiliti Raspi-config dengan menggunakan:
sudo raspi-config
Aktifkan pilihan berikut dalam kategori antara muka
- 1-Wayar
- SPI
Pilih negara WiFi anda melalui kategori penyetempatan.
Seterusnya, lumpuhkan pilihan berikut dalam kategori pilihan but
Skrin percikan
Terakhir tetapkan tetapan Desktop / CLI dalam kategori pilihan but ke Desktop Autologin.
WiFi
Untuk cermin, kami perlu mempunyai sambungan wifi, jadi pastikan anda mempunyai kelayakan wifi anda.
Pergi ke mod root
sudo -i
Tampal baris ini tetapi pastikan bahawa SSID dan Kata Laluan diisi
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Masukkan Pelanggan WPA.
wpa_cli
Pilih antara muka
antara muka wlan0
Muat semula konfigurasi
susun semula
Pastikan anda dihubungkan dengan betul dengan menaip…
ip a
… dan melihat apakah anda mempunyai IP pada antara muka WLAN0.
Pakej
Setelah kita tersambung ke internet, kita perlu memasang beberapa pakej.
Mula-mula kita perlu memuat semula senarai pakej untuk yang terbaru.
sudo apt kemas kini
Python
Kami akan memaksa Raspbian menggunakan Python 3
kemas kini-alternatif - pasang / usr / bin / python python /usr/bin/python2.7 1
kemas kini-alternatif - pasang / usr / bin / python python / usr / bin / python3 2
MariaDB
Tampal baris berikut untuk memasang pangkalan data.
sudo apt pasang mariadb-server
Maka kita perlu memastikan pemasangan kita selamat.
pemasangan mysql_secure_
Ini akan meminta kata laluan root semasa kerana kami tidak mempunyai satu hanya tekan enter.
Selanjutnya ia bertanya sama ada kita mahukan kata laluan root dalam y kerana kita menginginkannya.
Untuk soalan seterusnya masukkan Y.
Terakhir kami akan membuat pengguna yang akan dapat kami gunakan untuk cermin.
Masukkan shell mysql dengan melakukan:
Naikkan diri kita ke akar umbi
sudo -i
Masukkan shell mysql
mysql
Ganti dengan nama pengguna anda sendiri dan sama dengan
berikan semua keistimewaan pada cermin. * kepada '' @ '%' yang dikenal pasti oleh '';
Sekarang kita membuang jadual kebenaran.
KEISTIMEWAAN FLUSH;
Pelayan Web Apache
Untuk memasang Server Web jalankan baris di bawah.
sudo apt install apache2 -y
Pakej Python
Kami akan memasang pakej ini
- Kelalang
- Kelalang-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Flask-jimat
- Memberi
- Gevent-websocket
- Pelanggan Google-api-python
- Google-pengarang
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Kalendar Ical
- Icalevents
- Oauthlib
- Python-socketio
- Permintaan
- Wsaccel
- Ujson
Dengan melakukan
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib votplib2 icalendar icalevents oauthlib python
Persediaan pembesar suara
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Sekarang kita perlu but semula jadi tekan y.
Jalankan semula skrip
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Sekarang kita perlu but semula untuk kali kedua
rebo sudo
Skrin (monitor)
Bergantung pada bagaimana anda menginginkan orientasi skrin anda, anda mungkin mahu memutar skrin.
Untuk memutar skrin, kita perlu mengakses pilihan but dengan melakukan:
sudo nano /boot/config.txt
Dan kemudian menampal salah satu baris ini dalam fail konfigurasi:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Yang pertama, 0, adalah konfigurasi normal. 1 Akan 90 darjah, 2 ialah 180 darjah dan yang terakhir ialah 270 darjah.
Kemudian but semula.
rebo sudo
Langkah 2: Memasang Cermin
Sekarang kita akan menyediakan tempat untuk memuat turun kod saya.
cd / rumah / pi /
git klon https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Sekarang kita akan menyalin beberapa folder ke destinasi yang betul
sudo cp -R frontend / mirror / / var / www / html / mirror /
sudo cp -R frontend / dashboard / / var / www / html / Sudo cp -R backend / / home / pi / Mirror /
Memasang pangkalan data adalah langkah penting dalam membuat projek.
sudo mysql -u root -p << CREATEDATABASE.sql
Langkah 3: Konfigurasi
Fail konfigurasi terletak di:
sudo nano /home/pi/Mirror/resources/config.ini
Masukkan pengguna dan kata laluan MYSQL.
Ini mesti menjadi pengguna mysql yang baru kita buat.
Tetapan lain yang akan kita bahas kemudian diarahkan.
Langkah 4: API
Sekarang kami telah selesai memasang Pi, kami akan membahas beberapa topik yang mungkin ingin anda lakukan.
Langit gelap
Buat kunci API Darsky melalui
Setelah mendaftar, anda akan melihat kunci API anda di Dashboard.
Masukkan kunci ini dalam fail konfigurasi projek cermin yang anda pasangkan sebelumnya.
Kalendar
Secara lalai, anda hanya dapat menggunakan url ical untuk melihat kalendar anda. Tetapi bahagian ini akan mengenai bagaimana menghubungkan cermin anda dengan Ekosistem Google. Ini adalah proses yang lebih lama dan lebih menyakitkan.
Perkara yang pasti anda perlukan
Nama domain
Ini adalah perkara yang akan kami siapkan semasa bahagian ini
- Akaun CloudFlare
- Akaun Pembangun Google
- Projek Pembangun Google
- Sediakan API Kalendar
Langkah 5: Kalendar
Cloudflare
Sediakan akaun cloudflare dari https://cloudflare.com dan ikuti wizard untuk memindahkan nama domain anda ke Cloudflare DNS.
Tidak perlu membuat rekod A sendiri yang menunjukkan pi raspberry. Kod Mirror saya akan melakukannya untuk anda. Oleh kerana di kebanyakan wifi isi rumah, IP tidak statik sehingga selepas reboot mungkin tidak berfungsi lagi. Untuk mendapatkan kod saya secara automatik mengemas kini ip, ia memerlukan kunci API akaun anda.
- Klik butang Dapatkan API anda di papan pemuka di sebelah kanan. [Foto 1]
- Tatal ke bawah dan lihat kunci API Global anda. [Foto 2]
Masukkan kunci ini dalam fail konfigurasi projek cermin yang anda pasangkan sebelumnya.
Pembuatan Sijil SSL
Google menghendaki kami mempunyai sambungan SSL. Untuk memulakan bahagian ini, pastikan anda telah menetapkan DNS Cloudflare dengan betul.
Pertama masukkan repositori.
sudo add-apt-repository ppa: certbot / certbot
Kemas kini senarai pek.
sudo apt-get kemas kini
Pasang CertBot
sudo apt pasang python-certbot-apache
Mulakan pembuatan sijil. Sekali lagi anda perlu mengisi nama domain yang betul.
sudo certbot --apache -d example.com -d www.example.com
Selepas penciptaan, ia akan bertanya kepada anda sama ada ia akan mengarahkan semua sambungan ke SSL. Pilih ubah hala.
Sekarang ia akan memberitahu anda bahawa ia berjaya membuat sijil untuk domain anda. Pastikan untuk menyimpan 2 jalan yang diberikannya kepada anda.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Sekarang pergi ke folder dengan sijil masuk melalui:
Pastikan menukar example.com ke hos yang betul.
cd /etc/letsencrypt/live/example.com/
Sekarang mari salin kandungan tersebut ke folder projek kami.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
Dan
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Sambungkan Apache dengan domain anda
Untuk mengkonfigurasi Apache dengan betul dengan domain anda, kita harus membuat fail konfigurasi. Pastikan untuk mengisi nama domain anda misalnya funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Kemudian tampalkan ini ke dalam fail. Ganti example.com dengan nama domain anda.
Pastikan sijil dan kunci peribadi anda adalah jalan yang betul. Tetapkan mereka ke jalan yang anda simpan lebih awal ketika kami buat kemudian melalui certbot.
DocumentRoot "/ var / www / html /" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Arahan lain di sini Pilihan Indeks FollowSymLinks Allow Semua Memerlukan semua diberikan
Sekarang kita perlu mengaktifkan beberapa pengubahsuaian dan kemudian memaksa Apache memuat semula konfigurasi dengan melakukan:
sudo a2enmod ssl
sudo a2enmod menulis semula
sudo systemctl muat semula apache2
Sekarang anda seharusnya dapat melalui nama domain anda ke pi anda dan melihat halaman apache lalai.
Langkah 6: API Google
Pergi ke konsol pembangun melalui
Bahagian 1
Buat projek pertama anda dengan mengklik di sebelah logo Google API dan mengklik butang PROJEK BARU. Isi nama projek yang sesuai dan klik butang buat. [Foto1]
Bahagian 2
Sekarang anda akan sampai ke halaman ini. Klik butang perpustakaan. [Foto2]
Ini adalah senarai besar semua API yang dapat Anda gunakan tetapi kami akan mencari API Kalendar Google. Klik padanya dan tekan ENABLE. [Foto3]
Anda kemudian akan mendapat gambaran keseluruhan API Kalendar. Klik logo Google API untuk kembali ke projek anda. [Foto4]
Bahagian 3
Untuk menetapkan semuanya dengan betul, klik pada kategori kelayakan dan pilih tab Pengesahan domain.
Di sini anda perlu mengesahkan nama domain anda.
- Klik TAMBAHKAN DOMAIN
- Isi domain anda
- Kemudian akan meminta untuk mengesahkan domain anda. Klik teruskan.
- Pilih penyedia nama Domain anda. [Foto5]
- Ikuti prosesnya
- Kini anda dapat menambahkannya ke Senarai Pengesahan Domain di Konsol API Google seperti ini. Pastikan domain anda diperiksa. [Foto6]
Bahagian 4
Sekarang pilih tab skrin kebenaran OAuth. [Foto7]
Isi Nama Permohonan
Selanjutnya kita akan menambah ruang lingkup ke skrin persetujuan. Ini bermaksud kami akan meminta pengguna di skrin persetujuan jika mereka ingin berkongsi maklumat kalendar mereka dengan cermin.
- Klik tambah skop dan cari kalendar.
- Periksa../auth/calendar.readonly dan tekan add. [Foto8]
Isi Domain yang Sah. Ini mestilah domain yang baru anda sahkan. [Foto9]
Sekarang klik butang simpan besar di bawah borang.
Bahagian 5
Terakhir kita perlu membuat tauliah. Kerana kami menekan butang simpan, kami diarahkan ke tab kelayakan. Klik buat kelayakan dan pilih ID Pelanggan OAuth. [Foto10]
Pilih jenis Aplikasi: Aplikasi Web dan beri nama.
Masukkan pautan berikut di URI Pengalihan Sah dan isikan domain yang betul.
example.com:5000/api/v1/setup/calendar/response
Klik buat. Ini akan menunjukkan kepada anda pop timbul hanya klik OK. Sekarang tekan butang muat turun pada kelayakan yang baru anda buat
Bahagian 6
Sekarang buka fail JSON dan salin kandungannya.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Tampal mereka di sini.
Bahagian 7
Sekarang kita perlu menentukan domain kita dalam konfigurasi dengan melakukan:
sudo nano /home/pi/Mirror/resources/config.ini
Langkah 7: Reka Bentuk Cermin
Merangka cermin anda bergantung pada bagaimana anda menginginkannya. Lakukan pengukuran LCD yang tepat dan tinggalkan jurang 2 sentimeter di satu sisi cermin kerana sensor gerakan Gelombang Mikro akan duduk di sana. Ia tidak boleh berada di belakang logam apa pun.
Saya menyambungkan 4 papan kayu bersama-sama. Ini digiling untuk mempunyai cermin depan yang bersih. Di bahagian atas saya juga menggerudi beberapa lubang untuk membiarkan suara pembesar suara berjalan lancar. Sebaliknya cermin, bahagian bawah, saya memotong segi empat kecil sehingga saya dapat membuat pendawaian elektrik dengan mudah. [Foto1]
Ini adalah 2 keping kayu murah di mana monitor akan tersekat. Oleh kerana saya katakan kita memerlukan jurang 2 sentimeter antara cermin dan casing. Saya juga menambah 3 kepingan kayu kecil dan memasukkannya ke atas kepingan rehat itu. Jadi monitor akan tetap berada di tempatnya. [Foto2]
Pada akhirnya kelihatan seperti ini. Saya mempunyai jarak kira-kira 3mm antara kepingan rehat dan bahagian depan casing cermin. Cukup sehingga saya dapat meletakkan cermin Dua Hala setebal 3mm. [Foto3]
Langkah 8: Melakukan Pendawaian
Pastikan untuk mengikuti salah satu skema ini dengan betul.
Sebaik sahaja saya melakukan pendawaian, saya melekatkannya di bahagian belakang skrin dengan pita dua sisi. Oleh kerana jika saya ingin membongkar cermin dan menggunakannya untuk projek lain, saya boleh mengeluarkannya dengan mudah. Sekiranya anda pasti boleh menggunakan pistol gam panas dan lekatkan ke bahagian belakang cermin.
Langkah 9: Memulakan Kod
LXSession
Mari buat dahulu beberapa folder
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Sekarang kita akan membuat fail di mana kita akan menentukan beberapa parameter / perintah permulaan.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Tampalkan yang berikut ke dalam fail.
@lxpanel --profil LXDE-pi
@pcmanfm --desktop --profil LXDE-pi @xscreensaver -no-splash @ point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Kami akan mengemas kini skrip skrin cermin permulaan agar sesuai dengan hos kami.
sudo nano /home/pi/Mirror/init_mirror.sh
Pilih localhost jika anda tidak menggunakan kalendar dan domain google.
#! / bin / bash
tidur 15 penyemak imbas kromium --incognito --kiosk https:// localhost / mirror
Sekiranya anda menggunakannya, isikan hos anda.
#! / bin / bash
tidurkan penyemak imbas 15 kromium --incognito --kiosk
Perkhidmatan
Sekarang kita akan menetapkan bahawa kod Mirror berjalan secara automatik.
Kami akan membuat perkhidmatan yang secara automatik memulakan kod untuk kami.
Pergi ke:
sudo nano /etc/systemd/system/mirror.service
Dan tampalkan ini ke dalam fail
[Unit]
Penerangan = Mirend 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 perlu memuat semula daemon systemd dengan melakukan:
sudo systemctl daemon-tambah nilai
Dan kami juga akan membolehkan perkhidmatan bermula secara automatik semasa boot.
sudo systemctl mengaktifkan cermin
Sekarang kita akan mematikan.
sudo poweroff
Tetapan akhir
Akhirnya kita perlu membuang APIPA ip kita sehingga hanya berfungsi pada WiFi.
- Pergi ke direktori but kad SD pada PC anda.
- Buka fail "cmdline.txt"
- Buang ip = 169.254.10.1 Pada akhir baris teks panjang.
Langkah 10: Menjalankan Cermin
Kunjungi ip yang ada di skrin cermin atau jika anda telah menyediakan kalendar google isikan nama domain.
Sekarang anda akan dapat memasang cermin anda!
Sekiranya anda mendapat ralat SSL pada cermin, anda mungkin mahu menambahkan sijil anda ke kedai sijil Chromium.
Disyorkan:
Cermin Mata Pintar (Di Bawah $ 10 !!!): 8 Langkah (dengan Gambar)
Cermin Mata Pintar (Di Bawah $ 10 !!!): Hai! Kita semua biasa dengan Smart Glasses seperti yang bernama E.D.I.T.H. dibuat oleh watak kesayangan kita Tony Stark yang kemudiannya diteruskan kepada Peter Parker. Hari ini saya akan membina satu kaca pintar seperti itu di bawah $ 10! Mereka tidak begitu
Cermin Pintar Dengan Lampu Latar: 5 Langkah
SmartMirror With Backlighting: Setelah melalui proses berfikir yang panjang, saya membuat kesimpulan untuk membina cermin pintar. Saya mempunyai kebiasaan mempunyai jadual tidur yang tidak teratur jadi saya mahu cermin ini membantu dan mencatat waktu bangun tidur saya dan lain-lain. Saya mahu memastikannya mudah dan melaksanakan 3 sensor
Cara Membina Cermin Pintar Dengan Raspberry Pi 4: 10 Langkah
Cara Membina Cermin Pintar Dengan Raspberry Pi 4: Dalam panduan ini kita akan melihat bagaimana membina cermin pintar menggunakan kepingan kitar semula seperti bingkai gambar, monitor lama dan kaca gambar. Untuk komponen elektronik yang saya beli dari sini www.lcsc .com
Buat Cermin Pintar Sendiri dengan Harga Bawah $ 80 - Menggunakan Raspberry Pi: 6 Langkah (dengan Gambar)
Buat Cermin Pintar Sendiri dengan Harga di Bawah $ 80 - Menggunakan Raspberry Pi: Dalam projek ini, kami akan membina cermin pintar yang akan menunjukkan maklumat berguna semasa anda bersiap-siap pada waktu pagi. Seluruhnya berharga di bawah $ 80 menjadikannya berpatutan untuk kebanyakan orang. Panduan ini hanya akan mengajar anda
Jam Kalendar Google Pintar Raspberry Pi DIY: 4 Langkah
Jam Kalendar Google Raspberry Pi Pintar DIY: Ini adalah jam Pintar yang saya buat untuk Peraduan Jam, saya harap anda menyukainya! Ia mempunyai Raspberry Pi di dalamnya yang menjalankan program Pemprosesan dan Python untuk mengakses data Kalendar Google saya dan mencetak 10 hari akan datang yang anda ada dalam senarai