update jenis deteksi

This commit is contained in:
Muhammad Iqbal 2025-05-27 14:57:12 +07:00
parent 34ae69dae5
commit 5e1c4d1e18
1 changed files with 12 additions and 14 deletions

View File

@ -18,7 +18,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
Map<String, dynamic> sensorData = { Map<String, dynamic> sensorData = {
'PIR': '0', 'PIR': '0',
'Ultrasonik': '0', 'Ultrasonik': '0',
'Status Pengusir': '0', 'Jenis Deteksi': 'Tidak terdeteksi',
}; };
List<double> thermalData = List.filled(64, 0.0); List<double> thermalData = List.filled(64, 0.0);
@ -28,10 +28,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
super.initState(); super.initState();
_sensorRef = FirebaseDatabase.instance.ref('sensor'); _sensorRef = FirebaseDatabase.instance.ref('sensor');
_thermalRef = _thermalRef = FirebaseDatabase.instance.ref('thermal_data');
FirebaseDatabase.instance.ref('thermal_data'); // <- Sesuaikan di sini
// Listener untuk data sensor PIR, Ultrasonik, Pengusir
_sensorRef.onValue.listen((event) { _sensorRef.onValue.listen((event) {
final data = event.snapshot.value; final data = event.snapshot.value;
if (data != null && data is Map) { if (data != null && data is Map) {
@ -40,14 +38,14 @@ class _DashboardScreenState extends State<DashboardScreen> {
'PIR': (data['pir'] == true) ? 'Terdeteksi' : 'Tidak', 'PIR': (data['pir'] == true) ? 'Terdeteksi' : 'Tidak',
'Ultrasonik': 'Ultrasonik':
data['ultrasonik'] != null ? '${data['ultrasonik']} cm' : '-', data['ultrasonik'] != null ? '${data['ultrasonik']} cm' : '-',
'Status Pengusir': 'Jenis Deteksi': data['jenis_deteksi'] != null
(data['pengusir'] == true) ? 'Aktif' : 'Nonaktif', ? data['jenis_deteksi'].toString()
: 'Tidak terdeteksi',
}; };
}); });
} }
}); });
// Listener untuk data thermal sensor
_thermalRef.onValue.listen((event) { _thermalRef.onValue.listen((event) {
final data = event.snapshot.value; final data = event.snapshot.value;
if (data != null && data is Map) { if (data != null && data is Map) {
@ -147,11 +145,11 @@ class _DashboardScreenState extends State<DashboardScreen> {
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
// Status Pengusir // Ganti Status Pengusir jadi Jenis Deteksi
SensorCard( SensorCard(
title: 'Status Pengusir', title: 'Jenis Deteksi',
value: sensorData['Status Pengusir'] ?? '-', value: sensorData['Jenis Deteksi'] ?? '-',
icon: Icons.speaker, icon: Icons.info_outline,
color: Colors.green.shade700, color: Colors.green.shade700,
isWide: true, isWide: true,
), ),
@ -196,9 +194,9 @@ class SensorCard extends StatelessWidget {
borderRadius: BorderRadius.circular(14), borderRadius: BorderRadius.circular(14),
), ),
padding: const EdgeInsets.all(12), padding: const EdgeInsets.all(12),
child: Icon(icon, size: 30, color: color), child: Icon(icon, size: 20, color: color),
), ),
const SizedBox(width: 20), const SizedBox(width: 10),
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -216,7 +214,7 @@ class SensorCard extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
fontSize: 15, fontSize: 14,
color: Colors.grey[800], color: Colors.grey[800],
), ),
), ),