Live dual-model · partial_discharge/+/pd_signal*
Catch partial discharge
before it becomes a fault.
Ultrasonic 300-sample signals flow from bay probes over MQTT into Laravel, run dual CNN + XGBoost inference, and stream to a live Filament dashboard. Collect training data without inference — detect live with alerting.
300 samples / reading
TLS MQTT:8883
throttle 120/min
LIVE SIGNAL — TR-001
detecting
HOW IT WORKS
Laravel 12 · Filament 3 · php-mqtt/client · FastAPI
01
Ultrasonic probe
Bay sensor captures 300 integers per reading.
02
MQTT
partial_discharge/+/pd_signal* over TLS.
03
Laravel ingest
Route collect vs detect.
04
Dual inference
CNN + XGBoost, agreement check.
05
Filament live
Realtime chart, status, alerts.
MQTT topics
One channel for training, one for live detection. Listener subscribes to both.
COLLECT — no inference
partial_discharge/+/pd_signal
collect
DETECT — dual-model
partial_discharge/+/pd_signal_detect
is_alert
Everything built in
Live monitoring
300-point chart & device health.
Dual model
CNN 1D + XGBoost agreement.
Data labeling
Filament table with filters.
Role access
super_admin / user, per-device.
curl -X POST https://pdeds.icminovasi.my.id/api/sensor/collect -d '{"device_id":"TR-001","data":[...300]}'
Ready to stream transformer health?
Sign in to assign devices and label training data.
Seed: admin@pdguard.local / password — change on first login.