@extends('layouts.app') @section('title', 'Dashboard') @section('content')
BH1750

Sensor BH1750

Memuat...
DHT11

Sensor DHT11

Memuat...
Soil Moisture

Soil Moisture

Memuat...

ESP32-CAM Monitoring

Status ESP32-CAM

Belum diperiksa

Live Streaming

Live stream tidak aktif

Pengaturan Kamera

Tinggi 10 Rendah
0) { usort($files, function($a, $b) { return filemtime($b) - filemtime($a); }); $latestImage = $uploadDir . basename($files[0]); $imageTime = date("d-m-Y H:i:s", filemtime($files[0])); $fileName = basename($files[0]); // Mendapatkan timestamp dari nama file (format: esp32cam_YmdHis.jpg) $timestampFromFilename = null; if (preg_match('/esp32cam_(\d{8})_(\d{6})/', $fileName, $matches)) { $dateStr = $matches[1]; $timeStr = $matches[2]; $timestampFromFilename = strtotime( substr($dateStr, 0, 4) . '-' . substr($dateStr, 4, 2) . '-' . substr($dateStr, 6, 2) . ' ' . substr($timeStr, 0, 2) . ':' . substr($timeStr, 2, 2) . ':' . substr($timeStr, 4, 2) ); } // Menggunakan timestamp dari nama file jika tersedia if ($timestampFromFilename) { $imageTime = date("d-m-Y H:i:s", $timestampFromFilename); } // Mendapatkan timestamp dari EXIF data jika tersedia $exifData = @exif_read_data($files[0]); $captureTime = $imageTime; // Default menggunakan waktu file if ($exifData && isset($exifData['DateTimeOriginal'])) { // Format EXIF datetime: YYYY:MM:DD HH:MM:SS $exifTime = strtotime($exifData['DateTimeOriginal']); if ($exifTime) { $captureTime = date("d-m-Y H:i:s", $exifTime); } } ?>
ESP32-CAM Image

Foto terakhir: {{ $captureTime }}

Belum ada foto yang tersedia

Penjadwalan

Sistem mengambil gambar otomatis setiap jam 6 pagi.

Aktif

Pembersihan Foto

Menghapus foto lama (>7 hari).

Riwayat Foto

0) { ?>
<?php echo $fileName; ?>

12) { ?>

Belum ada riwayat foto

@endsection