Sistem manajemen perangkat IoT berbasis web yang melacak dan memantau perangkat IoT menggunakan protokol MQTT dan menampilkan lokasinya pada peta.
-
Sistem Manajemen Pengguna
- Login Admin
- Registrasi Pengguna
- Kontrol akses berbasis peran
-
Manajemen Perangkat
- Tambah perangkat IoT baru
- Konfigurasi pengaturan MQTT
- Langganan beberapa topik dengan deskripsi
- Pelacakan lokasi perangkat
-
Pemantauan Real-time
- Tampilan data sensor langsung
- Visualisasi perangkat berbasis peta
- Informasi perangkat interaktif
.
├── backend/ # Server backend Node.js
├── js/ # File JavaScript frontend
├── dashboard.html # Antarmuka dasbor utama
├── index.html # Halaman login
└── user-management.html # Antarmuka manajemen pengguna
- Menambahkan tampilan ID perangkat sebagai tooltip pada penanda peta untuk identifikasi perangkat yang lebih baik
- Mengimplementasikan penanganan data MQTT untuk mempertahankan nilai sensor valid sebelumnya ketika menerima NaN
- Meningkatkan gaya penanda peta untuk visibilitas yang lebih baik
- Meningkatkan penanganan pesan MQTT untuk tampilan data yang lebih andal
- Memperbaiki masalah dengan nilai NaN dalam data sensor yang menyebabkan masalah tampilan
- Memperbaiki bug di mana alamat perangkat (alamatLokasi) dapat muncul sebagai
[object Object] - Backend sekarang selalu menyimpan
alamatLokasisebagai string, tidak pernah sebagai objek - Frontend sekarang secara andal mengirimkan nilai string yang benar untuk alamat perangkat
- UI daftar perangkat: alamat perangkat sekarang ditampilkan dengan pin lokasi (📍) dan gaya font normal (tidak miring)
- Meningkatkan keandalan alur registrasi dan pengeditan perangkat
- Node.js (v14 atau lebih tinggi)
- npm (Node Package Manager)
- Broker MQTT (misalnya, Mosquitto)
- Peramban web (Chrome disarankan)
-
Klon repository:
git clone https://github.com/duwiarsana/iot-locator-data.git cd iot-locator-data -
Instal dependensi backend:
cd backend npm install -
Jalankan server backend:
node server.js
-
Buka peramban web dan navigasikan ke:
- Halaman login:
http://localhost:3000 - Dasbor:
http://localhost:3000/dashboard - Manajemen pengguna:
http://localhost:3000/user-management
- Halaman login:
-
Login
- Akses halaman login di
http://localhost:3000 - Gunakan kredensial admin untuk login
- Akses halaman login di
-
Pendaftaran Perangkat
- Klik "Tambah Perangkat Baru" di dasbor
- Isi detail perangkat:
- ID perangkat
- IP dan port MQTT
- Koordinat lokasi (latitude, longitude)
- Tambahkan beberapa topik MQTT dengan deskripsi
- Klik "Daftar" untuk menyimpan perangkat
-
Pemantauan
- Lihat perangkat di peta
- Klik pada penanda untuk melihat informasi detail
- Perbaruan data sensor real-time
Tampilan dashboard utama yang menampilkan perangkat IoT beserta data sensor secara real-time pada peta interaktif.
Server backend menggunakan database SQLite untuk manajemen pengguna dan pengaturan perangkat. Konfigurasi diatur di backend/server.js.
Perangkat terhubung ke broker MQTT menggunakan IP dan port yang dikonfigurasi. Server backend berlangganan ke topik yang dikonfigurasi untuk menerima data sensor.
- Kata sandi di-hash sebelum disimpan
- Akses hanya untuk admin untuk pendaftaran perangkat dan manajemen pengguna
- Manajemen sesi yang aman
- Fork repository
- Buat cabang fitur Anda (
git checkout -b feature/FiturMenakjubkan) - Commit perubahan Anda (
git commit -m 'Menambahkan beberapa FiturMenakjubkan') - Push ke cabang (
git push origin feature/FiturMenakjubkan) - Buka Pull Request
Bagian hardware untuk proyek ini akan segera tersedia! File desain PCB, skematik rangkaian, dan kode mikrokontroler (firmware) akan diunggah dan diupdate secepatnya agar dapat digunakan dan direplikasi oleh siapa saja.
Pantau repository ini secara berkala untuk mendapatkan update terbaru mengenai hardware.
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LICENSE untuk detailnya.
- Leaflet.js untuk visualisasi peta
- MQTT.js untuk implementasi protokol MQTT
- Tailwind CSS untuk styling
Proyek ini dikembangkan secara open source dan gratis untuk siapa saja. Jika Anda merasa terbantu atau ingin mendukung pengembangan lebih lanjut, Anda bisa memberikan donasi melalui Saweria berikut:
Setiap dukungan Anda sangat berarti untuk keberlanjutan dan pengembangan fitur baru pada proyek ini. Terima kasih banyak! 🙏
