Google Takvim ile Çok Kullanıcılı Akıllı Ayna: 10 Adım
Google Takvim ile Çok Kullanıcılı Akıllı Ayna: 10 Adım
Anonim
Google Takvim ile Çok Kullanıcılı Akıllı Ayna
Google Takvim ile Çok Kullanıcılı Akıllı Ayna
Google Takvim ile Çok Kullanıcılı Akıllı Ayna
Google Takvim ile Çok Kullanıcılı Akıllı Ayna

Bu talimatta, Google Takvim ile entegre bir akıllı ayna oluşturacağız. Bu projeyi yaptım çünkü akıllı aynaları gerçekten harika buluyorum, sabahları bir lütuf. Ama diğerlerinin 1 kusuru olduğu için sıfırdan kendim yapmaya karar verdim. Çok gelişmiş ve dağınıktırlar. Bunu basit tutmaya karar verdim.

Gereçler

Önce

Benimki gibi bir Ayna inşa etmek için kesinlikle ihtiyaç duyacağınız şeylerle başlayacağız. Bu sarf malzemeleri, bölgenize ve mevcut fiyatlara bağlı olarak yaklaşık 250 ila 350 avroya mal olacak.

Donanım

Sensörler

  • Tek Tel Sıcaklık sensörü
  • RWCL 0516 (Mikrodalga hareket sensörü)
  • Yumuşak potansiyometre (Sparkfun'dan Dokunmatik Şerit)

Bilgi işlem

ve IC'ler

  • Hoparlör (4Ω'da 3,2W VEYA 8Ω'de 1,8W)
  • MCP3008
  • Adafruit I2S 3W D Sınıfı Amplifikatör Breakout - MAX98357A
  • Ahududu Pi 3 B+
  • SD kart (8GB iyidir)
  • Direnç 4.7K Ohm

Çeşitli

  • atlama telleri
  • ekmek tahtası
  • Akrilik Çift Yönlü Ayna (%15 Işık İletimi)
  • IPS Monitör (Boyut, ne kadar büyük istediğinize bağlıdır)
  • HDMI kablosu
  • Odun

Yazılım

  • Macun
  • Kod düzenleyici (Notepad++ yeterlidir)
  • Win32 Disk Görüntüleyici
  • Raspbian OS görüntüsü

Adım 1: Kurulum

Başlamak için önce yaptığım kod için Pi'nizi ayarlamamız gerekecek.

İki şeye ihtiyacınız olacak:

  • https://sourceforge.net/projects/win32diskimager/… adresinden Win32 Disk Görüntüleyici
  • https://www.raspberrypi.org/downloads/raspbian/ adresinden Raspbian OS görüntüsü

ZIP dosyasını indirin ve istediğiniz yere çıkarın.

Montaj

  1. Klasör simgesi aracılığıyla resminizi seçin
  2. Açılır menüden SD kartınızı seçin
  3. Yaz'a tıklayın

Şimdi Pi'ye erişebilmemiz için bazı ayarlarla biraz daha uğraşmamız gerekecek.

  1. SD kartın önyükleme dizinine gidin
  2. "cmdline.txt" dosyasını açın
  3. ip=169.254.10.1 Bir boşlukla ayrılmış uzun metin satırının sonuna (aynı satırda) ekleyin.
  4. Dosya 'yı kaydet.
  5. Aynı dizinde uzantısı olmayan ssh adında bir dosya oluşturun

Artık SD kartı çıkarabilir ve Pi'nize koyabilirsiniz.

Bağlanıyor

Şimdi yazılımı kurmamız gerekecek.

Önce bir LAN kablosunu, bir ucu masaüstü/dizüstü bilgisayarınıza ve diğer ucu Pi'nize takın.

Şimdi Raspberry Pi'yi başlatın.

  1. Putty'yi https://www.putty.org/ adresinden yükleyin.
  2. IP kutusuna 169.254.10.1 girin.
  3. SSH'nin seçildiğinden ve 22 numaralı bağlantı noktasının doldurulduğundan emin olun.
  4. Aç'ı tıklayın
  5. Kullanıcı adını girin: pi
  6. Şifreyi girin: ahududu

Raspi-yapılandırma

Raspi-config yardımcı programını aşağıdakileri kullanarak açın:

sudo raspi yapılandırması

Arayüzler kategorisinde aşağıdaki seçenekleri etkinleştirin

  • 1-Tel
  • SPI

Yerelleştirme kategorisi aracılığıyla WiFi ülkenizi seçin.

Ardından, önyükleme seçenekleri kategorisinde aşağıdaki seçenekleri devre dışı bırakın

Başlangıç ekranı

Son olarak, önyükleme seçenekleri kategorisindeki Masaüstü/CLI ayarını Masaüstü Otomatik Oturum Açma olarak ayarlayın.

Wifi

Ayna için bir wifi bağlantımız olması gerekiyor, bu yüzden wifi kimlik bilgilerinizin yakın olduğundan emin olun.

Kök moduna git

sudo -i

Bu satırı yapıştırın ancak SSID ve Parolanın her ikisinin de doldurulduğundan emin olun.

wpa_passphrase "SSID" "ŞİFRE" >> /etc/wpa_supplicant/wpa_supplicant.conf

WPA İstemcisini girin.

wpa_cli

arayüzü seçin

arayüz wlan0

Yapılandırmayı yeniden yükleyin

yeniden yapılandırmak

Yazarak doğru bağlandığınızdan emin olun…

ip bir

…ve WLAN0 arayüzlerinde bir IP'niz olup olmadığını görmek.

Paketler

Artık internete bağlı olduğumuza göre bazı paketler kurmamız gerekecek.

İlk olarak, en sonuncusu için paket listelerini yenilememiz gerekecek.

sudo uygun güncelleme

piton

Raspbian'ı Python 3'ü kullanmaya zorlayacağız

güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python2.7 1

güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python3 2

MariaDB

Veritabanını kurmak için aşağıdaki satırı yapıştırın.

sudo apt mariadb sunucusunu kurun

O zaman kurulumumuzu güvenli hale getirmemiz gerekecek.

mysql_secure_installation

Sadece enter'a basmak için elimizde bir tane olmadığı için mevcut kök şifremizi soracak.

Ardından, istediğimizden beri y'de bir kök şifre türü isteyip istemediğimizi soruyor.

Sonraki sorular için sadece Y girin.

Son olarak ayna için kullanabileceğimiz bir kullanıcı oluşturacağız.

Aşağıdakileri yaparak mysql kabuğunu girin:

Kendimizi kök salmak için yükseltin

sudo -i

mysql kabuğunu girin

mysql

Kendi kullanıcı adınızla değiştirin ve aynı

aynadaki tüm ayrıcalıkları verin.* ile tanımlanan ''@'%'';

Şimdi izinler tablosunu temizliyoruz.

FLUSH AYRICALIKLARI;

Apache Web sunucusu

Web sunucusunu kurmak için aşağıdaki satırı çalıştırın.

sudo apt apache2'yi yükleyin -y

Python paketleri

Bu paketleri kuracağız

  • şişe
  • Şişe-Kors
  • Flask-MySQL
  • Şişe-SoketIO
  • PyMySQL
  • şişe tılsımı
  • Gevent
  • Gevent-websocket
  • Google-api-python-istemcisi
  • Google-auth
  • Google-auth-httplib2
  • Google-auth-oauthlib
  • Httplib2
  • Takvim
  • Icaevents
  • Oauthlib
  • Python-socketio
  • İstekler
  • wsaccel
  • Ujson

Yaparak

pip Flask Flask-Cors Flask-MySQL Flask-SocketIO yükleyin PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthlib celioupython

Hoparlör kurulumu

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Şimdi yeniden başlatmamız gerekiyor, bu yüzden y'ye basın.

Komut dosyasını yeniden çalıştırın

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Şimdi ikinci kez yeniden başlatmamız gerekiyor

sudo yeniden başlatma

Ekran monitörü)

Ekranınızın yönünü nasıl istediğinize bağlı olarak ekranı döndürmek isteyebilirsiniz.

Ekranı döndürmek için aşağıdakileri yaparak önyükleme seçeneklerine erişmemiz gerekiyor:

sudo nano /boot/config.txt

Ve sonra bu satırlardan birini yapılandırma dosyasına yapıştırın:

display_rotate=0

display_rotate=1

display_rotate=2

display_rotate=3

İlki, 0, normal konfigürasyondur. 1 90 derece, 2 180 derece ve sonuncusu 270 derece olacak.

Ardından yeniden başlatın.

sudo yeniden başlatma

Adım 2: Aynayı Takma

Aynayı Takma
Aynayı Takma

Şimdi kodumu indirmek için bir yer ayarlayacağız.

cd /ev/pi/

git klon https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject

Şimdi bazı klasörleri doğru hedefe kopyalayacağız

sudo cp -R ön uç/ayna/ /var/www/html/ayna/

sudo cp -R ön uç/dashboard/ /var/www/html/ Sudo cp -R arka uç/ /home/pi/Mirror/

Veritabanını kurmak, projeyi yapmak için gerekli bir adımdır.

sudo mysql -u root -p << CREATEDATABASE.sql

3. Adım: Yapılandırma

Yapılandırma dosyası şurada bulunur:

sudo nano /home/pi/Mirror/resources/config.ini

MYSQL kullanıcı ve şifresini girin.

Bu az önce yaptığımız mysql kullanıcısı olmalı.

Daha sonra bu talimata geçeceğimiz diğer ayarlar.

4. Adım: API'ler

Şimdi Pi'nin kurulumunu bitirdik, yapmak isteyebileceğiniz bazı konuları ele alacağız.

Karanlık gökyüzü

darksky.net/dev aracılığıyla bir Darsky API anahtarı oluşturun.

Kaydolduğunuzda, Gösterge Tablosunda API anahtarınızı göreceksiniz.

Bu anahtarı daha önce kurduğunuz yansıtma projesinin yapılandırma dosyasına girin.

Takvim

Varsayılan olarak, takviminizi görüntülemek için yalnızca ical url'lerini kullanabileceksiniz. Ancak bu bölüm, aynanızı Google Ekosistemi ile nasıl bağlayacağınızla ilgili olacak. Bu genellikle daha uzun ve daha acılı bir süreçtir.

Kesinlikle ihtiyacınız olacak şeyler

Bir alan adı

Bu bölümde kuracağımız şeyler bunlar

  • CloudFlare hesabı
  • Google Geliştirici Hesabı
  • Google Geliştirici Projesi
  • Takvim API'sini kurun

Adım 5: Takvim

Takvim
Takvim
Takvim
Takvim

bulut parlaması

cloudflare.com adresinden bir cloudflare hesabı kurun ve alan adınızı Cloudflare DNS'e aktarmak için sihirbazı takip edin.

Raspberry pi'ye işaret eden bir A kaydı oluşturmanıza gerek yok. Ayna kodum bunu sizin için yapacak. Çoğu ev wifi'sinde IP'ler statik olmadığından, yeniden başlattıktan sonra artık çalışmayabilir. Kodumun ip'yi otomatik olarak güncellemesi için hesabınızın API anahtarına ihtiyacı olacak.

  1. Sağ taraftaki kontrol panelinde API anahtarınızı alın düğmesini tıklayın. [Fotoğraf 1]
  2. Aşağı kaydırın ve Global API anahtarınızı görüntüleyin. [Fotoğraf 2]

Bu anahtarı daha önce kurduğunuz yansıtma projesinin yapılandırma dosyasına girin.

SSL Sertifikası oluşturma

Google, bir SSL bağlantımızın olmasını şart koşuyor. Bu bölüme başlamak için Cloudflare DNS'yi doğru şekilde kurduğunuzdan emin olun.

Önce depoyu ekleyin.

sudo eklenti-apt-deposu ppa:certbot/certbot

Paket listesini güncelleyin.

sudo apt-get güncellemesi

CertBot'u yükleyin

sudo apt yükleme python-certbot-apache

Sertifika oluşturma işlemini başlatın. Yine doğru alan adını doldurmanız gerekecek.

sudo certbot --apache -d example.com -d www.example.com

Oluşturduktan sonra, tüm bağlantıları SSL'ye yönlendirmesi gerekip gerekmediğini soracaktır. Yönlendirmeyi seçin.

Şimdi size alan adınız için başarıyla bir sertifika oluşturduğunu söyleyecektir. Size verdiği 2 yolu kaydettiğinizden emin olun.

  • /etc/letsencrypt/live/example.com/cert.pem
  • /etc/letsencrypt/live/example.com/privkey.pem

Şimdi şu yollarla sertifikaların bulunduğu klasöre gidin:

example.com'u doğru ana bilgisayarla değiştirdiğinizden emin olun.

cd /etc/letsencrypt/live/example.com/

Şimdi bu içerikleri proje klasörümüze kopyalayalım.

cp cert.pem /home/pi/Mirror/resources/certs/cert.pem

Ve

cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem

Apache'yi etki alanınıza bağlayın

Apache'yi etki alanınızla doğru bir şekilde yapılandırmak için bir yapılandırma dosyası oluşturmamız gerekecek. Alan adınızı, örneğin funergydev.com'u doldurduğunuzdan emin olun.

sudo nano /etc/apache2/sites-enabled/example.com.conf

Sonra bunu dosyaya yapıştırın. example.com'u alan adınızla değiştirin.

Sertifikanızın ve özel anahtarınızın doğru yol olduğundan emin olun. Bunları, daha önce oluşturduğumuzda kaydettiğiniz yola, ardından certbot aracılığıyla ayarlayın.

SSLCertificateFile üzerinde DocumentRoot "/var/www/html/" SSLEngine /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Buradaki diğer yönergeler Seçenekler Dizinler FollowSymLinks AllowOverride Tümü Tümünün verilmesini gerektirir

Şimdi bazı değişiklikleri etkinleştirmemiz ve ardından aşağıdakileri yaparak Apache'yi yapılandırmayı yeniden yüklemeye zorlamamız gerekiyor:

sudo a2enmod ssl

sudo a2enmod yeniden yazma

sudo systemctl apache2'yi yeniden yükle

Artık alan adınız üzerinden pi'nize gidebilmeli ve varsayılan apache sayfasını görebilmelisiniz.

6. Adım: Google API'sı

Google API'sı
Google API'sı
Google API'sı
Google API'sı
Google API'sı
Google API'sı

console.developers.google.com adresinden geliştirici konsoluna gidin.

Bölüm 1

Google API logosunun yanındaki ve YENİ PROJE düğmesini tıklayarak ilk projenizi oluşturun. Uygun bir proje adı girin ve oluştur düğmesine tıklayın. [Fotoğraf1]

Bölüm 2

Şimdi bu sayfaya gideceksiniz. Kitaplık düğmesini tıklayın. [Fotoğraf2]

Bu, kullanabileceğiniz tüm API'lerin büyük bir listesidir, ancak biz Google Takvim API'sini arayacağız. Üzerine tıklayın ve ETKİNLEŞTİR'e basın. [Fotoğraf3]

Ardından, Calendar API'nin genel görünümüne ulaşacaksınız. Projenize geri dönmek için Google API'leri logosunu tıklayın. [Fotoğraf4]

Bölüm 3

Her şeyi doğru şekilde ayarlamak için kimlik bilgileri kategorisine tıklayın ve Etki Alanı doğrulama sekmesini seçin.

Burada alan adınızı doğrulamanız gerekecek.

  1. ALAN EKLE'yi tıklayın
  2. Alan adınızı girin
  3. Ardından alan adınızı doğrulamanızı isteyecektir. Devam'ı tıklayın.
  4. Alan adı sağlayıcınızı seçin. [Fotoğraf5]
  5. Süreci takip edin
  6. Artık bu şekilde Google API Konsolundaki Alan Adı Doğrulama Listesine ekleyebileceksiniz. Alan adınızın kontrol edildiğinden emin olun. [Fotoğraf6]

4. Bölüm

Şimdi OAuth izin ekranı sekmesini seçin. [Fotoğraf7]

Uygulama Adını doldurun

Ardından, izin ekranına kapsamlar ekleyeceğiz. Bu, kullanıcıya izin ekranında takvim bilgilerini aynayla paylaşmak isteyip istemediğini soracağımız anlamına gelir.

  1. Kapsam ekle'yi tıklayın ve takvimi arayın.
  2. ../auth/calendar.readonly kontrol edin ve ekle'ye basın. [Fotoğraf8]

Bir Yetkili Etki Alanı girin. Bu, az önce doğruladığınız alan olmalıdır. [Fotoğraf9]

Şimdi formun altındaki büyük kaydet düğmesine tıklayın.

Bölüm 5

Son olarak kimlik bilgilerini oluşturmamız gerekiyor. Kaydet düğmesine bastığımız için kimlik bilgileri sekmesine yönlendirildik. Kimlik bilgileri oluştur'a tıklayın ve OAuth İstemci Kimliği'ni seçin. [Fotoğraf10]

Uygulama türü: Web Uygulaması'nı seçin ve ona bir ad verin.

Yetkili Yönlendirme URI'lerine aşağıdaki bağlantıyı girin ve doğru etki alanını doldurun.

example.com:5000/api/v1/setup/calendar/response

Oluştur'u tıklayın. Bu size bir açılır pencere gösterecek, sadece Tamam'ı tıklayın. Şimdi az önce yaptığınız kimlik bilgilerinin indirme düğmesine basın

6. Bölüm

Şimdi JSON dosyasını açın ve içeriği kopyalayın.

sudo nano /home/pi/Mirror/resources/credentials/credentials.json

Bunları buraya yapıştırın.

7. Bölüm

Şimdi yapılandırmada etki alanımızı aşağıdakileri yaparak tanımlamamız gerekiyor:

sudo nano /home/pi/Mirror/resources/config.ini

Adım 7: Ayna Tasarımı

Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı
Ayna Tasarımı

Aynanızı tasarlamak, nasıl istediğinize bağlıdır. LCD'nin doğru ölçümlerini yapın ve Mikrodalga hareket sensörü orada olacağından aynanın bir tarafında 2 santimetre boşluk bırakın. Herhangi bir metalin arkasında olamaz.

4 tahta tahtayı birbirine bağladım. Bunlar aynanın güzel ve temiz bir ön yüzüne sahip olmak için öğütüldü. Üstte, hoparlörün sesinin geçmesine izin vermek için birkaç delik de açtım. Aynanın karşı tarafını alttan küçük bir dikdörtgen kestim ki elektrik tesisatını kolayca yapabileyim. [Fotoğraf1]

Bunlar, monitörün dayanacağı 2 parça ucuz ahşap. Ayna ile kasa arasında yaklaşık 2 cm'lik bir boşluğa ihtiyacımız olacağını söylediğimden beri. Ayrıca 3 küçük odun parçası ekledim ve bu dinlenme parçalarına vidaladım. Böylece monitör yerinde kalacaktı. [Fotoğraf2]

Sonunda böyle görünüyordu. Bu dinlenme parçaları ile ayna kasasının önü arasında yaklaşık 3 mm'lik bir boşluk vardı. 3 mm kalınlığındaki İki yönlü aynayı yerleştirebilmem için yeterli. [Fotoğraf3]

Adım 8: Kablolamanın Yapılması

Kablolamanın Yapılması
Kablolamanın Yapılması
Kablolamanın Yapılması
Kablolamanın Yapılması
Kablolamanın Yapılması
Kablolamanın Yapılması

Bu şemalardan birini doğru şekilde uyguladığınızdan emin olun.

Kablolamayı yaptıktan sonra ekranın arkasına çift taraflı bantla yapıştırdım. Aynayı söküp başka projelerde kullanmak istesem kolayca çıkarabilirdim. Eminseniz sıcak tutkal tabancası kullanabilir ve aynanın arkasına yapıştırabilirsiniz.

Adım 9: Kodu Başlatma

Kodu Başlatmak
Kodu Başlatmak
Kodu Başlatmak
Kodu Başlatmak
Kodu Başlatmak
Kodu Başlatmak

LXSession

Önce birkaç klasör oluşturalım

mkdir -p /home/pi/.config/lxsession/LXDE-pi/

Şimdi birkaç başlangıç parametresi/komutu belirleyeceğimiz bir dosya oluşturacağız.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Aşağıdakini dosyaya yapıştırın.

@lxpanel --profil LXDE-pi

@pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s boş @xset s kapalı @xset -dpms

Başlangıç yansıtma ekranı komut dosyasını sunucumuza uyacak şekilde güncelleyeceğiz.

sudo nano /home/pi/Mirror/init_mirror.sh

Google takvimi ve bir alan kullanmıyorsanız localhost'u seçin.

#!/bin/bash

uyku 15 krom tarayıcı --incognito --kiosk

Kullanıyorsanız, ana makinenizi doldurun.

#!/bin/bash

uyku 15 krom tarayıcı --incognito --kiosk

Hizmet

Şimdi Mirror kodunun otomatik olarak çalışmasını ayarlayacağız.

Kodu bizim için otomatik olarak başlatan bir hizmet oluşturacağız.

Git:

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

Ve bunu dosyaya yapıştırın

[Birim]

Açıklama=Ayna Arka Uç Sonrası=network.target mariadb.service [Service] Type=simple User=root ExecStart=/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy=multi-user.target

Şimdi şunu yaparak systemd arka planını yeniden yüklememiz gerekecek:

sudo systemctl arka plan programı yeniden yükleme

Ayrıca hizmetin açılışta otomatik olarak başlamasını sağlayacağız.

sudo systemctl aynayı etkinleştir

Şimdi gücü kapatacağız.

sudo poweroff

son ayarlar

Son olarak, APIPA ipimizi kaldırmamız gerekiyor, böylece sadece WiFi üzerinde çalışıyor.

  1. PC'nizdeki SD kartın önyükleme dizinine gidin.
  2. "cmdline.txt" dosyasını açın
  3. Kaldır ip=169.254.10.1 Uzun metin satırının sonunda.

Adım 10: Aynayı Çalıştırma

Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak
Aynayı Çalıştırmak

Ayna ekranındaki ip adresini ziyaret edin veya google takvimini kurduysanız alan adını doldurun.

Artık aynanızı kurabileceksiniz!

Yansımanızda bir SSL hatası alırsanız, sertifikalarınızı Chromium sertifika deposuna eklemek isteyebilirsiniz.

Önerilen: