İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
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
- Klasör simgesi aracılığıyla resminizi seçin
- Açılır menüden SD kartınızı seçin
- Yaz'a tıklayın
Şimdi Pi'ye erişebilmemiz için bazı ayarlarla biraz daha uğraşmamız gerekecek.
- SD kartın önyükleme dizinine gidin
- "cmdline.txt" dosyasını açın
- ip=169.254.10.1 Bir boşlukla ayrılmış uzun metin satırının sonuna (aynı satırda) ekleyin.
- Dosya 'yı kaydet.
- 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.
- Putty'yi https://www.putty.org/ adresinden yükleyin.
- IP kutusuna 169.254.10.1 girin.
- SSH'nin seçildiğinden ve 22 numaralı bağlantı noktasının doldurulduğundan emin olun.
- Aç'ı tıklayın
- Kullanıcı adını girin: pi
- Ş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
Ş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
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.
- Sağ taraftaki kontrol panelinde API anahtarınızı alın düğmesini tıklayın. [Fotoğraf 1]
- 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ı
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.
- ALAN EKLE'yi tıklayın
- Alan adınızı girin
- Ardından alan adınızı doğrulamanızı isteyecektir. Devam'ı tıklayın.
- Alan adı sağlayıcınızı seçin. [Fotoğraf5]
- Süreci takip edin
- 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.
- Kapsam ekle'yi tıklayın ve takvimi arayın.
- ../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ı
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ı
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
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 --kioskHizmet
Ş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.
- PC'nizdeki SD kartın önyükleme dizinine gidin.
- "cmdline.txt" dosyasını açın
- Kaldır ip=169.254.10.1 Uzun metin satırının sonunda.
Adım 10: Aynayı Çalıştırma
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:
Raspberry Pi 4 ile Akıllı Ayna Nasıl Yapılır: 10 Adım
Raspberry Pi 4 ile Akıllı Ayna Nasıl Yapılır: Bu kılavuzda resim çerçevesi, eski monitör ve resim camı gibi geri dönüştürülmüş parçalar kullanarak akıllı ayna nasıl yapılır onu göreceğiz. Buradan satın aldığım elektronik bileşenler için www.lcsc .com
Alexa Ses Tanıma ile Eski Dizüstü Bilgisayardan Yüzen Akıllı Sihirli Ayna: 6 Adım (Resimlerle)
Alexa Ses Tanıma ile Eski Dizüstü Bilgisayardan Yüzen Akıllı Sihirli Ayna: 'Kısaca Elektronik' kursuma buradan kaydolun: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Ayrıca benim sayfama göz atın Daha fazla proje ve elektronik eğitimi için youtube kanalı burada: https://www.youtube.com/channel/UCelOO
Çok Akıllı Değil Ama Çok Sağlıklı Ama Biraz Ürpertici Ayna: 5 Adım (Resimlerle)
Çok Akıllı Değil Ama Çok Sağlıklı Yine de Biraz Ürpertici Ayna: Bir aynaya ihtiyacınız var ama evinize başka bir akıllı nesne eklemek istemiyor musunuz? O halde bu Pek Akıllı Değil Ama Çok Sağlıklı Yine de Biraz Ürpertici Ayna tam size göre
Pil Tasarrufu ile Haftanın Günü, Takvim, Saat, Nem/Sıcaklık: 10 Adım (Resimlerle)
Pil Tasarrufu ile Haftanın Günü, Takvim, Saat, Nem/Sıcaklık: Buradaki güç tasarrufu modu, bu Eğitilebilir Tabloyu haftanın günü, ayı, ayın günü, saat, nem ve sıcaklığı gösteren diğer örneklerden ayıran şeydir. Bu projenin bir pilden çalıştırılmasına izin veren bu yetenek, t
DIY Raspberry Pi Akıllı Google Takvim Saati: 4 Adım
Kendin Yap Raspberry Pi Akıllı Google Takvim Saati: Bu, Saat Yarışması için yaptığım bir Akıllı saattir, umarım beğenirsiniz! İçinde Raspberry Pi, Google Takvim verilerime erişmek ve bu verileri yazdırmak için bir İşleme ve Python programı çalıştıran bir Raspberry Pi vardır. Ekranda bir şeyler olan önümüzdeki 10 gün