İçindekiler:
- Adım 1: İhtiyacınız Olan Şeyler
- Adım 2: Raspberry Pi'yi 433 MHz için hazırlayın
- Adım 3: Akıllı Ev Sunucusunu Kurun
- Adım 4: İstemcileri Ayarlayın
- Adım 5: Sonuç
Video: Raspberry Pi'den Akıllı Ev: 5 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Dairenizi daha akıllı hale getiren birçok ürün var, ancak bunların çoğu tescilli çözümler. Ama akıllı telefonunuzla ışığı değiştirmek için neden bir internet bağlantısına ihtiyacınız var? Kendi Akıllı Ev çözümümü oluşturmamın bir nedeni buydu.
Raspberry Pi üzerinde çalışan bir sunucu uygulaması programladım. Bu, dairenizi yapılandırmanıza ve birkaç müşteriyi ve 'kontrol edilebilir üniteleri' bağlamanıza izin veren java tabanlı bir açık kaynak projesidir. Raspberry Pi'de rc güç kaynağı anahtarlarını işleyen, müzik ve video çalan, akıllı aynada durumu gösteren ve bir android uygulaması ve iki çakıl uygulaması tarafından kontrol edilebilen bir çözüm gösteriyorum. Kaynak, github https://github.com/dabastynator/SmartHome adresinde barındırılmaktadır.
Adım 1: İhtiyacınız Olan Şeyler
Akıllı Ev'i kurmak için aşağıdaki 'malzemelere' ihtiyacınız var
- Raspberry Pi en az model 2 B
- 433 MHz gönderici, bunun gibi bir şey
- Raspberry Pi ile göndericiyi birbirine bağlayan 3 adet jumper kablosu
- 433 MHz'de bazı radyo kontrol soketleri
- İstemci uygulamasını çalıştırmak için Android akıllı telefon
Ek olarak, Akıllı Ev'i daha fazla isteğe bağlı istemci ve bunun gibi birimlerle genişletebilirsiniz.
- çakıl akıllı saat
- Akıllı Ayna, bu projeye bakın
- 433 MHz kontrollü LED şerit, bkz.
Adım 2: Raspberry Pi'yi 433 MHz için hazırlayın
Aşağıdaki adımlarda Raspberry Pi'deki komut satırına erişmeniz gerekir. Erişim elde etmek için bu talimatı okuyabilirsiniz
433 MHz göndericiyi Raspberry Pi ile yukarıdaki resimde gösterildiği gibi bağlayın.
- GND (gönderen) 6 GND (raspi)
- VCC (gönderen) 2 +5V (raspi)
- VERİ (gönderen) 11 GPIO 17 (raspi)
Lütfen ayrıca ANT (gönderici) pimine 17 cm'lik bir anten bağlayın. Bu, sinyali önemli ölçüde artırır.
Diğer git depolarından bazı kütüphanelere ihtiyacımız olduğu için git'i kurmamız gerekiyor.
sudo apt-get install git-core -y
Raspberry Pi'yi 433 MHz iletişim için kurmak için GPIO'ların daha iyi işlenmesi için kablolama Pi kitaplığına ihtiyacımız var.
git klon git://git.drogon.net/wiringPi
cd kablolamaPi./build
O zaman tipik olarak rc güç kaynağı protokollerini uygulayan bir kitaplığa ihtiyacımız var.
git klon git://github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi cp gönderme /usr/bin/ yap
'Gönder' yürütülebilir dosyası, mevcut güç kaynaklarının çoğunu değiştirmek için kodlar göndermenize izin verir.
Akıllı Ev kurulumumda ayrıca bu talimatta açıklanan bir rc LED şeridim var: https://www.instructables.com/id/RC-control-LED… Bu LED şeridinin renklerini ayarlamak için başka bir gönderme yürütülebilir dosyasına ihtiyacınız var. herhangi bir Tamsayı değeri göndermek için (Bu, rengi kodlar).
Bu nedenle, sendInt.cpp dosyasını rcswitch-pi deposunda derleyin ve /usr/bin/sendInt dizinine taşıyın.
sudo g++ sendInt.cpp -o /usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch-pi -lwiringPi
Artık /usr/bin/send ve /usr/bin/sendInt adlı iki yürütülebilir dosyayla rc komutları gönderebilmeniz gerekir.
Adım 3: Akıllı Ev Sunucusunu Kurun
Her şeyden önce, birkaç paket yüklemeniz gerekir. Akıllı Ev uygulaması java tabanlıdır ve openjdk-11 ile sorunsuz çalışır. Diğer Java çalışma zamanı ortamlarından emin değilim. mplayer, minimalist bir komut satırı müzik çalardır. Omxplayer, video kodlaması için Raspberry Pi grafiklerini kullanır, bu nedenle videolar için bu kullanılmalıdır. Java uygulamasını oluşturmak için ant programı gereklidir.
sudo apt-get kurulumu mplayer omxplayer openjdk-11-jdk ant -y
Jar dosyası ve günlükler için kurulum dizinleri.
sudo mkdir /opt/neo
sudo chown pi:pi /opt/neo mkdir /home/pi/Günlükler
Başlatma sırasında uygulamayı otomatik olarak başlatmak için başlatma komut dosyasını yapılandırın. Bu nedenle ekli akıllı ev komut dosyasını /etc/init.d/ dizinine kopyalayın /usr/bin/ içinde komutları ekli komut dosyasına yönlendiren bir komut dosyası oluşturdum, bu yüzden komutları yürütmek için konsola akıllı ana sayfaya giriyorum.
sudo cp akıllı ev /etc/init.d/smart-home
sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#! /bin/bash' > /usr/bin/smart-home" sudo sh -c "echo '/etc/init. d/smart-home \$1' >> /usr/bin/smart-home" sudo chmod +x /usr/bin/smart-home sudo update-rc.d akıllı ev varsayılanları
Şimdi depoyu kontrol etme ve uygulamayı oluşturma zamanı. Kendiniz derlemek istemiyorsanız, ekteki smarthome.jar dosyasını indirebilir ve /opt/neo/ dizinine taşıyabilirsiniz.
git klon [email protected]:dabastynator/SmartHome.git
ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/* /opt/neo/
Akıllı evi başlatmayı deneyin ve günlük dosyasını kontrol edin. GPIO'lara erişim sağlamak için uygulama sudo tarafından başlatılmalıdır.
sudo akıllı ev başlangıcı
kedi Günlükleri/smarthome.log
Bizi bir sonraki adıma yönlendiren Yapılandırma dosyası mevcut değil hata mesajını görmelisiniz. Depo, yapılandırma dosyasını açıklayan bir benioku dosyası içerir. Bunu github'da güzel bir şekilde görebilirsiniz:
Bu xml'yi /home/pi/controlcenter.xml dizinine kopyalayın, ardından medya sunucunuzun konumunu ayarlayın ve içeriği istediğiniz gibi değiştirin. Yapılandırmayı bitirdikten ve akıllı evi yeniden başlattıktan sonra (sudo akıllı ev yeniden başlatma) smarthome.log'da aşağıdaki içeriği görmelisiniz.
24.05-08:26 de.neo.smarthome.cronjob. CronJob@15aeb7ab tarafından UZAKTAN BİLGİ: Zamanlama cron işi
24.05-08:26 [trigger.light] ile UZAK BİLGİ: Yürütme için 79391760 ms bekleyin 24.05-08:26 Web işleyicisi Ekle ile RMI BİLGİSİ (5061/ledstrip) 24.05-08:26 Web işleyicisi Ekle ile RMI BİLGİSİ (5061) /eylem) 24.05-08:26 Web işleyici ekle (5061/mediaserver) ile RMI BİLGİSİ 24.05-08:26 Web işleyici ekle (5061/switch) ile RMI BİLGİSİ 24.05-08:26 Web işleyici ekle ile RMI BİLGİSİ (5061/controlcenter) 24.05-08:26 5 işleyici ile web sunucusunu başlat (localhost:5061) tarafından RMI BİLGİSİ 24.05-08:26 Controlcenter tarafından UZAK BİLGİ: 1. kontrol ünitesi ekle: MyUnit (xyz) …
Web sunucusu şimdi çalışıyor:-)
Adım 4: İstemcileri Ayarlayın
Akıllı telefon Android istemcisi
Akıllı ev uygulamasının git deposu aynı zamanda android istemcisinin kaynağını da içerir, böylece onu kendiniz derleyebilirsiniz. Ancak bu adım için APK'yı ekledim, bu daha kolay hale getiriyor. Uygulamayı ilk başlattığınızda, yukarıdaki ilk resimde olduğu gibi sizden bir sunucu ister. Sunucunun URL'sini ve güvenlik belirtecini girin.
Bu olmalı. Artık Raspberry Pi'nizde sunucuya erişebilir ve dairenizi kontrol edebilir, müzik dinleyebilir ve video izleyebilirsiniz. Ana ekranınıza, anahtarları ve müzik kontrolünü daha erişilebilir hale getiren widget'lar ekleyebileceğinizi unutmayın.
Smartwatch Pebble istemcisi
İki çakıl istemcisinin kaynağı github'da barındırılıyor. Bir uygulama, çalmakta olan müzik dosyasını gösterir: https://github.com/dabastynator/PebbleRemoteMusic… Bu aynı zamanda duraklatmanıza/oynatmanıza ve ses seviyesini artırmanıza/azaltmanıza olanak tanır.
İkinci uygulama üç eylemi tetikler: https://github.com/dabastynator/PebbleControl Tetikleyici adları şunlardır: mobile.come_home mobile.leaving ve mobile.go_to_bed. Bu tetikleyici için olay kurallarını yapılandırma-xml'nizde tanımlarsanız, bunları saatiniz tarafından tetiklersiniz.
Hepsi açık kaynak kodlu, ancak kendiniz derlemenize gerek yok, ayrıca çakıl uygulamalarını da ekledim. PBW'leri akıllı telefonunuzla indirin, telefonunuz bunları saatinize kurmalıdır. Çakıl uygulamalarının sunucuyla konuşmak için yapılandırmalara ihtiyacı var. Ayarlarımın nasıl göründüğüne dair bir ekran görüntüsü ekledim.
Akıllı saat Garmin istemcisi
Garmin Smartwatches için bir istemci de mevcuttur. Uygulama, garmin connect uygulama mağazasında mevcuttur ve buradan yüklenebilir:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Akıllı Ayna istemcisi
Akıllı Aynanın nasıl oluşturulacağını açıklayan bir talimat oluşturmuştum, şuna bakın https://www.instructables.com/id/Smart-Mirror-by-R…. Kaynak kodu ayrıca github'da barındırılmaktadır: https:// github.com/dabastynator/SmartMirror. Smart Mirror'ın yazılımı, git deposunun parçası olmayan smart_config.js dosyasındaki yapılandırmayı okur. Yapılandırma dosyasının içeriği şu listeye benzemelidir:
var mOpenWeatherKey = 'açık-hava-anahtarınız';
var mSecurity = 'güvenlik-tokeniniz';
Ayrıca, Smart Home sunucusunun ip adresini ve doğru hava durumunu elde etmek için konumu belirtmek için smart_mirror.js dosyasının ilk iki satırını ayarlamanız gerekir.
Daha fazla müşteri
Sunucu uygulaması basit bir web sunucusudur. Bu, basit web aramalarıyla istediğiniz herhangi bir istemciden eylemleri tetiklemenizi sağlar. Demo-videoda, AutoVoice ile birlikte android uygulama görevlisini gösteriyorum. Bu, basit sesli komutlarla olayları tetiklememi sağlıyor. Örneğin, "ok google, uyku zamanı" mobile.go_to_bed'i tetikleyebilir. Ancak örneğin IFTTT'den web aramaları da yapabilirsiniz. E-posta bildirimi için sarı yanıp sönen bir LED şeridine ne dersiniz?
Sunucudan aşağıdaki bağlantılar gibi olası web aramalarını isteyebilirsiniz (yapılandırmanız ile ip, port ve belirteci değiştirin)
localhost:5061/controlcenter/api?token=secu…
localhost:5061/action/api?token=security-to…
localhost:5061/mediaserver/api?token=securi…
localhost:5061/switch/api?token=security-to…
localhost:5061/ledstrip/api?token=security-…
Adım 5: Sonuç
Hâlâ uygulanması gereken bazı özellikler var: Sunucu yalnızca basit bir web-api sağladığından istemciler çok fazla yoklama yapar. Yoklamayı azaltmak için daha iyi bildirim için bir MQTT entegrasyonu istiyorum. Ayrıca wifi güç kaynakları, rc sadece tek yönlü bir iletişim olduğundan, rc güç kaynaklarından daha güvenilir performans göstermelidir.
Bu proje için geliştirme yapmak çok eğlenceli. Ve internet bağlantısı kopsa bile daireyi birkaç cihazla kontrol etmek oldukça güzel.
Önerilen:
Akıllı Masa LED Işık - Arduino ile Akıllı Aydınlatma - Neopiksel Çalışma Alanı: 10 Adım (Resimlerle)
Akıllı Masa LED Işık | Arduino ile Akıllı Aydınlatma | Neopixels Çalışma Alanı: Artık evde çok fazla zaman geçirdiğimiz, sanal olarak çalıştığımız ve çalıştığımız bir gün, öyleyse neden çalışma alanımızı özel ve akıllı bir aydınlatma sistemi Arduino ve Ws2812b LED'leri ile büyütmeyelim. Burada size Smart'ınızı nasıl oluşturacağınızı gösteriyorum. Masa LED Işık o
Kullanılmayan Akıllı Telefonu Akıllı Ekrana Dönüştürün: 6 Adım (Resimlerle)
Kullanılmayan bir Akıllı Telefonu Akıllı Ekrana Dönüştürün: Deze öğreticisi, Hollanda'da çok iyi. Kullanılmayan (eski) bir akıllı telefonunuz var mı? Bu kolay adım adım öğreticiyi izleyerek Google E-Tablolar ve biraz kağıt kalem kullanarak akıllı bir ekrana dönüştürün. Bitirdiğinizde
Akıllı Çalar Saat: Raspberry Pi İle Yapılmış Akıllı Çalar Saat: 10 Adımda (Resimlerle)
Akıllı Çalar Saat: Raspberry Pi ile Yapılan Akıllı Çalar Saat: Hiç akıllı saat istediniz mi? Eğer öyleyse tam size göre bir çözüm! Akıllı Çalar Saat yaptım, siteye göre alarm saatini değiştirebileceğiniz bir saat bu. Alarm çaldığında bir ses (buzzer) duyulacak ve 2 ışık yanacaktır
Akıllı Telefonla ESP8266 Tabanlı Sonoff Temel Akıllı Anahtar Nasıl Kontrol Edilir: 4 Adım (Resimlerle)
Akıllı Telefonla ESP8266 Tabanlı Sonoff Temel Akıllı Anahtar Nasıl Kontrol Edilir: Sonoff, ITEAD tarafından geliştirilen Akıllı Ev için bir cihaz hattıdır. Bu hattaki en esnek ve ucuz cihazlardan biri Sonoff Basic. Harika bir çip olan ESP8266'yı temel alan Wi-Fi özellikli bir anahtardır. Bu makale, Cl'nin nasıl kurulacağını açıklar
Raspberry Pi'den Akıllı Ayna: 5 Adım (Resimlerle)
Raspberry Pi'den Akıllı Ayna: Yani çekmecede kullanılmayan bir ahududu pi 1B ve kullanılmayan bir monitör vardı. Bu, Akıllı Ayna oluşturmak için yeterli bir nedendir.Ayna, akıllı ev anahtarları ve hangi müzikle ilgili durum bilgilerinin yanı sıra saat, tarih ve hava durumu bilgilerini de göstermelidir