Bilgisayarınız İçin Kablosuz Açma / Kapama Anahtarı Oluşturma

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



Kablosuz Bilgisayar Anahtarı

Cep Telefonunuzda Bilgisayarınız İçin Kablosuz Anahtar Nasıl Yapılır?

Adım 1: Bileşenleri Toplama

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:



  • ESP32
  • 2N2222 NPN Transistör
  • 1k-ohm Direnç (x2)
  • 5V Röle Modülü
  • Bağlantı telleri

Adım 2: Yüklenecek Yazılımlar

Bir kablosuz anahtar yapacağımızdan, onu açıp kapatmak için bir düğmeye 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:



  • Android Studio.
  • JAVA JDK.

3. Adım: Android Studio'yu Kurma

Android Studio'yu kurmadan önce kuracağız JAVA Önce JDK. Bunu yüklemek için, exe dosya Yukarıdaki bağlantıdan indirdiğiniz ve başarılı bir şekilde yüklenene kadar ileriye tıklayın. Şimdi, komut isteminizin javayı 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 Sistemi .

    Sistemi

  3. Tıklamak Gelişmiş sistem ayarı ve sonra tıklayın Çevresel değişkenler .

    Gelişmiş sistem ayarı

  4. Sistem Değişkeni bölümünde, yola tıklayın ve ardından düzenle'ye tıklayın. Yeni Çevresel Değişkeni Düzenle kutusu görünecektir.

    Yolu düzenle



  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 bu klasörün yolunu kopyalayın.

    Bin klasörünün yolu

  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ü .

    JAVA versiyonu

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ğumuz için, 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 .

Yeni proje

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

Yeni proje

3. Ahududu pi'nin pinlerini kontrol etmek için interneti kullanacağımızdan beri. Uygulamamızda yerel kablosuz ağa erişim izni ayarlayacağız. Bunu yapmak için şuraya gidin: app> bildirimler> AndroidManifest.xml ve aşağıdaki komutu ekleyin.

 

İnternet İzni

3. Şimdi n'ye tıklayın Araçlar. Bir açılır menü görünecek ve Firebase.

Firebase Bağlantısı

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. Ama şu anda asıl odak noktamız Gerçek Zamanlı Veritabanı. Bu yüzden Gerçek Zamanlı Veritabanına tıklayın. ' Verileri Kaydet ve Al ' görünecek. Bu bağlantıya tıklayın.

Firebase Assistant

5. Bağlanın Firebase'e Bağlanın buton. 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 ekleyin ve değişiklikleri kabul edin.

6. Şimdi gidin Firebase Konsolu . 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.

7. Kaynak 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.

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

Test modu

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

Gerçek Zamanlı Firebase

10. Şimdi tıklayın Kurallar sekmesine gidin ve konfigürasyonları değiştirin Doğru . Her şey bittiğinde, tıklayın Yayınla .

Konfigürasyonları Değiştirme

11. Firebase'e bağlanmaktan başka yapmanız gereken şey, veritabanı sürümünü güncellemektir. Bunun için tıklayın git dokümanlar . Şimdi tıklayın rehberler ve 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

Sürüm

12. tıklayın 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.

Firebase Sürümü

13. Şimdi ekranın üst kısmında beliren 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 kullanacağımız 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ünecektir:

Uygulama Düzeni

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 bir geçiş anahtarı bağladık ve açık durumdayken firebase veritabanına 1 gönderecek.

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

var veritabanı = FirebaseDatabase.getInstance () var myRef = veritabanı.referans dahili latinit var btnSwitch: Geçiş eğlencesini onCreate (SavedInstanceState: Bundle?) {super.onCreate (SavedInstanceState) setContentView (R.layout.activity_main) btnSwitch (R. id.switch2) Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch']. setValue ('1')} else {myRef.child ('switch']. setValue ('0') }}}

Aşağıdaki resimde, anahtar açıksa firebase veritabanına '1' yüklendiğini görebilirsiniz. Benzer şekilde, anahtar kapatıldığında burada bir '0' değiştirilecektir.

Değer

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 adımlar aşağıda gösterilmiştir.

  1. Arduino IDE'nin en son sürümünü şuradan indirin: Arduino.
  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 COM14, ancak farklı bilgisayarlarda farklıdır.

    Bağlantı Noktası Bulma

  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 '

    Tercihler

  4. Şimdi, ESP32'yi Arduino IDE ile kullanmak için, ESP32'ye kod yazmamıza ve onu 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.

    Kitaplığı Dahil Et

  5. Şimdi git Eskiz> Kitaplığı Dahil Et> Kitaplıkları Yönet.

    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.

    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ü.

    Ayar Panosu

  8. Araç menüsünü tekrar tıklayın ve daha önce kontrol panelinde gözlemlediğiniz bağlantı noktasını ayarlayın.

    Bağlantı Noktası Ayarlama

  9. Şimdi aşağıdaki bağlantıya ekli olan kodu yükleyin ve kodu üzerine yazmak için yükle düğmesine tıklayın. ESP32 mikrodenetleyici .

    Yükle

Yani şimdi kodu yüklediğinizde bir hata meydana gelebilir. Bu, Arduino IDE 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  smartHome  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'dan bir sınıftır 5. 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  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer, ArduinoJson'dan bir sınıftır 5. Programınızı nasıl yükselteceğinizi öğrenmek için lütfen 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 kütüphanesini kullanma klasörde: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (eski) Kitaplık HTTPClient'i klasörde 1.2 sürümünde kullanma: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Klasördeki 1.0 sürümünde WiFiClientSecure kitaplığını 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 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 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. Aramak Benoit Blanchon tarafından Arduino JSON daha önce kurduğ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.

Kodu indirmek için, Tıklayın buraya.

Adım 8: Devrenin Montajı

Artık uygulamamız hazır ve tamamen işlevsel olduğu için devreyi bilgisayara nasıl bağlayacağımızı görelim.

  1. Her şeyden önce, bir santral alın ve Bilgisayar sisteminin tüm fişlerini, yani Monitör, yazıcı, CPU, PSU vb.
  2. Şimdi bu panonun bağlantı anahtarını alın ve kablo arasını siyah ve kırmızı iki tel içeriden görünecek şekilde kesin.
  3. Kırmızı teli çıkarın ve ortasından kesin. Telin 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 kabloyla hiçbir şey yapmayın)
  4. Şimdi ESP32'yi devre tahtasına sabitleyin ve 5V'luk bir pil kullanarak güç verin. Devre tahtasındaki Röle modülünün Vcc ve topraklamasını akünün artı ve eksi terminalleriyle bağlayın.
  5. Devre tahtası üzerindeki transistör ile aşağıdaki yapılandırmayı yapın.

Adım 9: 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.

#include #include

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' // bunu firebase ana makinenizle değiştirin #define FIREBASE_AUTH 'xxxxx' // yerine firebase yetkilendirme #define WIFI_SSID 'xxxxx' // bunu WIFI SSID'nizle değiştirin #define WIFI_PASSWORD 'xxxxx' // bunu 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üyle birlikte kullanılan ESP'nin pini de burada OUTPUT olarak belirtilir.

geçersiz kurulum () {Serial.begin (115200); pinMode (swi, OUTPUT); // wifi'ye bağlanın. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('bağlanıyor'); while (WiFi.status ()! = WL_CONNECTED) {Seri.print ('.'); gecikme (500); } Serial.println (); Serial.print ('bağlı:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Dört. geçersiz döngü () bir döngüde tekrar tekrar çalışan bir işlevdir. Burada, firebase'in değeri okunur. Bu değer '1' e eşitse, HIGH sinyali röle modülüne gönderilecek ve bilgisayar açılacaktır. Bu değer '0' olduğunda, bilgisayar kapatılacaktır.

void loop () {// eğer değeri oku (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); }