group(function () { Route::get('dashboard', [ChartsController::class, 'index'])->name('dashboard'); Route::controller(RiwayatController::class)->prefix('/dashboard')->group(function () { Route::view('detail/1', 'dashboard/detaildashboard1')->name('detail.dashboard1'); Route::view('detail/2', 'dashboard/detaildashboard2')->name('detail.dashboard2'); Route::view('detail/3', 'dashboard/detaildashboard3')->name('detail.dashboard3'); Route::view('detail/4', 'dashboard/detaildashboard4')->name('detail.dashboard4'); }); Route::get('chartdioksida/{id}', [ChartsController::class, 'dioksida'])->name('api.chartdioksida'); Route::get('chartamonia/{id}', [ChartsController::class, 'amonia'])->name('api.chartamonia'); Route::get('chartmetana/{id}', [ChartsController::class, 'metana'])->name('api.chartmetana'); Route::get('charthumidity/{id}', [ChartsController::class, 'humidity'])->name('api.charthumidity'); Route::get('charttemperature/{id}', [ChartsController::class, 'temperature'])->name('api.charttemperature'); Route::view('karyawan', 'karyawan')->name('karyawan'); Route::view('blog', 'blog')->name('blog'); Route::view('addblog', 'addblog')->name('addblog'); Route::view('profile', 'profile')->name('profile'); Route::controller(RiwayatController::class)->prefix('/dashboard')->group(function () { Route::get('riwayat-temperature', 'riwayatTemperature')->name('riwayat.temperature'); Route::get('riwayat-humidity', 'riwayatHumidity')->name('riwayat.humidity'); Route::get('riwayat-metana', 'riwayatMetana')->name('riwayat.metana'); Route::get('riwayat-dioksida', 'riwayatDioksida')->name('riwayat.dioksida'); Route::get('riwayat-amonia', 'riwayatAmonia')->name('riwayat.amonia'); Route::post('/data/amonia', 'getAmoniaData')->name('data.riwayatamonia'); Route::post('/data/temperature', 'getTemperatureData')->name('data.riwayattemperature'); Route::post('/data/metana', 'getMetanaData')->name('data.riwayatmetana'); Route::post('/data/humidity', 'getHumidityData')->name('data.riwayathumidity'); Route::post('/data/dioksida', 'getDioksidaData')->name('data.riwayatdioksida'); }); Route::get('export/ammonia', function (Request $request) { $startDate = $request->query('createFrom'); $endDate = $request->query('createTo'); return Excel::download(new AmmoniaExport($startDate, $endDate), 'ammonia_data.xlsx'); })->name('export.ammonia'); Route::get('export/temperature', function (Request $request) { $startDate = $request->input('createFrom'); $endDate = $request->input('createTo'); return Excel::download(new TemperatureExport($startDate, $endDate), 'temperature_data.xlsx'); })->name('export.temperature'); Route::get('export/humidity', function (Request $request) { $startDate = $request->input('createFrom'); $endDate = $request->input('createTo'); return Excel::download(new HumidityExport($startDate, $endDate), 'humidity_data.xlsx'); })->name('export.humidity'); Route::get('export/metana', function (Request $request) { $startDate = $request->input('createFrom'); $endDate = $request->input('createTo'); return Excel::download(new MetanaExport($startDate, $endDate), 'metana_data.xlsx'); })->name('export.metana'); Route::get('export/dioksida', function (Request $request) { $startDate = $request->input('createFrom'); $endDate = $request->input('createTo'); return Excel::download(new DioksidaExport($startDate, $endDate), 'dioksida_data.xlsx'); })->name('export.dioksida'); Route::post('/receive-data', function (Request $request) { $data = $request->all(); // Simpan data ke cache sementara Cache::put('latest_data', $data, 10); // Simpan 10 detik return response()->json(['message' => 'Data diterima']); }); // Route::get('/stream-data', function () { // return response()->stream(function () { // while (true) { // if (Cache::has('latest_data')) { // $data = Cache::get('latest_data'); // echo "data: " . json_encode($data) . "\n\n"; // ob_flush(); // flush(); // } // sleep(2); // } // }, 200, [ // 'Content-Type' => 'text/event-stream', // 'Cache-Control' => 'no-cache', // 'Connection' => 'keep-alive', // ]); // }); // Route::get('/get-predict', function () { // $response = Http::post('http://192.168.18.44:5000/predict', [ // 'NH3' => 30, // 'CH4' => 120, // 'CO2' => 5500 // ]); // return response()->json($response->json()); // }); // Route::get('/test-flask', function () { // try { // // Ambil data dari Flask API // $response = Http::get('http://192.168.18.44:5000/get-data'); // // Pastikan Flask mengembalikan JSON yang valid // if ($response->successful()) { // return response()->json($response->json()); // } else { // return response()->json(['error' => 'Gagal mengambil data dari Flask'], 500); // } // } catch (\Exception $e) { // return response()->json(['error' => $e->getMessage()], 500); // } // }); Route::get('/get-sensor-data', function () { try { // URL Flask $flaskUrl = 'http://192.168.18.44:5000/predict'; // Kirim permintaan GET ke Flask $response = Http::get($flaskUrl); // Cek jika Flask merespons dengan sukses if ($response->successful()) { return response()->json($response->json()); } else { return response()->json(['error' => 'Flask API tidak merespons dengan sukses'], 500); } } catch (\Exception $e) { return response()->json(['error' => $e->getMessage()], 500); } }); }); require __DIR__ . '/auth.php';