Isi kandungan:

Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah
Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah

Video: Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah

Video: Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah
Video: Pintar Menggunakan Google Calendar 2024, November
Anonim
Cermin Pintar Berbilang Pengguna Dengan Kalendar Google
Cermin Pintar Berbilang Pengguna Dengan Kalendar Google
Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google
Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google

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

  1. Pilih gambar anda melalui ikon folder
  2. Pilih kad SD anda melalui menu lungsur
  3. Klik tulis

Sekarang kita perlu melakukan beberapa gangguan tambahan dengan beberapa tetapan sehingga kita dapat mengakses Pi.

  1. Pergi ke direktori but kad SD
  2. Buka fail "cmdline.txt"
  3. Tambah ip = 169.254.10.1 Pada akhir baris panjang teks dipisahkan dengan spasi (pada baris yang sama).
  4. Simpan fail.
  5. 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.

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

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

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

  1. Klik butang Dapatkan API anda di papan pemuka di sebelah kanan. [Foto 1]
  2. 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

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

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

  1. Klik tambah skop dan cari kalendar.
  2. 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

Reka Bentuk Cermin
Reka Bentuk Cermin
Reka Bentuk Cermin
Reka Bentuk Cermin
Reka Bentuk Cermin
Reka Bentuk Cermin
Reka Bentuk Cermin
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

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

Memulakan Kod
Memulakan Kod
Memulakan Kod
Memulakan Kod
Memulakan Kod
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.

  1. Pergi ke direktori but kad SD pada PC anda.
  2. Buka fail "cmdline.txt"
  3. Buang ip = 169.254.10.1 Pada akhir baris teks 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 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: