Membuat Suis Hidup / Mati Tanpa Wayar Untuk PC Anda

KE Bijak sistem yang mengawal pencahayaan, sistem hiburan, dan peralatan lain dapat dirancang di rumah dengan mudah dan juga merupakan konsep dunia moden yang paling cepat berkembang. Smart Home Systems adalah konsep di mana semua peralatan elektrik atau peranti dikendalikan menggunakan alat kawalan jauh tunggal. Pada masa ini, satu komponen seperti modul geganti dapat digunakan untuk mengawal pelbagai parameter elektronik rumah, misalnya, menukar peralatan rumah, memantau penggera keselamatan, automasi pintu garaj, dan lain-lain. Dalam projek ini, kami Komputer peribadi akan dikawal oleh seorang Aplikasi Android . Dalam sistem ini, selalunya, alat kawalan jauh adalah aplikasi mudah alih. Sebagai telefon bimbit android adalah yang paling biasa di kalangan orang, jadi aplikasi android adalah pilihan terbaik untuk mengawal PC kita.



Suis Komputer Tanpa Wayar

Bagaimana Membuat Suis Tanpa Wayar untuk PC Anda di Telefon bimbit?

Langkah 1: Mengumpulkan Komponen

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:



  • ESP32
  • Transistor 2N2222 NPN
  • Perintang 1k-ohm (x2)
  • Modul Relay 5V
  • Menyambung wayar

Langkah 2: Perisian yang Akan Dipasang

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. Kita perlu memasang dua perisian untuk menggunakan aplikasi ini. Kedua-duanya disenaraikan di bawah:



  • Android Studio.
  • JAWA JDK.

Langkah 3: Memasang Android Studio

Sebelum memasang Android Studio, kami akan memasang JAWA 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 sehingga prompt arahan anda mengenali java sebagai perintah 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 .

    Penetapan Sistem Lanjutan

  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 tong sampah

  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 .

Projek baru

2. Sekarang namakan projek anda sebagai komputerSwitc, pilih Kotlin sebagai bahasa, dan pilih tahap API minimum mengikut telefon bimbit anda.

Projek baru

3. Oleh kerana kita akan menggunakan internet untuk mengawal pin raspberry pi. 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

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

Sambungan Firebase

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

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

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

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

8. Menu akan muncul yang meminta untuk mengatur mod pangkalan data anda. Klik pada mod percubaan dan kemudian klik Aktifkan .

Mod percubaan

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

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

Mengubah Konfigurasi

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

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

13. 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: Pengekodan Backend di Kotlin

Oleh kerana kita telah membuat frontend aplikasi, mari kita bergerak selangkah lebih awal dan menulis kod backend untuk menghubungkannya dengan firebase. Kami telah menghubungkan suis togol yang akan mengirim 0 ke pangkalan data firebase ketika dalam keadaan mati, dan ia akan mengirim 1 ke pangkalan data firebase ketika berada dalam keadaan aktif.

Sekarang, di sudut kiri, klik aplikasi> java> com.example.computerswitch> main_aktiviti, dan tambahkan kod berikut di kelas anda. Sekiranya terdapat kesilapan perpustakaan, Tekan ALT + MASUK untuk memasukkan perpustakaan itu secara automatik.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch override fun onCreate (saveInstanceState: Bundle?) {super.onCreate (saveInstanceState) setContentView (R.layout.activity_main) btnSw. id.switch2) sebagai Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} other {myRef.child ('switch'). setValue ('0') }}}

Pada gambar di bawah, anda dapat melihat bahawa jika suis dihidupkan, '1' dimuat ke pangkalan data firebase. Begitu juga, '0' akan diganti di sini apabila dimatikan dimatikan.

Nilai

Langkah 7: Bermula dengan Arduino

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.

    Sertakan Perpustakaan

  5. Sekarang pergi 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 Papan

  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 di pautan di bawah dan klik pada butang muat naik untuk membakar kod di Pengawal mikro 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  smartHome  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  smartHome  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. Oleh itu, kita boleh menghapuskan ralat ini dengan menurunkan versi Arduino JSON dari IDE Arduino 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.

Untuk memuat turun kod, klik di sini.

Langkah 8: Memasang Litar

Sekarang kerana aplikasi kita sudah siap dan berfungsi sepenuhnya, mari kita lihat bagaimana kita akan menghubungkan litar ke komputer.

  1. Pertama sekali, ambil papan suis dan sambungkan semua palam sistem Komputer di dalamnya iaitu Monitor, pencetak, CPU, PSU, dll.
  2. Sekarang, ambil suis penyambung papan ini dan potong di antara wayar sehingga dua wayar, hitam dan merah, dapat dilihat dari dalam.
  3. Keluarkan wayar merah dan potong dari tengah. Sambungkan satu hujung wayar pada titik NO modul relay dan hujung yang lain di titik COM dari titik relay. (jangan buat apa-apa dengan wayar hitam)
  4. Sekarang betulkan ESP32 di papan roti dan kuasa dengan menggunakan bateri 5V. Sambungkan Vcc dan ground modul Relay di papan roti, dengan terminal positif dan negatif bateri.
  5. Buat konfigurasi berikut dengan transistor di papan roti.

Langkah 9: Kod

Kodnya cukup mudah, tetapi tetap diterangkan secara ringkas di bawah.

1. Pada permulaannya, dua perpustakaan disertakan sehingga firebase dapat digunakan dengan ESP32.

#sertakan #sertakan

2. Kemudian Maklumat mengenai pangkalan data firebase anda dan sambungan Wifi diberikan dan pin ESP dinyatakan yang akan digunakan dengan modul geganti.

#define FIREBASE_HOST 'xxxxx' // ganti dengan host firebase anda #define FIREBASE_AUTH 'xxxxx' // ganti dengan firebase auth #define WIFI_SSID 'xxxxx' // ganti ini dengan WIFI SSID anda #define WIFI_PASSWORD 'xxxxx' // gantikannya dengan kata laluan wifi anda int swi = 34; // sambungkan pin34 ESP dengan modul geganti

3. persediaan tidak sah () adalah fungsi yang berjalan hanya satu kali apabila litar dihidupkan atau butang Aktifkan ditekan. Di sini kod ditulis untuk menyambungkan papan ESP ke WIFI. Pin ESP yang digunakan dengan modul relay juga dinyatakan sebagai OUTPUT di sini.

persediaan tidak sah () {Serial.begin (115200); pinMode (swi, OUTPUT); // 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); }

Empat. gelung kosong () adalah fungsi yang berjalan berulang kali dalam satu gelung. Di sini, nilai dari firebase dibaca. Sekiranya nilai ini sama dengan '1', maka isyarat TINGGI akan dihantar ke modul geganti dan komputer akan dihidupkan. Apabila nilai ini '0', komputer akan dimatikan.

gelung kosong () {// nilai baca jika (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, TINGGI); } lain {digitalWrite (swi, RENDAH); } // ralat menangani jika (Firebase.failed ()) {Serial.print ('setting / number gagal:'); Serial.println (Firebase.error ()); kembali; } kelewatan (1000); }