TIF_NGANJUK_E41211253/app/Http/Controllers/SensorController.php

121 lines
3.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\SensorData; // Model untuk tabel sensors
class SensorController extends Controller
{
public function Gandul()
{
return view('admin.pages.Gandul');
}
public function month_Gandul()
{
return view('admin.pages.month_Gandul');
}
public function week_Gandul()
{
return view('admin.pages.week_Gandul');
}
public function day_Gandul()
{
return view('admin.pages.day_Gandul');
}
public function Bauresan()
{
return view('admin.pages.Bauresan');
}
public function month_Bauresan()
{
return view('admin.pages.month_Bauresan');
}
public function week_Bauresan()
{
return view('admin.pages.week_Bauresan');
}
public function day_Bauresan()
{
return view('admin.pages.day_Bauresan');
}
public function Bakalan()
{
return view('admin.pages.Bakalan');
}
public function month_Bakalan()
{
return view('admin.pages.month_Bakalan');
}
public function week_Bakalan()
{
return view('admin.pages.week_Bakalan');
}
public function day_Bakalan()
{
return view('admin.pages.day_Bakalan');
}
public function Grobog()
{
return view('admin.pages.Grobog');
}
public function month_Grobog()
{
return view('admin.pages.month_Grobog');
}
public function week_Grobog()
{
return view('admin.pages.week_Grobog');
}
public function day_Grobog()
{
return view('admin.pages.day_Grobog');
}
public function Induk_pressure()
{
return view('admin.pages.Induk_pressure');
}
public function Induk()
{
return view('admin.pages.Induk');
}
public function month_Induk()
{
return view('admin.pages.month_Induk');
}
public function week_Induk()
{
return view('admin.pages.week_Induk');
}
public function day_Induk()
{
return view('admin.pages.day_Induk');
}
public function getSensorData(Request $request)
{
// Ambil data sensor terbaru dengan device_name = 'kawedanan'
$latestPressure = SensorData::where('device_name', 'kawedanan')
->orderBy('created_at', 'desc')
->first(['pressure']); // Ambil hanya satu data terbaru
// Jika request adalah AJAX, kembalikan sebagai JSON
if ($request->ajax()) {
if ($latestPressure) {
Log::info('Pressure data:', ['pressure' => $latestPressure->pressure]);
return response()->json(['pressure' => $latestPressure->pressure]); // Kembalikan pressure dalam format JSON
} else {
Log::warning('No pressure data found for device "kawedanan".');
return response()->json(['pressure' => null]); // Kembalikan null jika tidak ada data
}
}
// Kirim data ke view jika bukan request AJAX
return view('admin.pages.coba', compact('latestPressure'));
}
}