Daftar Isi:

Cermin Cerdas Multi Pengguna Dengan Kalender Google: 10 Langkah
Cermin Cerdas Multi Pengguna Dengan Kalender Google: 10 Langkah

Video: Cermin Cerdas Multi Pengguna Dengan Kalender Google: 10 Langkah

Video: Cermin Cerdas Multi Pengguna Dengan Kalender Google: 10 Langkah
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, November
Anonim
Cermin Cerdas Multi Pengguna Dengan Kalender Google
Cermin Cerdas Multi Pengguna Dengan Kalender Google
Cermin Cerdas Multi Pengguna Dengan Kalender Google
Cermin Cerdas Multi Pengguna Dengan Kalender Google

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

  1. Pilih gambar Anda melalui ikon folder
  2. Pilih kartu SD Anda melalui dropdown
  3. Klik tulis

Sekarang kita perlu melakukan beberapa penyesuaian ekstra dengan beberapa pengaturan sehingga kita dapat mengakses Pi.

  1. Buka direktori boot kartu SD
  2. Buka file "cmdline.txt"
  3. Tambahkan ip=169.254.10.1 Di akhir baris panjang teks dipisahkan dengan spasi (pada baris yang sama).
  4. Simpan file.
  5. 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.

  1. Instal Putty dari
  2. Masukkan 169.254.10.1 di kotak IP.
  3. Pastikan SSH dipilih dan port 22 terisi.
  4. Klik buka
  5. Isi nama pengguna: pi
  6. 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

Memasang Cermin
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

Kalender
Kalender
Kalender
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.

  1. Klik tombol Dapatkan kunci API Anda di dasbor di sisi kanan. [Foto 1]
  2. 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

Google API
Google API
Google API
Google API
Google API
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.

  1. Klik TAMBAHKAN DOMAIN
  2. Isi domain Anda
  3. Kemudian akan meminta untuk memverifikasi domain Anda. Klik lanjutkan.
  4. Pilih penyedia nama Domain Anda. [Foto5]
  5. Ikuti prosesnya
  6. 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.

  1. Klik tambahkan cakupan dan cari kalender.
  2. 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

Desain Cermin
Desain Cermin
Desain Cermin
Desain Cermin
Desain Cermin
Desain Cermin
Desain Cermin
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

Melakukan Pengkabelan
Melakukan Pengkabelan
Melakukan Pengkabelan
Melakukan Pengkabelan
Melakukan Pengkabelan
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

Memulai Kode
Memulai Kode
Memulai Kode
Memulai Kode
Memulai Kode
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.

  1. Buka direktori boot kartu SD di PC Anda.
  2. Buka file "cmdline.txt"
  3. Hapus ip=169.254.10.1 Di akhir baris teks yang panjang.

Langkah 10: Menjalankan Cermin

Menjalankan Cermin
Menjalankan Cermin
Menjalankan Cermin
Menjalankan Cermin
Menjalankan Cermin
Menjalankan Cermin
Menjalankan Cermin
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: