DIY: Membuat SmartLock untuk Rumah Anda Yang Hanya Terbuka Dengan Smartphone Anda

Saat ini, ada banyak sekali kunci yang tersedia di pasaran yang membutuhkan semacam kata sandi untuk membukanya. Kunci ini sangat efisien tetapi sangat mahal. Jika kita perlu membuat kunci untuk keperluan skala kecil yang otomatis dan tidak terkunci atau dikunci tanpa password apapun tetapi dengan smartphone, kita bisa membuatnya dengan menggunakan beberapa komponen yang mudah didapat di pasaran.

Kunci ini akan berbiaya sangat rendah dan akan bekerja dengan sempurna dalam skala kecil. Sebuah aplikasi android akan dibutuhkan untuk mengoperasikan kunci ini. Sekarang, mari kita mulai menyiapkan ESP32, menginstal paket yang diperlukan di dalamnya dan membuat perubahan perangkat keras tertentu!

Tanpa membuang waktu, ayo mulai mempelajari konsep-konsep penting dan mengerjakan proyek ini.

Bagaimana Cara Membuat Android Dioperasikan SmartLock?

Langkah 1: Mengumpulkan Komponen

Sebelum memulai proyek apa pun, jika ada ketakutan Anda akan terjebak di tengah proyek dan membuang waktu, ada pendekatan yang sangat baik untuk menghindarinya. Buat daftar lengkap dari semua komponen yang akan Anda perlukan dalam proyek dan beli terlebih dahulu. Berikut adalah daftar lengkap dari semua komponen yang akan kami gunakan dalam proyek ini. Semua komponen ini dengan mudah tersedia di pasaran.

Langkah 2: Membuat Aplikasi

Karena kita akan membuat kunci pintar yang akan dioperasikan oleh ponsel, kita perlu mengembangkan aplikasi android yang akan berisi sebuah tombol. Dengan menekan tombol tersebut kita akan dapat membuka atau menutup kunci pintar. Sebelumnya, kami telah mengembangkan beberapa aplikasi android. Kami telah mengembangkan aplikasi yang hanya terdiri dari satu tombol di dalamnya. Tombol ini digunakan untuk mengirimkan data ke database. jika '1' didorong ke database firebase, kunci sakelar akan terbuka dan jika '0' didorong ke dalam database tersebut, kunci tersebut akan ditutup.

Silakan merujuk ke artikel kami bernama Membuat Sakelar Nyala / Mati Nirkabel untuk PC Anda mengambil bantuan untuk mengembangkan aplikasi android Anda sendiri yang akan digunakan untuk mengoperasikan kunci pintar.

Langkah 3: Merakit Komponen

Karena kami memiliki daftar lengkap semua komponen yang kami perlukan untuk menyelesaikan proyek ini, mari kita selangkah lebih maju dan merakit semua komponen bersama-sama.

Ambil motor servo dan hubungkan Vcc dan arde ke Vcc dan arde papan ESP masing-masing. Hubungkan pin PWM motor servo Anda ke pin 34 Anda Papan ESP32. Sekarang lihat bahwa ada kenop tipe roda gigi pada motor servo. Keluarkan pegangan kunci dengan memutarnya dan kencangkan kenop motor roda gigi di kunci dengan bantuan beberapa perekat.

Sekarang, dengan bantuan mesin bor, bor beberapa lubang di pintu tempat Anda ingin meletakkan kunci pintar ini. Pastikan Anda mengebor lubang sedemikian rupa sehingga lubang kunci tumpang tindih dengan lubang di pintu, sehingga sekrup dapat dipasang.

Langkah 4: Bekerja

Seperti yang kita ketahui sekarang ide utama di balik proyek ini, mari kita pahami bagaimana proyek ini akan bekerja.

ESP32 adalah jantung dari proyek ini. Motor servo terhubung ke papan ini dan mikrokontroler ini memiliki koneksi ke database firebase. Saat tombol di aplikasi ditekan untuk membuka kunci, '1' didorong ke database firebase dan saat tombol ditekan untuk menutup kunci, '0' didorong ke database firebase. Papan ESP terus membaca nilai ini di database firebase. Selama masih ada angka 0, ESP32 akan mengarahkan motor servo untuk tetap berada di posisi awal. Segera setelah 1 masuk ke basis, papan ESP akan membacanya dan memberi tahu motor servo untuk membuat putaran yang akan membuka kunci.

Langkah 5: Memulai ESP32

Jika Anda belum pernah mengerjakan Arduino IDE sebelumnya, jangan khawatir karena langkah demi langkah untuk menyiapkan Arduino IDE ditunjukkan di bawah ini.

  1. Unduh versi terbaru Arduino IDE dari Arduino.
  2. Hubungkan papan Arduino Anda ke PC dan buka Control Panel. Klik Perangkat keras dan Suara.Sekarang buka Perangkat dan Printer dan temukan port tempat papan Anda terhubung. Dalam kasus saya itu COM14tetapi berbeda di komputer yang berbeda.
  3. Klik File dan kemudian klik Preferensi. Salin tautan berikut di URL Manajer Dewan Tambahan. “https://dl.espressif.com/dl/package_esp32_index.json ”
  4. Sekarang, untuk menggunakan ESP32 dengan Arduino IDE, kita perlu mengimpor pustaka khusus yang memungkinkan kita untuk membakar kode di ESP32 dan menggunakannya. kedua perpustakaan ini dilampirkan dalam tautan yang diberikan di bawah ini. Untuk memasukkan perpustakaan, goto Sketch> Include Library> Add ZIP Library. Sebuah kotak akan muncul. Temukan folder ZIP di komputer Anda dan klik OK untuk memasukkan folder tersebut.
  5. Sekarang pergi Sketsa> Sertakan Perpustakaan> Kelola Perpustakaan.
  6. Menu akan terbuka. Di bilah pencarian, ketik Arduino JSON.Daftar akan muncul. Install Arduino JSON oleh Benoit Blanchon.
  7. Sekarang klik Alat.Menu dropdown akan muncul. Atur papan menjadi Modul Pengembangan ESP.
  8. Klik pada menu Tool lagi dan atur port yang Anda amati di panel kontrol sebelumnya.
  9. Sekarang Unggah kode yang dilampirkan pada tautan di bawah ini dan klik tombol unggah untuk membakar kode pada mikrokontroler ESP32.

Jadi sekarang ketika Anda akan mengunggah kode, kesalahan mungkin terjadi. Ini adalah kesalahan paling umum yang mungkin terjadi jika Anda menggunakan versi baru dari Arduino IDE dan Arduino JSON. Berikut ini adalah kesalahan yang mungkin Anda lihat di layar.

Dalam file yang disertakan dari C: \ Users \ Pro \ Documents \ Arduino \ libraries \ 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. Silakan lihat arduinojson.org/upgrade untuk mempelajari cara mengupgrade program Anda ke ArduinoJson versi 6 StaticJsonBuffer jsonBuffer; ^ Dalam file yang disertakan dari C: \ Users \ Pro \ Documents \ Arduino \ libraries \ 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. Silakan lihat arduinojson.org/upgrade untuk mempelajari cara mengupgrade program Anda ke ArduinoJson versi 6 mengembalikan StaticJsonBuffer() .parseObject (_data); ^ Beberapa perpustakaan ditemukan untuk "WiFi.h" Digunakan: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFi Tidak digunakan: C: \ Program Files ( x86) \ Arduino \ libraries \ WiFi Menggunakan library WiFi pada versi 1.0 di folder: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFi Using library IOXhop_FirebaseESP32-master dalam folder: C: \ Users \ Pro \ Documents \ Arduino \ libraries \ IOXhop_FirebaseESP32-master (legacy) Menggunakan library HTTPClient pada versi 1.2 dalam folder: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ HTTPClient Menggunakan library WiFiClientSecure di versi 1.0 dalam folder: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ libraries \ WiFiClientSecure Menggunakan perpustakaan ArduinoJson di versi 6.12.0 di folder: C: \ Users \ Pro \ Documents \ Arduino \ libraries \ ArduinoJson status keluar 1 Kesalahan kompilasi untuk modul Dev papan ESP32.

Tidak ada yang perlu dikhawatirkan karena kami dapat menghilangkan kesalahan ini dengan mengikuti beberapa langkah sederhana. Kesalahan ini muncul karena versi baru Arduino JSON memiliki kelas lain, bukan StaticJsonBuffer.Ini adalah kelas JSON 5. Jadi kita bisa menghilangkan kesalahan ini dengan menurunkan versi Arduino JSON dari Arduino IDE kita. Cukup buka Sketsa> Sertakan Perpustakaan> Kelola Perpustakaan.Pencarian untukArduino JSON oleh Benoit Blanchonyang telah Anda instal sebelumnya. Copot pemasangannya terlebih dahulu, lalu setel versinya ke 5.13.5. Sekarang karena kami telah menetapkan versi lama Arduino JSON, instal lagi dan kompilasi ulang kodenya. Kali ini, kode Anda akan berhasil dikompilasi.

Untuk mengunduh kodenya, klik di sini.

Langkah 6: Kode

kode proyek ini sangat sederhana tetapi tetap saja, beberapa bagiannya dijelaskan di bawah ini.

1. Di awal kode, kami akan menyertakan tiga perpustakaan. Yang pertama adalah mengaktifkan Wifi di papan ESP, yang kedua adalah mengaktifkan ESP untuk menggunakan motor servo dan yang ketiga adalah menghubungkan papan ESP ke database firebase. Setelah itu, kita akan menambahkan host firebase, otentikasi, nama koneksi internet lokal kita dan kata sandinya di dalam kode. Setelah itu buatlah sebuah objek untuk menggunakan motor servo.

#include                  // sertakan perpustakaan untuk menggunakan WiFi #include                 // sertakan perpustakaan untuk motor servo #include  // sertakan pustaka untuk terhubung ke Firebase #define FIREBASE_HOST "xxxxxxxxxx" // ganti xxxxxxxxxx dengan host firebase Anda di sini #define FIREBASE_AUTH "xxxxxxxxxx" // ganti xxxxxxxxxx dengan otentikasi firebase di sini #define WIFI_SSID "kode xx, xxxxxxxx" // ganti xxxxxxxxxx dengan nama koneksi Wifi kami #tentukan WIFI_PASSWORD "xxxxxxxxxx" // ganti xxxxxxxxxx dengan kata sandi wifi Anda Servo myservo; // buat objek untuk motor servo int pos = 0; // membuat variabel int state; // membuat variabel

2. batal penyiapan () adalah fungsi yang hanya berjalan sekali dalam program saat papan mikrokontroler dihidupkan atau tombol aktifkan ditekan. Tingkat baud diatur dalam fungsi ini. Baud rate sebenarnya adalah kecepatan komunikasi dalam bit per detik yang digunakan mikrokontroler untuk berkomunikasi dengan perangkat eksternal. Motor servo terhubung ke pin34 papan ESP. kode yang tertulis dalam fungsi ini untuk menghubungkan mikrokontroler ke koneksi internet lokal.

batal penyiapan () {Serial.begin (115200); // pengaturan baud rate myservo.attach (34); // hubungkan pin PWM motor servo ke pin34 ESP32 myservo.write (60); penundaan (1000); // terhubung ke wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ("menghubungkan"); sementara (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); penundaan (500); } Serial.println (); Serial.print ("terhubung:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. void loop () adalah fungsi yang berjalan berulang kali dalam satu putaran. Dalam fungsi ini, kami memberi tahu mikrokontroler, operasi apa yang harus dilakukan dan bagaimana. Di sini, data sedang dibaca dari firebase dan disimpan ke dalam variabel bernama negara. Jika status memiliki nilai '0' di dalamnya, posisi motor servo diatur ke 8 derajat. Jika nilai dalam status variabel sama dengan '1', posisi motor servo akan disetel ke 55 derajat.

void loop () {state = Serial.println (Firebase.getFloat ("motor")); // membaca data dari firebase // jika state adalah '0' maka motor DC akan mati jika (state == '0') {myservo.write (8); // atur posisi penundaan motor servo (1000); // tunggu onw kedua Serial.println ("Door Locked"); } lain jika (status == '1') {myservo.write (55); // atur posisi baru penundaan motor servo (1000); // tunggu satu detik Serial.println ("Door UnLocked"); } // menangani kesalahan jika (Firebase.failed ()) {Serial.print ("pengaturan / nomor gagal:"); Serial.println (Firebase.error ()); kembali; } penundaan (1000); 
Facebook Twitter Google Plus Pinterest