- Ön koşullar:
- Çalışma Konsepti:
- ESP8266 için Arduino IDE Programı:
- Devre Şeması ve Donanım:
- ESP8266 IP'nizi Yönlendirme Portu:
- Moni Android Uygulamasının Kurulması:
- IFTTT hizmetini kullanarak Applet oluşturma:
- Projenin Test Edilmesi:
ESP8266 Wi-Fi modülünü kullanarak bir Ses Kontrollü Ev Otomasyon Sistemi kuracağımız, dünyanın herhangi bir yerinden bir Android Uygulaması aracılığıyla Sesinizi kullanarak Ev AC cihazlarınızı kontrol edebileceğiniz bir başka heyecan verici Projeye hoş geldiniz. Evet, yüklerinizi (Işık / Fanlar) sadece bir sesli komut kullanarak AÇIK veya KAPALI hale getirme hayaliniz bu projenin sonunda gerçekleşecek. Bu proje, ev aletlerini ağ üzerinden Web sunucusu kullanarak kontrol ettiğimiz Ev Otomasyonu için Akıllı Bağlantı Kutusu önceki projemizin bir çeşididir.
Bu IOT tabanlı Ses Kontrollü Ev Otomasyonu projesini oluşturmak çok kolaydır ve herhangi bir maliyetli ses modülü satın almanızı gerektirmediği için size fazla bir maliyeti yoktur. Tüm proje benim inşa etmem için yaklaşık 500 INR (8 USD) aldı. Ayrıca bu, mikro denetleyiciden bağımsız bir projedir, yani Arduino veya Raspberry pi gibi herhangi bir MCU / MP'ye ihtiyacınız yoktur. Tüm proje ESP8266 modülünde çalışır. ESP8266 hakkında buradan daha fazla bilgi edinin. Öyleyse konuşmaya başlayalım…
Daha önce, aşağıdakiler gibi farklı teknolojileri kullanan birçok Ev otomasyonu türünü ele almıştık:
- DTMF Tabanlı Ev Otomasyonu
- Arduino kullanarak GSM Tabanlı Ev Otomasyonu
- Arduino ile PC Kontrollü Ev Otomasyonu
- 8051 kullanarak Bluetooth Kontrollü Ev Otomasyonu
- Arduino kullanarak IR Uzaktan Kontrollü Ev Otomasyonu
- MATLAB ve Arduino kullanarak ev otomasyon projesi
- Raspberry Pi Kullanan RF Uzaktan Kontrollü LED'ler
- Arduino ile Akıllı Telefon Kontrollü Ev Otomasyonu
Ön koşullar:
Bu proje, ESP8266 kullanan Ev Otomasyonu için Akıllı Bağlantı Kutusu önceki projemizin bir devamıdır, dolayısıyla donanım bölümünün çoğu bu eğitimde zaten ele alınmıştır. Bu eğiticide kapsanan bilgileri atlayacağım için, buna devam etmeden önce lütfen bunu okuyun. Önceki projemizin küçük bir özetini vermek için, bu öğreticide iki Röle ve ESP8266 modülünden oluşan bir Perf panosunu konsolide edebilecek bir Bağlantı kutusunu (Genişletme Kartı) değiştirdik. İki röle (AC yükleri), ESP8266 tarafından oluşturulan bir web sayfası kullanılarak (bir web sunucusu olarak hareket ederek) değiştirilebilir. Bu eğiticide, Akıllı Telefon aracılığıyla sesli komutu kullanarak AC yüklerini de kontrol edebilmemiz için ona bazı özellikler ekleyeceğim.Bu öğreticide herhangi bir Donanım bölümünü ele almayacağız, donanım ve Kod önceki öğreticiyle aynı kalacaktır.
Ayrıca www.IFTTT.com'u nasıl kullanacağınızı bilmek bu projede size üstünlük sağlayacaktır. IFTTT'ye aşina değilseniz endişelenmeyin, bu özel eğitim için nasıl kullanılacağını açıklayacağım, böylece onu çalıştırabilirsiniz.
Çalışma Konsepti:
Önceki öğreticiyi okuduğunuzu varsayıyorum, bu durumda artık bu bağlantı kutusunu nasıl inşa edeceğinizi ve Web tarayıcınızdan Yükleri uzaktan nasıl Değiştireceğinizi bilmelisiniz. Bunu mümkün kılmak için, ESP8266'ya tahsis edilen IP adresimizi kamuya açık hale getirdik. Bu, "Port yönlendirme tekniği" ile yapılabilir. Ardından Android / IPhone mobil cihazınıza "Moni" adlı bir mobil uygulama yükleyin. Bu uygulama konuşmamızı tanıyacak ve bilgileri IFTT Uygulamalarına iletecek ve bu da Maker Web kancaları aracılığıyla Yüklemeleri kontrol edecektir.
Kulağa biraz sıkıcı gelebilir, ancak tüm bunlar bu eğitimde açıkça açıklanmıştır ve bana birkaç tıklama ile güvenin, yukarıdakilerin tümü yapılabilir. Bu eğitim, Resimler ve Videolar yardımıyla size mümkün olan en iyi şekilde yardımcı olacaktır. Bu eğitimin sonunda, ev aletlerinizi dünyanın herhangi bir yerinden sesinizle açıp kapatabileceksiniz. Eğitimin sonundaki Tam Kodu ve Demo Videoyu kontrol edin.
Ayrıca Raspberry Pi kullanarak Ses kontrollü Işıkları ve 16x2 LCD'de Sesle yazmayı kontrol edin.
ESP8266 için Arduino IDE Programı:
Önceki projemizde olduğu gibi ESP8266 modülümüzü Arduino IDE yardımıyla programlayacağız. Programda ufak bir değişiklik yapıldı. Bu değişiklik, ESP8266'nızın Yönlendirici ile her bağlantı kurduğunda sabit bir IP adresine bağlanması için yapılır. Program, bu dört satır dışında önceki kodla tamamen aynıdır.
// Her seferinde sabit bir IP al IPAddress ip (192, 168, 0, 104); // Bu, ESP modülümün IPAdresi ağ geçidimin IP'si olmalıdır (192, 168, 0, 1); // ağ geçidini ağınıza uyacak şekilde ayarlayın çoğu ağ geçidi varsayılan olarak aynı olacaktır Serial.print (F ("Statik ip'i şu şekilde ayarlıyor:")); Serial.println (ip); IPAddress alt ağı (255, 255, 255, 0); // alt ağ maskesini ağınız WiFi.config (ip, ağ geçidi, alt ağ) ile eşleşecek şekilde ayarlayın;
Burada IPAdresi ip (192, 168, 0, 104) yerine; istediğiniz IP adresini girin. Bu durumda ESP'm her zaman 192.168.0.104'e bağlanacak ve tarayıcımdaki bu IP'yi kullanarak ona kolayca erişebilirim. Bu eğitimin sonunda verilen kodun tamamı.
Devre Şeması ve Donanım:
Bu IoT tabanlı Ses kontrollü Ev Aletleri için şema ve donanım, önceki Akıllı Bağlantı projemizle aynı ve burada şemayı açıkladım, bu yüzden nazikçe uygulayın. Burada referans için tüm şemayı görebilirsiniz:
ESP8266 IP'nizi Yönlendirme Portu:
İlk adım, yönlendiricinizde (modem) Bağlantı Noktası iletmeyi etkinleştirmektir, böylece ESP'nize yalnızca genel IP'nizi girerek dünyanın her yerinden erişebilirsiniz. ESP8266'mız ev / ofis yönlendiricimize her bağlandığında, ona Benzersiz bir IP adresi verilecektir ve bu IP Adresi ESP8266'ya web tarayıcısı aracılığıyla erişmek için kullanılır. Bu IP adresi Ev / Ofis Ağınızda sınırlıdır, yani küresel olarak erişemezsiniz; yalnızca yönlendiricinize bağlı cihazlar tarafından erişilebilir. Port yönlendirme, bu web sayfasının küresel olarak yüklenmesini sağlayan Tekniktir. Bağlantı noktası yönlendirmeden sonra, bu web sayfasına dünyanın her yerinden erişmek için genel IP'nizi kullanabilirsiniz. Doğru sesler !! Bunu nasıl halledebileceğimize bir bakalım. Bunu yapmak için aşağıdakileri önceden biliyorsunuz.
1. Yönlendiricinizin üretici adı ve IP adresi. Bu, yönlendiriciye bakarak kolayca bulunabilir. IP adresi ayrıca bir çıkartmada belirtilecektir. Google, Yönlendiricilerinizin IP adresini bilmiyorsa.
2. Yönlendiricilerinizin oturum açma sayfasının kullanıcı adı ve şifresi. Çoğu yönlendiricinin kullanıcı adı "admin" ve şifresi "admin" olacaktır.
3. ESP8266 modülünüze atanan IP adresi. Bu, ESP modülünün web sayfasına erişmek için kullandığınız adrestir.
4. İnternet servis sağlayıcınızın IP adresi (genel IP adresi). Bu, basitçe "IP'm nedir" Goggling ile bulunabilir.
Her şeyi elinizin altında bulundurduğunuzda, bağlantı noktası yönlendirmek için aşağıdaki adımları takip edebilirsiniz, bir şey bulmakta sıkışıp kalırsanız aşağıdaki yorum bölümünü kullanın. Ben sana yardım edeceğim
Adım 1: Yönlendiricinizin IP adresini kullanarak Yönlendiricilerinizin Web yönetimi yardımcı programı sayfasına giriş yapın, genellikle 192.168.1.1'dir. Ekranım aşağıdaki gibi görünecek
Adım 2: Varsayılan olarak "admin" Kullanıcı adını ve varsayılan olarak "admin" şifresini girin ve Oturum Aç'a tıklayın. Aşağıdaki gibi görünecek olan yardımcı program sayfasına yönlendirileceksiniz.
Burada gördüğünüz bilgilerin çoğu çok gizlidir, bu nedenle bunları başka bilinmeyenlerle paylaşmayın, internet güvenliğinizi riske atabilirsiniz.
3. Adım: Yukarıda gösterildiği gibi, sayfanız sol altta listelenen tüm seçeneklere sahip olacaktır. Amacımız "Sanal Sunucular" adında bir şey bulmak. Yönlendirme seçeneğinin altında benimkini listeledim. Çoğu yönlendirici onları 6, 7 veya 8 olarak girmiş olacak inci (çoğunlukla DHCP ayarı altında) seçeneği. Bul ve üzerine tıkla
Adım 4: Şimdi IP'mizi iletmek için ESP modülüne tahsis edilen IP adresini ve port numarasını girmeniz gerekiyor. Benim durumumda Yeni ekle'ye tıklamam ve bu ayrıntıları girmem gerekiyor. Sizin için biraz farklı olabilir. IP adresi, ESP modülünüzün web sayfasına erişmek için kullandığınız adrestir. Port numarası tercihiniz olabilir, ancak basitlik amacıyla "80" kullanalım. ESP8266 modülüme ayrılan IP 192.168.0.104'tür ve bu nedenle yönlendirmem aşağıda bir şeye bakacaktır:
Adım 5: Şimdi genel IP adresimizi bilmeliyiz. Bunu "IP adresim nedir" için benim Goggling'im olarak bulabilirsiniz. ISP IP'niz son derece gizli tutulmalıdır. Bu eğitimin iyiliği için, IP adresimin 987: 654: 321: 123 olduğunu varsayalım. Bunu eğitimimin geri kalanı için ISP IP'm olarak kullanacağım.
Not: ISS'niz size Statik / Dinamik IP sağlamış olabilir, dinamik bir IP ise IP'niz Modem / yönlendiricinin her yeniden başlatılmasıyla değişecektir. Bu durumda DynDNS gibi bir şey kullanmanız gerekir. Ancak bu, bu eğitimin kapsamı dışındadır. Dinamik IP olsa bile Yönlendiricinizi sıfırlamadığınız sürece sizin için çalışacaktır.
Yani port yönlendirmemiz başarılı oldu, tarayıcımıza ISP IP: portname (987: 654: 321: 123: 80) girerek ve ESP web sayfasının yüklenip yüklenmediğini kontrol edebiliriz. Her şey beklendiği gibi giderse, artık ISP IP adresinizi kullanarak dünyanın herhangi bir yerinden Yükler arasında geçiş yapabilmeniz gerekir.
Moni Android Uygulamasının Kurulması:
Moni, Android, Windows, iTunes ve hatta Skype için kullanılabilen bir uygulamadır. Bu uygulamayı cep telefonunuza indirebilirsiniz. Moni.ai, yalnızca sesli komutlarınıza yanıt vermekten başka çok daha fazla yeteneğe sahiptir, son derece geliştirici dostudur ve konuşmaları görsel olarak hızla tanımlayabilir ve hizmetlere bağlanabilirsiniz. Moni.ai, kolayca Ses kanalı oluşturabileceğiniz ve İşiniz / Projeleriniz için kendi Chabot (AI) sisteminizi oluşturabileceğiniz ve bunu doğal dilinizle otomatikleştirebileceğiniz Node-Red adlı bir uygulama kullanır. En iyisi, Moni'nin ticari olmayan kullanım için tamamen ücretsiz olmasıdır.
Bir Android telefon kullanıyorum ve bu nedenle Moni'yi doğrudan Google oyun mağazasından indiriyorum. Yükledikten sonra ücretsiz hesabınızı oluşturun ve oturum açın, uygulamanız aşağıdaki gibi görünmelidir:
Bunu diğer Sanal asistanlar gibi kullanabilirsiniz, örneğin hava durumu, saat vb. İstemek gibi. Ancak ek olan, Ifttt hizmetiniz tarafından oluşturulan uygulamalarınıza yanıt verebilmesidir. Şimdi Uygulamanız için Applet'leri nasıl oluşturacağımızı görelim.
IFTTT hizmetini kullanarak Applet oluşturma:
Bu projeyi tamamlamaktan bir adım uzaktayız. Son adım, IFTTT web sitesinde Applet'ler oluşturmaktır. Evde farklı Ev aletlerini kontrol etmek için Moni'mize farklı sesli komutlar verdiğimiz yer burasıdır.
Aşağıdaki videoda gösterildiği gibi Akvaryum yüklerimi (ışık / Filtre) değiştirmek için bu Ses kontrollü Bağlantı kutusunu kullanıyorum. Bu nedenle, Applet'i bu gereksinim için özelleştiriyorum, amacınız için özelleştirebilirsiniz. Aşağıdaki adımları takip et:
Adım 1: www.IFTTT.com adresini ziyaret edin ve hesabınızla giriş yapın. Yeniyse, Kaydolun.
Adım 2: Şimdi “Ara” yı tıklayın ve Web Kancaları Yap yazın. Onu seçin ve "Bağlan" a tıklayın. Bağlanmak için adımları izleyin.
Adım 3: Şimdi tekrar “Ara” yı tıklayın ve Moni yazın. Moni'yi seçin ve “Bağlan” a tıklayın. Bağlantıyı etkinleştirmek için IFTTT hesabınızla giriş yapın.
4. Adım: "Maker Webhooks" ve "Moni" hizmetlerine bağlandık. Şimdi bu servislerle bir Applet oluşturalım. Uygulamalarım'a ve ardından “Yeni Uygulama” seçeneğine tıklayın. Bunun gibi bir şey görmelisiniz:
Bu ekranda “bu” seçeneğine tıklayıp “Moni” yi seçmelisiniz. Ardından "Moni'den bir işlem yapmasını iste" seçeneğine tıklayın, aşağıdaki ekrana yönlendirileceksiniz.
Adım 5: Yukarıdaki resmi doldurduğum gibi ayrıntıları doldurun. Burada görevim, “Akvaryum Işıklarını Aç” dediğimde Akvaryum Işıklarını (Yük 1) açmaktır. Ardından "Tetikleyici Oluştur" u tıklayın
Adım 6: “BU ŞEYDEN BU İSE” ekranına geri döneceksiniz. Şimdi, "o" seçeneğine tıklayın ve "Maker Webhooks" yazın ve seçin. Ardından "Web isteği yap" ı tıklayın. Aşağıdaki ekrana yönlendirileceksiniz
Bu, hata yapma olasılığınızın en yüksek olduğu önemli bir adımdır. Bu sayfada sadece yüklemek istediğiniz URL'yi girin. Benim durumumda, switch1'e bağlı yükü açmak istiyorum, bu nedenle http: // 987: 654: 321: 123 / switch1On hattı kullanılıyor, IP'mi genel IP adresinizle değiştirmeniz gerekiyor. Bu, yalnızca önceki eğitimde kodumu kullandıysanız işe yarar. Yükleri değiştirmek için tam URL listesi aşağıda verilmiştir.
URL |
Programdan Anahtar Kelime |
Aksiyon |
http: // 987: 654: 321: 123 / switch1On |
Anahtar1 Açık |
GPIO_0 yüksek yapılır, dolayısıyla Yük 1 AÇIK duruma getirilir |
http: // 987: 654: 321: 123 / switch1Off |
Anahtar1Kapalı |
GPIO_0 düşük yapılır, dolayısıyla Yük 1 KAPALI |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 yüksek yapılır, bu nedenle Yük 2 AÇIK duruma getirilir |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 düşük yapılır, dolayısıyla Yük 1 KAPALI hale getirilir |
İstenen URL'yi girdikten sonra "Eylem oluştur" u tıklayın. Ardından Bitir'e tıklayın. Benzer şekilde, Bağlantı kutumuzdaki her iki yükü de AÇMAK / KAPATMAK için 4 Uygulama oluşturabilirsiniz.
Yani sizin uygulama eylem için hazırdır ve aşağıda gösterildiği gibi “Uygulamalarım” altında görünmelidir.
Kodumuzu test etme zamanı…….
Projenin Test Edilmesi:
Nihayet projemize hazırız. Hadi deneyelim. Açın ve cep telefonunuzdaki Moni uygulamasını açın. Mikrofon simgesine tıklayın ve komutu söyleyin. Benim durumumda "Akvaryum Işıklarını Aç" ve "Tamam" ile yanıt vermeli ve ışıkları açmalıdır. Aşağıdaki tam kodu ve tanıtım videosunu kontrol edin.
Umarım projeyi beğenmiş ve çalıştırmışsındır. Bir yerde sıkışırsanız, aşağıdaki yorum bölümünü kullanın, size kesinlikle yardımcı olacağım. O zamana kadar başka bir ilginç proje ile tanışacağız.
Ayrıca diğer IoT tabanlı Projelerimize buradan göz atın.