Bagaimana Mengawal Penghawa Dingin Dengan Telefon Pintar Anda Bukan Daripada Jauh

Di dunia moden, jika kita melihat-lihat, kita dapat melihat bahawa semua yang merangkumi elektronik adalah automatik hingga tahap tertentu. Teknik automasi terkini digunakan oleh sebilangan orang di rumah mereka. Di era moden ini, orang harus memilih teknik automasi terkini untuk menjadikan hidup mereka lebih mudah. Biasanya di rumah kita, kita berpusing HIDUP , MATI dan tetapkan suhu secara manual di penghawa dingin kami. Pada masa ini, satu komponen seperti modul relay dapat digunakan untuk mengendalikan pelbagai parameter elektronik rumah, misalnya, menukar peralatan rumah, memantau penggera keselamatan, automasi pintu garaj, dll. Dalam artikel ini, kita akan mengembangkan sistem yang akan membolehkan anda mengawal penghawa dingin anda dengan menggunakan aplikasi mudah alih dan bukannya alat kawalan jauhnya. Sebagai telefon bimbit android adalah yang paling biasa di kalangan orang, jadi aplikasi android adalah pilihan terbaik untuk mengawal penghawa dingin kami.



Kawalan Penghawa Dingin

Bagaimana Menyiapkan Semua Periferal Yang Perlu Dengan ESP32?

Untuk membuat projek, seseorang mesti mengetahui komponen asas yang diperlukan untuk menyelesaikannya. Jadi pendekatan yang sangat baik sebelum memulakan kerja adalah dengan membuat senarai lengkap semua komponen untuk menjimatkan masa dan untuk mengelakkan peluang terjebak di tengah-tengah projek. Senarai lengkap semua komponen yang mudah didapati di pasaran diberikan di bawah. Setelah mengatur komponen perkakasan, kami akan merancang aplikasi android kami sendiri untuk mengawal penghawa dingin kami:



Langkah 1: Komponen yang Digunakan (Perkakasan)

  • ESP32
  • Modul Paparan OLED MakerFocus I2C
  • Perintang Bergantung Cahaya
  • Suis Butang Tekan
  • Penerima IR
  • Perintang Ohm 1K (x4)
  • Transistor BC 338 NPN
  • Kabel Jumper
  • Penerima TSOP
  • Papan roti
  • Pengecas Android

Langkah 2: Komponen yang Digunakan (Perisian)

Oleh kerana kita akan membuat suis tanpa wayar , kita memerlukan butang untuk menghidupkan dan mematikannya. Kami mahu menggunakan telefon bimbit untuk mengendalikan butang ini, jadi kami perlu mengembangkan aplikasi untuk itu. Aplikasi yang paling senang adalah aplikasi android dan kita perlu memasang dua perisian ini untuk menyambung ke aplikasi tersebut. Kedua-duanya disenaraikan di bawah:



  • Android Studio
  • JAWA JDK

Langkah 3: Memasang Android Studio

Sebelum memasang Android Studio , kami akan memasang JAVA JDK terlebih dahulu. Untuk memasangnya, klik pada exe fail yang anda muat turun dari pautan di atas, dan klik seterusnya sehingga berjaya dipasang. Sekarang ikuti langkah-langkah berikut agar command prompt anda mengenali jawa sebagai arahan luaran atau dalaman.



  1. Buka Panel kawalan dan klik pada Sistem dan keselamatan .
  2. Klik pada Sistem.

    Sistem

  3. Klik pada Penetapan Sistem Lanjutan dan kemudian klik pada Pemboleh ubah Persekitaran. Tetapan sistem maju

    Tetapan sistem maju

  4. Di bahagian Pembolehubah Sistem, klik pada jalan dan kemudian klik edit. Yang baru Edit Pembolehubah Persekitaran kotak akan muncul.

    Edit Laluan



  5. Sekarang pergi ke C: Program Files Java dalam PC anda. Buka folder JDK, klik pada folder tong sampah dan kemudian salin laluan folder itu.

    Laluan Folder Bin

  6. Sekarang pergi ke kotak Edit Pembolehubah Alam Sekitar dan klik baru untuk membuat pemboleh ubah baru. Tampal jalan yang anda salin pada langkah di atas dalam pemboleh ubah baru dan simpan.
  7. Sekarang untuk mengesahkan, jika sudah terpasang sepenuhnya, buka command prompt dan ketik java –versi.

    Versi JAVA

Sekarang kerana anda berjaya memasang Java JDK di komputer anda. Mari kita pasang Android Studio di komputer anda. Memasang perisian ini sangat mudah. Anda perlu membuka fail yang dimuat turun dan klik seterusnya sehingga perisian anda dipasang sepenuhnya.

Langkah 4: Sambungan Ke Firebase

Sekarang setelah kami memasang Android Studio, mari kita melancarkannya dan membuat projek baru untuk menghubungkannya ke firebase. Untuk melakukan ini, ikuti langkah berikut.

  1. Lancarkan Android Studio dan buat projek baru dengan mengklik Aktiviti Kosong .
  2. Sekarang namakan projek anda sebagai komputerSwitc, pilih Kotlin sebagai bahasa, dan pilih tahap API minimum mengikut telefon bimbit anda.
  3. Oleh kerana kita akan menggunakan internet untuk mengawal pin pi raspberry. Kami akan menetapkan kebenaran dalam aplikasi kami untuk mengakses wifi tempatan. Untuk melakukan ini, pergi ke aplikasi> manifest> AndroidManifest.xml dan tambahkan arahan berikut.

    Kebenaran Internet

  4. Sekarang, klik n Alat. Menu drop-down akan muncul dari mana, pilih Firebase.

    Sambungan Firebase

  5. Menu besar akan muncul di sebelah kanan skrin yang akan menyediakan menu hampir setiap perkhidmatan yang disediakan oleh firebase. Tetapi sekarang fokus utama kami adalah pada Pangkalan Data Masa Nyata. Oleh itu, klik pada Pangkalan Data Masa Nyata. Pautan ke ' Simpan dan Dapatkan Data ' akan muncul. Klik pautan itu.

    Pembantu Firebase

  6. Sambung Sambungkan ke Firebase butang. Ini akan membawa anda ke penyemak imbas web lalai. Pertama, ia akan meminta anda log masuk ke akaun Gmail anda. Kemudian klik pada Tambahkan Pangkalan Data Masa Nyata ke aplikasi anda dan terima perubahannya.
  7. Sekarang pergi ke Firebase Console . Di sana anda akan melihat projek yang sudah dibuat. Logo android pada ikon projet itu bermaksud bahawa ia sudah termasuk dalam aplikasi android.
  8. Daripada Kembangkan menu yang muncul di sebelah kiri skrin, pilih Pangkalan data. Butang dari Buat Pangkalan Data akan muncul di sebelah kanan. Klik pada butang itu.
  9. Menu akan muncul meminta untuk mengatur mod pangkalan data anda. Klik pada mod percubaan dan kemudian klik Aktifkan .

    Mod percubaan

  10. Sekarang langkah yang sangat penting untuk diingat adalah menukar Cloud Firestore ke Pangkalan Data Masa Nyata. Untuk melakukannya klik pada butang yang ditunjukkan pada gambar di bawah dan ubah pilihan yang diinginkan.

    Firebase Masa Nyata

  11. Sekarang klik pada Peraturan tab dan ubah konfigurasi menjadi Betul . Setelah semuanya selesai, klik Menerbitkan .

    Mengubah Konfigurasi

  12. Satu perkara yang perlu anda lakukan selain menyambungkan firebase, adalah mengemas kini versi pangkalan data. Untuk itu, klik pada pergi ke dokumen . Sekarang klik pada panduan dan pilih Panduan Android dari senarai yang muncul di skrin. Tatal ke bawah sehingga jadual muncul. Cari Pangkalan Data Masa Nyata dalam jadual itu dan cari versinya. dalam kes saya, ia adalah 19.1.0.

    Versi

  13. . Klik pada Skrip Gradle, menu di sebelah kiri skrin. Kemudian pilih dibina. gradle (Modul: aplikasi). Sekarang dalam kod, cari versi pangkalan data Masa Nyata dan gantikan dengan yang baru.

    Versi Firebase

  14. Sekarang segerakkan projek dengan mengklik butang penyegerakan yang muncul di bahagian atas skrin.

Langkah 5: Membuat Tata Letak

Sekarang, kerana aplikasi android kita disambungkan ke firebase, mari kita susun atur aplikasi kita yang akan digunakan oleh pengguna untuk menghidupkan atau mematikan komputer. Untuk membuat susun atur, pergi ke aplikasi> res> layout> activity_main.xml. di mana kita akan merancang susun atur. Salin kod yang diberikan di bawah untuk membuat paparan teks.

 

Susun atur aplikasi kami akan kelihatan seperti ini:

Susun atur Aplikasi

Langkah 6: Bermula dengan ESP32

Sekiranya anda belum mengusahakan Arduino IDE sebelumnya, jangan risau kerana langkah demi langkah untuk menyiapkan Arduino IDE ditunjukkan di bawah.

  1. Muat turun versi terbaru dari Arduino IDE dari Arduino.
  2. Sambungkan papan Arduino anda ke PC dan buka Panel Kawalan. Klik pada Perkakasan dan Bunyi. Sekarang dibuka Peranti dan Pencetak dan cari port yang menghubungkan papan anda. Dalam kes saya adalah COM14 tetapi berbeza dalam komputer yang berbeza.

    Mencari Pelabuhan

  3. Klik pada Fail dan kemudian klik pada Pilihan. Salin pautan berikut di URL Pengurus Lembaga Tambahan. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Keutamaan

  4. Sekarang, untuk menggunakan ESP32 dengan Arduino IDE, kita perlu mengimport perpustakaan khas yang akan membolehkan kita membakar kod pada ESP32 dan menggunakannya. kedua-dua perpustakaan ini dilampirkan dalam pautan yang diberikan di bawah. Untuk memasukkan perpustakaan, goto Lakarkan> Sertakan Perpustakaan> Tambahkan Perpustakaan ZIP . Kotak akan muncul. Cari folder ZIP di komputer anda dan klik OK untuk memasukkan folder.

    Termasuk Perpustakaan

  5. Sekarang pergi ke Lakarkan> Sertakan Perpustakaan> Urus Perpustakaan.

    Urus Perpustakaan

  6. Menu akan dibuka. Di bar carian, taipkan Arduino JSON. Senarai akan muncul. Pasang Arduino JSON oleh Benoit Blanchon.

    Arduino JSON

  7. Sekarang klik pada Alat. Menu lungsur turun akan muncul. Tetapkan papan ke Modul Dev ESP.

    Menetapkan Lembaga

  8. Klik pada menu Alat sekali lagi dan tetapkan port yang anda perhatikan di panel kawalan sebelumnya.

    Menetapkan Pelabuhan

  9. Sekarang Muat naik kod yang dilampirkan dalam pautan di bawah dan klik pada butang muat naik untuk membakar kod pada mikrokontroler ESP32.

    Muat naik

Jadi sekarang apabila anda akan memuat naik kod, kesalahan mungkin berlaku. Ini adalah ralat yang paling biasa yang mungkin berlaku jika anda menggunakan versi baru dari Arduino IDE dan Arduino JSON. Berikut adalah kesalahan yang mungkin anda lihat di skrin.

Dalam fail yang disertakan dari C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, dari C:  Users  Pro  Desktop  airconditioner  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer adalah kelas dari ArduinoJson 5. Sila lihat arduinojson.org/upgrade untuk mengetahui cara menaik taraf program anda ke ArduinoJson versi 6 StaticJsonBuffer jsonBuffer; ^ Dalam fail yang disertakan dari C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, dari C:  Users  Pro  Desktop  airconditioner  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer adalah kelas dari ArduinoJson 5. Sila lihat arduinojson.org/upgrade untuk mengetahui cara menaik taraf program anda ke ArduinoJson versi 6 mengembalikan StaticJsonBuffer (). ParseObject (_data); ^ Terdapat banyak perpustakaan yang dijumpai untuk 'WiFi.h' Digunakan: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Tidak digunakan: C:  Program Files ( x86)  Arduino  library  WiFi Menggunakan perpustakaan WiFi pada versi 1.0 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Menggunakan perpustakaan IOXhop_FirebaseESP32-master dalam folder: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (legacy) Menggunakan library HTTPClient pada versi 1.2 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  HTTPClient Menggunakan perpustakaan WiFiClientSecure pada versi 1.0 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure Menggunakan perpustakaan ArduinoJson di versi 6.12.0 dalam folder: C:  Users  Pro  Documents  Arduino  perpustakaan  ArduinoJson status keluar 1 Ralat menyusun untuk papan Modul Dev ESP32.

Tidak ada yang perlu dikhawatirkan kerana kami dapat menghilangkan kesalahan ini dengan mengikuti beberapa langkah mudah. Kesalahan ini timbul kerana versi baru Arduino JSON mempunyai kelas lain daripada StaticJsonBuffer. Ini adalah kelas JSON 5 sebenarnya. Oleh itu, kita boleh menghapuskan kesalahan ini dengan menurunkan versi Arduino JSON dari Arduino IDE kami. Cukup ke Lakarkan> Sertakan Perpustakaan> Urus Perpustakaan. Carian untuk Arduino JSON oleh Benoit Blanchon yang telah anda pasangkan sebelumnya. Nyahpasang terlebih dahulu dan kemudian tetapkan versi ke 5.13.5. Sekarang kerana kami telah menetapkan Arduino JSON versi lama, pasang semula dan kumpulkan semula kodnya. Kali ini, kod anda akan berjaya disusun.

Langkah 7: Memahami Kod

Kod projek ini sangat mudah dan dijelaskan secara ringkas di bawah. Selanjutnya, kod dengan perpustakaan yang diperlukan juga boleh dimuat turun dari Di sini.

1. Pada awalnya, kita perlu memasukkan dua perpustakaan yang akan digunakan untuk menghubungkan kod kita ke pangkalan data Firebase dan yang kedua untuk menggunakan sensor IR dengan mikrokontroler kita. Kemudian kami akan menambahkan host dan pengesahan firebase kami kerana selepas itu kami ESP32 akan dapat menemui kami pangkalan data . Kemudian kami akan memberikan SSID dan kata laluan sambungan internet tempatan kami. Kemudian, kita harus membuat objek sehingga kita dapat mendorong dan memasukkan data dari awan kita. Kemudian kita akan menentukan pin yang akan dihubungkan oleh sensor kita dan kita juga akan membuat objek untuk menangani data yang berasal dari sensor IR.

#include #include #include #define FIREBASE_HOST 'coma-patient.firebaseio.com' #define FIREBASE_AUTH 'UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf' #define WIFI_SSID 'PRO' #bfdfbAdfAdfAdfAdfAdfAdfAdfAbbbb int RECV_PIN = 19; IRrecv irrecv (RECV_PIN); keputusan decode_results;

2. persediaan tidak sah () , adalah gelung yang berjalan ketika butang aktif ditekan atau ketika mikrokontroler dihidupkan. Di sini kita akan memulakan penerima sensor IR kita dan menulis kod untuk mula menyambungkan mikrokontroler kita ke sambungan internet tempatan.

persediaan tidak sah () {Serial.begin (115200); pinMode (RECV_PIN, INPUT); irrecv.enableIRIn (); // Mulakan penerima // sambungkan ke wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('menyambung'); sementara (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); kelewatan (500); } Bersiri.println (); Serial.print ('bersambung:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.enableClassicRequest (firebaseData, true); }

3. gelung kosong () adalah fungsi yang berjalan berulang kali dalam satu gelung. Di sini kod ini memeriksa sama ada nilainya berasal dari sensor.

gelung void () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); lambakan (& hasil); irrecv.resume (); // Terima nilai seterusnya} kelewatan (500); }

Empat. pembuangan kosong () adalah fungsi yang digunakan untuk mengenal pasti model remote yang menghantar isyarat ke sensor. ia juga membuang struktur decode_results.

pembuangan kosong (keputusan decode_results *) {int count = hasil-> rawlen; if (hasil-> decode_type == TIDAK DIKETAHUI) {Serial.print ('Pengekodan tidak diketahui:'); } lain jika (hasil-> decode_type == NEC) {Serial.print ('Decodeed NEC:'); } lain jika (hasil-> decode_type == SONY) {Serial.print ('Decoded SONY:'); } lain jika (hasil-> decode_type == RC5) {Serial.print ('Decoded RC5:'); } lain jika (hasil-> decode_type == RC6) {Serial.print ('Decoded RC6:'); } ke yang lain jika (hasil-> decode_type == PANASONIC) {Serial.print ('PANASONIC Decoded - Alamat:'); Serial.print (hasil-> panasonicAddress, HEX); Serial.print ('Nilai:'); } lain jika (hasil-> decode_type == JVC) {Serial.print ('Decoded JVC:'); } Serial.print (hasil-> nilai, HEX); Serial.print ('('); Serial.print (hasil-> bit, DEC); Serial.println ('bit)'); Serial.print ('Raw ('); Serial.print (count, DEC); Serial.print ('):'); untuk (int i = 0; i rawbuf [i] * USECPERTICK, DEC); } lain-lain {Serial.print (- (int) hasil-> rawbuf [i] * USECPERTICK, DEC); } Serial.print (''); } Serial.println (''); }

Langkah 8: Menyiapkan Perkakasan

Setelah memasukkan kod ke dalam ESP32, kita perlu menyiapkan perkakasan dan memasangkannya ke dinding atau tempat lain yang sesuai berhampiran penghawa dingin. Pasang komponen ke papan roti dengan mengikuti rajah yang ditunjukkan di bahagian atas. Setelah memasang litar, hidupkan modul ESP menggunakan Pengecas Android. Lebih baik merancang casing perkakasan di rumah atau meletakkan perkakasan di dalam casing Raspberry Pi.

Langkah 9: G Sentuhan Akhir iving

Setelah memasang perkakasan, kami akan mengujinya. Sambungkan pengecas android ke ESP32 dan hidupkan dan pastikan telefon anda mempunyai kekuatan isyarat tempatan anda sambungan internet . Buka aplikasi anda dan tekan butang, anda akan melihat bahawa anda sekarang dapat mengawal AC anda dengan aplikasi mudah alih anda.

Itu semua untuk hari ini, saya harap anda dapat menikmati membaca artikel ini dan setelah membuat prototaip anda sendiri untuk mengawal penghawa dingin anda di rumah, jangan lupa untuk berkongsi pengalaman anda!