Klimanızı Uzaktan Kumanda Yerine Akıllı Telefonunuzla Nasıl Kontrol Edebilirsiniz?

Modern dünyada, etrafımıza bakarsak, elektronik içeren her şeyin bir dereceye kadar otomatikleştirildiğini görebiliriz. En son otomasyon teknikleri, evlerinde birkaç kişi tarafından benimsenmiştir. Bu modern çağda, insanlar hayatlarını kolaylaştırmak için en son otomasyon tekniklerini tercih etmelidir. Normalde evlerimizde dönüyoruz AÇIK, KAPALI ve klimalarımızda sıcaklığı manuel olarak ayarlayın. Günümüzde, bir röle modülü gibi tek bir bileşen, bir evin çeşitli elektronik parametrelerini kontrol etmek için kullanılabilir; örneğin, ev aletlerinin anahtarlanması, güvenlik alarmlarının izlenmesi, garaj kapısı otomasyonu vb. Bu yazıda, bir Klimanızı uzaktan kumanda yerine mobil uygulama kullanarak kontrol etmenizi sağlayacak sistem. Bir android cep telefonu insanlar arasında en yaygın olanı olduğundan, klimamızı kontrol etmek için bir android uygulaması en iyi seçenektir.

ESP32 İle Gerekli Tüm Çevre Birimleri Nasıl Kurulur?

Herhangi bir projeyi yapmak için, onu tamamlamak için ihtiyaç duyulacak temel bileşenlerin ne olduğunu bilmek gerekir. Bu nedenle, işe başlamadan önce mükemmel bir yaklaşım, zamandan tasarruf etmek ve projenin ortasında sıkışıp kalma şansını önlemek için tüm bileşenlerin tam bir listesini yapmaktır. Piyasada kolayca bulunabilen tüm bileşenlerin tam listesi aşağıda verilmiştir. Donanım bileşenlerini düzenledikten sonra klimamızı kontrol etmek için kendi android uygulamamızı tasarlayacağız:

Adım 1: Kullanılan Bileşenler (Donanım)

Adım 2: Kullanılan Bileşenler (Yazılım)

Wireless switch yapacağımız için onu açıp kapatmak için bir butona ihtiyacımız olacak. Bu düğmeyi çalıştırmak için bir cep telefonu kullanmak istiyoruz, bu yüzden bunun için bir uygulama geliştirmemiz gerekecek. En uygun uygulama bir android uygulamasıdır ve bu uygulamaya bağlanmak için bu iki yazılımı yüklememiz gerekir. Her ikisi de aşağıda listelenmiştir:

3. Adım: Android Studio'yu Kurma

Android Studio'yu kurmadan önce ilk olarak JAVA JDK'yi kuracağız. Bunu yüklemek için, üzerine tıklayın exe dosya Yukarıdaki bağlantıdan indirdiğiniz ve başarılı bir şekilde yüklenene kadar ileri 'yi tıklayın. Şimdi, komut isteminizin java'yı harici veya dahili bir komut olarak tanıması için aşağıdaki adımları izleyin.

  1. Açık Kontrol Paneli ve tıklayın Sistem ve Güvenlik.
  2. Tıklamak Sistem.
  3. Tıklamak Gelişmiş sistem ayarı ve sonra tıklayın Çevresel değişkenler.
  4. Sistem Değişkeni bölümünde, yola tıklayın ve ardından düzenle'ye tıklayın. yeni bir Çevresel Değişkeni Düzenlekutusu görünecektir.
  5. Şimdi gidin C:\Program Dosyaları\Java PC'nizde. JDK klasörünü açın, bin klasörünü tıklayın ve ardından bu klasörün yolunu kopyalayın.
  6. Şimdi Çevresel Değişkeni Düzenle kutusuna gidin ve yeni bir değişken oluşturmak için yeniye tıklayın. Yukarıdaki adımda kopyaladığınız yolu yeni değişkene yapıştırın ve kaydedin.
  7. Şimdi onaylamak için, tamamen yüklenmişse, komut istemini açın ve yazın java sürümü.

Artık bilgisayarınıza Java JDK'yı başarıyla yüklediğiniz için. Şimdi Android Studio'yu bilgisayarınıza kuralım. Bu yazılımı kurmak çok kolaydır. İndirilen dosyayı açmanız ve yazılımınız tam olarak yüklenene kadar ileriye tıklamanız gerekir.

4. Adım: Firebase'e Bağlantı

Şimdi Android Studio'yu kurduğumuzdan, onu başlatalım ve firebase'e bağlamak için yeni bir proje yapalım. Bunu yapmak için aşağıdaki adımları izleyin.

  1. Android Studio'yu başlatın ve üzerine tıklayarak yeni bir proje oluşturun. Boş Etkinlik.
  2. Şimdi projenizi şu şekilde adlandırın: computerSwitc,seç Kotlindil olarak seçin ve cep telefonunuza göre minimum API seviyesini seçin.
  3. Ahududu pi'nin pinlerini kontrol etmek için interneti kullanacağımızdan beri. Yerel wifi'ye erişmek için uygulamamızda izin ayarlayacağız. Bunu yapmak için şuraya gidin: app> bildirimler> AndroidManifest.xml ve aşağıdaki komutu ekleyin.
  4. Şimdi n'ye tıklayın Araçlar.Aşağı açılır bir menü görünecek ve Firebase.
  5. Firebase'in sunduğu hemen hemen her hizmetin menüsünü sağlayacak olan ekranın sağ tarafında büyük bir menü görünecektir. Ancak şu anda asıl odak noktamız Gerçek Zamanlı Veritabanıdır. Bu yüzden Gerçek Zamanlı Veritabanına tıklayın. " için bir bağlantıVerileri Kaydet ve Al" görünecek. Bu bağlantıya tıklayın.
  6. Bağlanın Firebase'e Bağlanınbuton. Sizi varsayılan web tarayıcısına götürecektir. İlk olarak, sizden Gmail hesabınıza giriş yapmanızı isteyecektir. Sonra tıklayın Gerçek Zamanlı Veritabanını uygulamanıza ekleyinve değişiklikleri kabul edin.
  7. Şimdi Firebase Konsolu'na gidin. Orada zaten yapılmış bir proje göreceksiniz. Söz konusu projektörün simgesindeki android logosu, onun zaten bir android uygulamasına ait olduğu anlamına gelir.
  8. İtibaren Geliştirmek ekranın sol tarafında görünen menüyü seçin Veri tabanı. Bir düğme Veritabanı yarat sağda görünecek. O düğmeye tıklayın.
  9. Veritabanınızın modunu ayarlamanızı isteyen bir menü görünecektir. Tıklamak Test moduve ardından tıklayın etkinleştirme.
  10. Şimdi hatırlanması gereken gerçekten önemli bir adım, Cloud Firestore -e Gerçek Zamanlı Veritabanı.Bunu yapmak için aşağıdaki resimde gösterilen butona tıklayın ve istediğiniz seçeneği değiştirin.
  11. Şimdi tıklayın Kurallar sekmesine gidin ve yapılandırmaları şu şekilde değiştirin: Doğru. Her şey bittiğinde, tıklayın Yayınla.
  12. Firebase'e bağlanmaktan başka yapmanız gereken şey, veritabanı sürümünü güncellemektir. Bunun için üzerine tıklayın belgelere git. Şimdi tıklayın rehberlerve seçin Android Kılavuzlarıekranda görünen listeden. Bir tablo görünene kadar aşağı kaydırın. Bu tabloda Gerçek Zamanlı Veritabanını arayın ve sürümünü bulun. benim durumumda 19.1.0.
  13. . Tıklamak Gradle Scriptleri,ekranın sol tarafındaki bir menü. Sonra seçin inşa edilmiş. gradle (Modül: uygulama). Şimdi kodda, Gerçek Zamanlı veritabanının sürümünü arayın ve yenisiyle değiştirin.
  14. Şimdi ekranın üst kısmında görünen senkronizasyon düğmesine tıklayarak projeyi senkronize edin.

Adım 5: Yerleşim Yapma

Şimdi, android uygulamamız firebase'e bağlı olduğundan, kullanıcı tarafından bilgisayarı açıp kapatmak için kullanacak olan uygulamamızın bir düzenini yapalım. Bir düzen oluşturmak için şuraya gidin: app> res> layout> activity_main.xml. bir düzen tasarlayacağımız yer. Metin görünümü oluşturmak için aşağıda verilen kodu kopyalayın.

        

Uygulamamızın düzeni şöyle görünecek:

6. Adım: ESP32 ile Başlarken

Daha önce Arduino IDE üzerinde çalışmadıysanız endişelenmeyin çünkü Arduino IDE'yi kurmak için adım adım adımlar aşağıda gösterilmiştir.

  1. Arduino IDE'nin en son sürümünü Arduino'dan indirin.
  2. Arduino kartınızı PC'ye bağlayın ve Kontrol Panelini açın. Tıklamak Donanım ve ses.Şimdi aç Cihazlar ve Yazıcı ve kartınızın bağlı olduğu bağlantı noktasını bulun. Benim durumumda COM14ancak farklı bilgisayarlarda farklıdır.
  3. Dosya'ya ve ardından Tercihler'e tıklayın. Aşağıdaki bağlantıyı kopyalayın Ek Kurul Yöneticisinin URL'si. "https://dl.espressif.com/dl/package_esp32_index.json ”
  4. Şimdi, ESP32'yi Arduino IDE ile kullanmak için, ESP32'ye kod yazmamıza ve kullanmamıza izin verecek özel kütüphaneleri içe aktarmamız gerekiyor. bu iki kitaplık aşağıda verilen bağlantıya eklenmiştir. Kitaplığı dahil etmek için gidin Eskiz> Kitaplığı Dahil Et> ZIP Kitaplığı Ekle. Bir kutu görünecektir. Bilgisayarınızda ZIP klasörünü bulun ve klasörleri dahil etmek için Tamam'ı tıklayın.
  5. Şimdi gidin Eskiz> Kitaplığı Dahil Et> Kitaplıkları Yönet.
  6. Bir Menü açılacaktır. Arama çubuğuna yazın Arduino JSON.Bir liste görünecektir. Yüklemek Benoit Blanchon tarafından Arduino JSON.
  7. Şimdi tıklayın Araçlar.Bir açılır menü görünecektir. Panoyu şuna ayarlayın: ESP Dev Modülü.
  8. Araç menüsünü tekrar tıklayın ve daha önce kontrol panelinde gözlemlediğiniz bağlantı noktasını ayarlayın.
  9. Şimdi aşağıdaki linkte bulunan kodu yükleyin ve kodu ESP32 mikrodenetleyici üzerinde yakmak için yükle butonuna tıklayın.

Yani şimdi kodu yüklediğinizde bir hata meydana gelebilir. Bu, Arduino IDE'nin ve Arduino JSON'un yeni bir sürümünü kullanıyorsanız ortaya çıkabilecek en yaygın hatadır. Ekranda görebileceğiniz hatalar aşağıdadır.

C: \ Users \ Pro \ Documents \ Arduino \ libraries \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C: \ Users \ Pro \ Desktop \ airconditioner \ code \ code.ino: 2: C'den alınan dosyada :\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master/IOXhop_FirebaseStream.h:14:11: error: StaticJsonBuffer, ArduinoJson 5'ten bir sınıftır. Programınızı ArduinoJson'a nasıl yükselteceğinizi öğrenmek için lütfen arduinojson.org/upgrade adresine bakın. sürüm 6 StaticJsonBuffer jsonBuffer; ^ C: \ Users \ Pro \ Documents \ Arduino \ libraries \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C: \ Users \ Pro \ Desktop \ airconditioner \ code \ code.ino: 2'den alınan dosyada: C:\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master/IOXhop_FirebaseStream.h:65:11: error: StaticJsonBuffer, ArduinoJson 5'ten bir sınıftır. Lütfen programınızı nasıl yükselteceğinizi öğrenmek için arduinojson.org/upgrade adresine bakın. ArduinoJson sürüm 6 StaticJsonBuffer döndürür() .parseObject (_data); ^ "WiFi.h" için birden fazla kitaplık bulundu Kullanılan: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFi Kullanılmıyor: C: \ Program Files ( x86) \ Arduino \ libraries \ WiFi Klasördeki 1.0 sürümünde kütüphane WiFi kullanarak: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFi IOXhop_FirebaseESP32-master kitaplık kullanarak klasörde: C: \ Users \ Pro \ Documents \ Arduino \ libraries \ IOXhop_FirebaseESP32-master (eski) Klasördeki 1.2 sürümünde kitaplık HTTPClient kullanma: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ HTTPClient Şu klasörde sürüm 1.0'da WiFiClientSecure kitaplığını kullanma: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFiClientSecure sürüm 6.12.0 klasöründe: C: \ Users \ Pro \ Documents \ Arduino \ libraries \ ArduinoJson çıkış durumu 1 Kart ESP32 Dev Module için derleme hatası.

Endişelenecek bir şey yok çünkü bazı basit adımları izleyerek bu hataları ortadan kaldırabiliriz. Bu hatalar, Arduino JSON'un yeni sürümünün yerine başka bir sınıfa sahip olduğu için ortaya çıkıyor. StaticJsonBuffer.Bu aslında JSON 5'in sınıfıdır. Dolayısıyla, Arduino IDE'mizin Arduino JSON sürümünü düşürerek bu hatayı ortadan kaldırabiliriz. Basitçe gidin Eskiz> Kitaplığı Dahil Et> Kitaplıkları Yönet.AramakBenoit Blanchon tarafından Arduino JSONdaha önce yüklemiş olduğunuz Önce onu kaldırın ve ardından sürümünü şu şekilde ayarlayın: 5.13.5. Şimdi Arduino JSON'un eski bir sürümünü ayarladığımız için, tekrar kurun ve kodu yeniden derleyin. Bu sefer kodunuz başarıyla derlenecektir.

7. Adım: Kodu Anlama

Bu projenin kodu çok basittir ve aşağıda kısaca açıklanmıştır. Ayrıca, gerekli kitaplıklara sahip kod da buradan indirilebilir.

1. Başlangıçta, kodumuzu Firebase veritabanına bağlamak için kullanılacak iki kitaplık eklememiz ve ikincisi de mikrodenetleyicimizle IR sensörünü kullanmak için kullanmamız gerekir. Ardından, firebase'imizin ana bilgisayarını ve kimlik doğrulamasını ekleyeceğiz çünkü bundan sonra bizim ESP32 bizim bulabilirim veri tabanı. Ardından yerel internet bağlantımızın SSID'sini ve şifresini vereceğiz. Ardından, bulutumuzdan veri aktarabilmemiz ve açabilmemiz için bir nesne yapmalıyız. Ardından sensörümüzün bağlanacağı pimi tanımlayacağız ve ayrıca IR sensöründen gelen verileri işlemek için bir nesne yapacağız.

#Dahil etmek #Dahil etmek  #Dahil etmek   #define FIREBASE_HOST "coma-patient.firebaseio.com" #define FIREBASE_AUTH "UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf" #define WIFI_SSID "PRO" #define WIFI_PASSWORD "abcdefine int RECV_PIN = 19; IRrecv irrecv (RECV_PIN); decode_results sonuçları;

2. geçersiz kurulum (), etkinleştir düğmesine basıldığında veya mikro denetleyici açıldığında çalışan döngüdür. Burada IR sensörümüzün alıcısını başlatacağız ve mikro denetleyicimizi yerel internet bağlantısına bağlamaya başlamak için kodu yazacağız.

geçersiz kurulum () {Serial.begin (115200); pinMode (RECV_PIN, INPUT); irrecv.enableIRIn (); // Alıcıyı başlatın // wifi'ye bağlanın. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ("bağlanıyor"); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); gecikme (500); } Serial.println (); Seri.print ("bağlı:"); Serial.println(WiFi.localIP()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.enableClassicRequest (firebaseData, true); }

3. geçersiz döngü () bir döngüde tekrar tekrar çalışan bir işlevdir. İşte bu kod değerlerin sensörden gelip gelmediğini kontrol ediyor.

void döngü () {if (irrecv.decode (& sonuçlar)) {Serial.println (results.value, HEX); döküm(&sonuçlar); irrecv.resume (); // Sonraki değeri al} delay (500); }

4. geçersiz dökümü ()ilk önce sensöre sinyal gönderen uzaktan kumandanın modelini tanımlamak için kullanılan bir işlevdir. aynı zamanda decode_results yapısını da dışarı atar.

void dökümü (decode_results * sonuçlar) {int count = results-> rawlen; if (sonuçlar-> decode_type == BİLİNMEYEN) {Serial.print ("Bilinmeyen kodlama:"); } else if (sonuçlar-> decode_type == NEC) {Serial.print ("Çözülmüş NEC:"); } else if (sonuçlar-> decode_type == SONY) {Serial.print ("Kodu Çözülmüş SONY:"); } else if (sonuçlar-> decode_type == RC5) {Serial.print ("Kodu Çözülmüş RC5:"); } else if (sonuçlar-> decode_type == RC6) {Serial.print ("Kodu Çözülmüş RC6:"); } başka if (sonuçlar-> decode_type == PANASONIC) {Serial.print ("Kodlanmış PANASONIC - Adres:"); Serial.print (sonuçlar-> panasonicAddress, HEX); Seri.print ("Değer:"); } else if (sonuçlar-> decode_type == JVC) {Serial.print ("Çözülmüş JVC:"); } Seri.print (sonuçlar-> değer, HEX); Serial.print ("("); Serial.print (sonuçlar-> bit, DEC); Serial.println ("bit)"); Serial.print ("Raw ("); Serial.print (count, DEC); Serial.print ("):"); for (int i = 0; i  rawbuf [i] * USECPERTICK, DEC); } else { Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC); } Seri.print(" "); } Serial.println(""); }

8. Adım: Donanımı Hazırlama

Kodu ESP32'ye yazdıktan sonra, donanımı hazırlamamız ve onu duvara veya klimanın yakınındaki başka uygun bir yere bağlamamız gerekir. Üstte sunulan şemayı izleyerek bileşenleri devre tahtasına takın. Devreyi monte ettikten sonra, Android Şarj Cihazını kullanarak ESP modülüne güç verin. Donanımın kasasını evde tasarlamak veya donanımı Raspberry Pi kasasının içine koymak daha iyidir.

9. Adım: GSon Dokunuşlar

Donanımı monte ettikten sonra test edeceğiz. Android şarj cihazını ESP32'ye bağlayın ve açın ve telefonunuzun yerel internet bağlantınızın sinyal gücünün iyi olduğundan emin olun. Uygulamanızı açın ve düğmesine basın, artık AC'nizi mobil uygulamanızla kontrol edebileceğinizi göreceksiniz.

Bugün için hepsi bu kadardı, umarım bu makaleyi okumaktan zevk alırsınız ve klimanızı evde kontrol etmek için kendi prototipinizi yaptıktan sonra deneyimlerinizi paylaşmayı unutmayın!

Facebook Twitter Google Plus Pinterest