PC'niz İçin Kablosuz Açma/Kapama Anahtarı Oluşturma

Bir Akıllı aydınlatmayı, eğlence sistemlerini ve diğer cihazları kontrol eden sistem evde kolayca tasarlanabilir ve aynı zamanda modern dünyanın en hızlı büyüyen konseptidir. Akıllı Ev Sistemleri, tüm elektrikli ev aletlerinin veya cihazların tek bir uzaktan kumanda ile kontrol edildiği bir konsepttir. Günümüzde, bir evin çeşitli elektronik parametrelerini kontrol etmek için röle modülü gibi tek bir bileşen kullanılabilir, örneğin ev aletlerinin değiştirilmesi, güvenlik alarmlarının izlenmesi, garaj kapısı otomasyonu vb. Bu projede, Kişisel bilgisayar tarafından kontrol edilecek Android uygulama. Bu sistemlerde çoğu zaman uzaktan kumanda mobil bir uygulamadır. Bir android cep telefonu insanlar arasında en yaygın olanı olduğundan, Android uygulama PC'mizi kontrol etmek için en iyi seçenektir.

Cep Telefonunda PC'niz için Kablosuz Anahtar Nasıl Yapılır?

Adım 1: Bileşenleri Toplama

Herhangi bir proje yapmak için, onu tamamlamak için ihtiyaç duyacağı temel bileşenlerin neler olduğunu bilmek gerekir. Bu nedenle, çalışmaya başlamadan önce mükemmel bir yaklaşım, zamandan tasarruf etmek ve projenin ortasında 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:

Adım 2: Kurulacak Yazılımlar

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. Bu uygulamayı kullanmak için iki yazılım yüklememiz gerekiyor. Her ikisi de aşağıda listelenmiştir:

3. Adım: Android Studio'yu Yükleme

Android Studio'yu kurmadan önce ilk olarak JAVA JDK'yı kuracağız. Bunu yüklemek için, üzerine tıklayın exe dosya yukarıdaki bağlantıdan indirdiğinizi ve başarıyla 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üne tıklayın ve ardından o 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 yeniyi 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 kuruluysa, komut istemini açın ve yazın java sürümü.

Artık Java JDK'yı bilgisayarınıza başarıyla yüklediğinize göre. Şimdi Android Studio'yu bilgisayarınıza kuralım. Bu yazılımı yüklemek çok kolaydır. İndirilen dosyayı açmanız ve yazılımınız tamamen yüklenene kadar ileri'ye tıklamanız gerekir.

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

Şimdi Android Studio'yu yüklediğimize göre, onu başlatalım ve onu 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 simgesine tıklayarak yeni bir proje oluşturun. Boş Etkinlik.

2. Şimdi projenizi şu şekilde adlandırın: bilgisayarAnahtarı,seç Kotlindil olarak seçin ve cep telefonunuza göre minimum API seviyesini seçin.

3. Çünkü ahududu pi'nin pinlerini kontrol etmek için interneti kullanacağız. Uygulamamızda yerel kablosuz ağa erişim izni ayarlayacağız. Bunu yapmak için şuraya gidin: uygulama > bildirimler > AndroidManifest.xml ve aşağıdaki komutu ekleyin.

3. Şimdi, n'ye tıklayın Araçlar.Seçtiğiniz bir açılır menü görünecektir. Yangın üssü.

4. Ekranın sağ tarafında, firebase'in sağladığı hemen hemen her hizmetin menüsünü sağlayacak büyük bir menü görünecektir. Ancak şu anda asıl odak noktamız Gerçek Zamanlı Veritabanı. Bu yüzden Gerçek Zamanlı Veritabanına tıklayın. " için bir bağlantıVerileri Kaydet ve Al" görünecek. O bağlantıya tıklayın.

5. Bağlan Firebase'e Bağlanbuton. Sizi varsayılan web tarayıcısına götürecektir. İlk olarak, 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.

6. Şimdi Firebase Konsolu'na gidin. Orada zaten yapılmış bir proje göreceksiniz. Bu projenin simgesindeki android logosu, projenin zaten bir android uygulamasına ait olduğu anlamına gelir.

7. 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ünecektir. O düğmeye tıklayın.

8. Veritabanınızın modunu ayarlamanızı isteyen bir menü görünecektir. Tıklamak Test moduve ardından tıklayın etkinleştirme.

9. Şimdi hatırlanması gereken gerçekten önemli bir adım, Bulut Firestore için 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.

10. Ş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.

11. Firebase'e bağlanmak dışında yapmanız gereken bir şey de veritabanı versiyonunu güncellemek. Bunun için üzerine tıklayın gitmek dokümanlar. Şimdi tıklayın kılavuzlarve 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, bu 19.1.0

12. tıklayın Gradle Komut Dosyaları,ekranın sol tarafında 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.

13. Ş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ğu için, kullanıcı tarafından bilgisayarı açıp kapatmak için kullanılacak uygulamamızın bir düzenini yapalım. Bir düzen oluşturmak için şuraya gidin: uygulama > res > düzen > aktivite_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:

Adım 6: Kotlin'de Arka Uç Kodlaması

Uygulamanın ön yüzünü yaptığımız için, bir adım öne geçelim ve firebase ile bağlantı kurmak için arka uç kodunu yazalım. Kapalı durumdayken firebase veritabanına 0 gönderecek ve açık durumda olduğunda firebase veritabanına 1 gönderecek bir geçiş anahtarı bağladık.

Şimdi, sol köşede, üzerine tıklayın. uygulama > Java > com.example.computerswitch > main_activity,ve aşağıdaki kodu sınıfınıza ekleyin. Herhangi bir kütüphane hatası oluşursa, tuşuna basın. ALT+ENTER bu kitaplığı otomatik olarak eklemek için.

var veritabanı = FirebaseDatabase.getInstance () var myRef = veritabanı.reference dahili lateinit var btnSwitch: Geçiş eğlencesini onCreate (SavedInstanceState: Bundle?) {super.onCreate (SavedInstanceState) setContentView (R.layout.activity_main) btnSwitch = findViewById(R.id.switch2) as Anahtar btnSwitch.setOnClickListener{ if(btnSwitch.isChecked) { myRef.child("switch").setValue("1") } else { myRef.child("switch").setValue(" 0") } } }

Aşağıdaki görselde switch açık ise firebase veri tabanına “1”in yüklendiğini görebilirsiniz. Benzer şekilde, anahtar kapatıldığında burada bir “0” değiştirilecektir.

Adım 7: Arduino'ya Başlarken

Daha önce Arduino IDE üzerinde çalışmadıysanız endişelenmeyin çünkü Arduino IDE'yi kurmak için adım adım bir adım 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 öyle COM14, ama 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 üzerinde 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. Kütüphaneyi dahil etmek için git Çizim > Kitaplığı Dahil Et > ZIP Kitaplığı Ekle. Bir kutu görünecektir. Bilgisayarınızdaki ZIP klasörünü bulun ve klasörleri dahil etmek için Tamam'ı tıklayın.
  5. Şimdi git Çizim > Kitaplığı Dahil Et > Kitaplıkları Yönet.
  6. Bir Menü açılacaktır. Arama çubuğuna şunu yazın Arduino JSON'u.Bir liste görünecektir. Yüklemek Benoit Blanchon'dan Arduino JSON.
  7. Şimdi tıklayın Araçlar.Bir açılır menü görünecektir. Panoyu şuna ayarlayın: ESP Geliştirme Modülü.
  8. Araç menüsüne tekrar tıklayın ve daha önce kontrol panelinde gözlemlediğiniz bağlantı noktasını ayarlayın.
  9. Şimdi aşağıdaki bağlantıya ekli kodu yükleyin ve kodu üzerine yazmak için yükle düğmesine tıklayın. ESP32 mikrodenetleyici.

Yani şimdi kodu yükleyeceğiniz zaman bir hata oluşabilir. Bu, Arduino IDE ve Arduino JSON'un yeni bir sürümünü kullanıyorsanız oluşabilecek en yaygın hatadır. Aşağıdakiler ekranda görebileceğiniz hatalardır.

C:\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master/IOXhop_FirebaseESP32.h:8:0, C:\Users\Pro\Desktop\smartHome\code\code.ino:2: C'den dahil edilen 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, içindeki dosyada C:\Users\Pro\Desktop\smartHome\code\code.ino:2: 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 Kitaplık WiFi'sini sürüm 1.0'da şu klasörde kullanma: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi IOXhop_FirebaseESP32-master kitaplığını kullanma 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 WiFiClientSecure kütüphanesini sürüm 1.0 klasöründe kullanma: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFiClientSecure ArduinoJson kütüphanesini kullanma sürüm 6.12.0 şu klasörde: C:\Users\Pro\Documents\Arduino\libraries\ArduinoJson çıkış durumu 1 ESP32 Dev Module kartı 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. StatikJsonBuffer.Bu, JSON 5'in sınıfıdır. Böylece, Arduino IDE'mizin Arduino JSON sürümünü düşürerek bu hatayı basitçe ortadan kaldırabiliriz. basitçe git Çizim > Kitaplığı Dahil Et > Kitaplıkları Yönet.AramakBenoit Blanchon tarafından Arduino JSONdaha önce yüklemiş olduğunuz Önce kaldırın ve ardından sürümünü 5.13.5. Şimdi Arduino JSON'un eski bir sürümünü belirlediğimize göre, onu tekrar kurun ve kodu yeniden derleyin. Bu sefer kodunuz başarıyla derlenecektir.

Kodu indirmek için buraya tıklayın.

Adım 8: Devrenin Montajı

Şimdi uygulamamız hazır ve tamamen işlevsel olduğuna göre devreyi bilgisayara nasıl bağlayacağımıza bakalım.

  1. Her şeyden önce, bir santral alın ve içindeki Bilgisayar sisteminin tüm fişlerini, yani Monitör, yazıcı, CPU, PSU vb.
  2. Şimdi bu kartın bağlantı anahtarını alın ve iki tel, siyah ve kırmızı, içeriden görünecek şekilde tel arasında bir kesim yapın.
  3. Kırmızı kabloyu çıkarın ve ortasından kesin. Kablonun bir ucunu röle modülünün NO noktasına ve diğer ucunu röle noktasının COM noktasına bağlayın. (siyah tel ile hiçbir şey yapmayın)
  4. Şimdi ESP32'yi devre tahtasına sabitleyin ve 5V pil kullanarak çalıştırın. Devre tahtasındaki Röle modülünün Vcc ve toprağını pilin artı ve eksi terminalleriyle bağlayın.
  5. Breadboard üzerindeki transistör ile aşağıdaki konfigürasyonu yapın.

9. Adım: Kod

Kod oldukça basit, ancak yine de aşağıda kısaca açıklanmıştır.

1. Başlangıçta, firebase'in ESP32 ile kullanılabilmesi için iki kitaplık dahil edilmiştir.

#Dahil etmek #Dahil etmek 

2. Daha sonra firebase veri tabanınız ve Wifi bağlantınız hakkında bilgi verilir ve röle modülü ile kullanılacak ESP'nin pin'i bildirilir.

#define FIREBASE_HOST "xxxxx" // onu firebase ana makinenizle değiştirin #define FIREBASE_AUTH "xxxxx" // firebase auth ile değiştirin #define WIFI_SSID "xxxxx" // bunu WIFI SSID'nizle değiştirin #define WIFI_PASSWORD "xxxxx" // wifi şifrenizle değiştirin int swi = 34; // ESP'nin pin34'ünü röle modülüne bağlayın

3. geçersiz kurulum()devre açıldığında veya Etkinleştir düğmesine basıldığında yalnızca bir kez çalışan bir işlevdir. Burada kod yazılır t ESP kartını WIFI'a bağlayın. Röle modülü ile birlikte kullanılan ESP'nin pini de burada OUTPUT olarak bildirilir.

geçersiz kurulum () {Serial.begin (115200); pinMode(swi,ÇIKIŞ); // 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 (); Serial.print("bağlı: "); Serial.println (WiFi.localIP ()); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); }

4. boşluk döngüsü() bir döngüde tekrar tekrar çalışan bir fonksiyondur. Burada, firebase'den gelen değer okunur. Bu değer “1” ise röle modülüne YÜKSEK sinyali gönderilecek ve bilgisayar açılacaktır. Bu değer “0” olduğunda bilgisayar kapanacaktır.

void loop() { // değeri oku if(Firebase.getFloat("switch") == 1) { digitalWrite(swi,HIGH); } else { digitalWrite(swi,LOW); } // hatayı işle if (Firebase.failed ()) {Serial.print ("ayar / numara başarısız oldu:"); Serial.println(Firebase.error()); dönüş; } gecikme(1000); }
Facebook Twitter Google Plus Pinterest