Studi Kasus Proyek
Smart Lock
Proyek smart lock ini bertujuan untuk mengembangkan sistem penguncian pintu pintar yang memungkinkan pengguna mengunci dan membuka pintu secara jarak jauh melalui aplikasi. Sistem ini dirancang untuk mengurangi ketergantungan terhadap kunci fisik, sehingga meningkatkan efisiensi, keamanan, dan kemudahan akses bagi pengguna. Selain itu, pemilik properti dapat memberikan akses sementara kepada tamu maupun karyawan tanpa perlu membuat salinan kunci. Fitur otomatisasi juga memungkinkan pintu terbuka dan tertutup sesuai jadwal yang telah ditentukan, sehingga memberikan pengalaman penggunaan yang lebih praktis dan fleksibel.
Konteks & masalah
Pengelolaan akses pintu secara konvensional masih bergantung pada kunci fisik yang berisiko hilang, tertinggal, atau disalahgunakan. Selain itu, pemilik rumah maupun pengelola properti sering mengalami kesulitan ketika perlu memberikan akses kepada tamu atau karyawan tanpa harus menyerahkan salinan kunci. Permasalahan tersebut mendorong pengembangan sistem smart lock berbasis aplikasi mobile yang memungkinkan pengguna mengelola akses pintu secara jarak jauh, memberikan akses sementara kepada pengguna tertentu, serta mengatur jadwal buka dan tutup pintu secara otomatis. Solusi ini ditujukan untuk pemilik rumah, pengelola properti, maupun pelaku usaha yang membutuhkan sistem akses yang lebih aman, efisien, dan fleksibel.
Peran saya
- — Melakukan analisis kebutuhan, mengidentifikasi permasalahan, serta merancang solusi sistem berdasarkan kebutuhan pengguna.
- — Merancang arsitektur perangkat keras dan perangkat lunak, melakukan wiring, perakitan perangkat IoT, serta mengembangkan firmware, backend, dan aplikasi mobile.
- — Melaksanakan pengujian, validasi, dan evaluasi sistem secara menyeluruh untuk memastikan seluruh komponen terintegrasi dan berfungsi sesuai kebutuhan.
Arsitektur & pendekatan
Arsitektur sistem Smart Lock dimulai ketika pengguna memberikan perintah lock atau unlock melalui aplikasi mobile. Perintah tersebut dikirim ke web hosting untuk disimpan pada database, kemudian dibaca secara berkala oleh mikrokontroler. Setelah data diterima, mikrokontroler mengendalikan solenoid untuk mengunci atau membuka pintu sesuai perintah. Apabila proses berhasil, status akan diperbarui pada aplikasi, sedangkan jika terjadi kesalahan sistem akan menampilkan pesan (message) kepada pengguna.
Flow Chart Sistem
Diagram Arsitektur Sistem
Block Diagram
Wiring Diagram
Cuplikan kode
Potongan kode ini berfungsi untuk menghubungkan mikrokontroler ESP8266 dengan backend melalui protokol HTTP. lalu dijalanjutkan Potongan kode dibawahnya bertugas menerjemahkan data yang diterima dari server menjadi aksi pada perangkat keras. Ketika server mengirimkan status lock, mikrokontroler mengaktifkan mode yang membuat pintu terkunci, sedangkan status unlock akan membuka kunci melalui solenoid.
WiFiClient client;
HTTPClient http;
http.begin(client, "http://...");
int httpCode = http.GET();
String status = http.getString();
Serial.println(status);
================= lanjutan =================
if(status == "lock")
{
pinMode(D1, INPUT);
Serial.println("lock");
}
else
{
pinMode(D1, OUTPUT);
Serial.println("unlock");
}
}