Edistynyt CAN bus / J1939 moottorivalvonta - polttoaineoptimointi, ennakoiva huolto

Tiivistelmä

Miksi edistynyt moottorivalvonta?

Perus-gateway (kuten Actisense EMU-1, Yacht Devices YDEM-01) tuo moottoridatan NMEA 2000:een. Edistynyt valvonta tuo:

---

Edistynyt valvonnan osat

OsaPerus vs EdistynytEdistynyt ominaisuus
GatewayPGN-mappausReaaliaikainen analytiikka, historian tallennus, MQTT/HTTP API
VisualisointiPlotterin engine monitorGrafana dashboardit, Signal K dashboard, VRM Portal, custom app
AlarmitPerusvaroitukset (ölypaine, lämpö)Trendi-alarmit, ennustavat alarmit, eskalointi (SMS/Email/Push)
AnalytiikkaEiPolttoainekulutus vs nopeus, öljyn laadun trendi, moottorin teho-käyrä
Ennakoiva huoltoEiÖljynvaihtovälit reaaliaikaisesti, suodattimien tila, injectoreiden tila

---

OsanumeroTuoteOEM-numeroHinta
ACT-EMU1OEM-osa
YD-YDEM01OEM-osa
GAR-GNE10OEM-osa
MTR-J2K100OEM-osa

Edistynyt valvonta - gateway-vertailu

GatewayHistoriatallennusAnalytiikkaAPIMQTT/HTTPHintaSoveltuvuus
Actisense EMU-1Ei (vain reaaliaika)Ei (vain PGN)PC ToolEi449 €Perus-gateway, tarvitsee erillisen serverin analytiikkaan
Yacht Devices YDEM-01Ei (vain reaaliaika)EiWeb UIEi299 €Perus-gateway
Yacht Devices YDEM-02EiEiWeb UIKyllä (MQTT)349 €MQTT -> MQTT broker -> Grafana
Actisense EMU-1 + NMEA Reader + LoggerKyllä (CSV/JSON log)Perus (NMEA Reader)PC ToolEi449 € + PCPerus historian tallennus
Yacht Devices YDNM-02 + MQTT BrokerKyllä (MQTT -> InfluxDB)Kyllä (Grafana)Web UIKyllä (MQTT)189 € + brokerDIY edistynyt
Maretron J2K100 + N2KView/N2KAnalyzerKyllä (N2KView log)Kyllä (N2KAnalyzer)PC ToolEi599 €Ammattilainen, N2KView
Signal K Server + Gateway (YDEM-02/EMU-1)Kyllä (Signal K log + InfluxDB)Kyllä (Grafana, SK plugins)REST/WebSocket/MQTTKylläGateway + PiSuositus: DIY edistynyt
Cerbo GX + VRM PortalKyllä (VRM Portal, 30 vrk historia)Kyllä (VRM Advanced, Grafana Cloud)REST APIKyllä (MQTT, Modbus TCP)500 € + GXValmis, luotettava, cloud

---

Edistynyt valvonnan rakentaminen

1. Arkkitehtuurin valinta

TarveSuositus
Helppo alku, perusvalvontaYDEM-01 + Plotteri (realtime)
DIY edistynyt (historian tallennus + Grafana)YDEM-02 (MQTT) + Raspberry Pi 4 + Mosquitto MQTT + InfluxDB + Grafana + Signal K Server
Valmis, luotettava, cloudCerbo GX + GX Touch 50 + VRM Portal + Grafana Cloud + RuuviTagit + YDWG-02
Ammattilainen (teollinen/laiva)Maretron J2K100 + N2KView/N2KAnalyzer + N2KAnalyzer Server + Maretron N2KView Server

2. DIY edistynyt valvonta - rakentaminen (YDEM-02 + Pi + Grafana)

#### 2.1 Laitteistot

#### 2.2 Ohjelmistot (Docker Compose suositus)

`yaml

# docker-compose.yml

version: '3.8'

services:

mosquitto:

image: eclipse-mosquitto:2

ports: ["1883:1883", "9001:9001"]

volumes: ["./mosquitto:/mosquitto/config", "./mosquitto/data:/mosquitto/data", "./mosquitto/log:/mosquitto/log"]

influxdb:

image: influxdb:2.7

ports: ["8086:8086"]

volumes: ["./influxdb:/var/lib/influxdb"]

environment: [DOCKER_INFLUXDB_INIT_MODE=setup, DOCKER_INFLUXDB_INIT_USERNAME=admin, DOCKER_INFLUXDB_INIT_PASSWORD=password, DOCKER_INFLUXDB_INIT_ORG=myorg, DOCKER_INFLUXDB_INIT_BUCKET=boatdata]

grafana:

image: grafana/grafana:10.2

ports: ["3000:3000"]

volumes: ["./grafana:/var/lib/grafana", "./grafana/provisioning:/etc/grafana/provisioning"]

environment: [GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-worldmap-panel]

depends_on: [influxdb]

signalk:

image: signalk/signalk-server-node:latest

ports: ["3000:3000"]

volumes: ["./signalk:/data"]

environment: [SIGNALK_CONFIG=/data/settings.json]

devices: ["/dev/ttyUSB0:/dev/ttyUSB0"] # VE.Direct adapter

depends_on: [mosquitto]

`

#### 2.3 YDEM-02 konfigurointi (MQTT)

  1. Web UI: http://ydem-02.local -> MQTT Settings:
  1. Engine Instance: 0 (port), 1 (stbd) jos kaksimoskari

#### 2.4 Signal K Server konfigurointi

  1. http://signalk.local:3000 -> Plugins -> Enable:

#### 2.5 InfluxDB + Grafana konfigurointi

  1. InfluxDB: Bucket boatdata, Retention 30d/365d/forever
  2. Grafana: Data Source -> InfluxDB (Flux query language)
  3. Dashboardit:

3. Polttoaineoptimointi reaaliaikaisesti

Mitä mitataan:

ParametriPGN/SPNYksikköOptimointitavoite
RPMPGN 127488 / SPN 190RPMOptimaalinen RPM-ikkuna (torque peak)
PolttoainekulutusPGN 127489 / SPN 183L/hMinimi L/nm
Nopeus (SOG/STW)PGN 128259 / 128267knKohdennettu nopeus
PolttoainepaineSPN 94kPaOptimaalinen paine (injikaatio)
Boost-paineSPN 102kPaTurbo-tehokkuus
TrimmiPGN 127506%Optimaalinen trimmi (planaus)

Optimointialgoritmi (esimerkki):

`python

# L/nm = (Fuel Rate L/h) / (SOG kn)

# Etsi RPM joka minimoi L/nm annetulla nopeudella

optimal_rpm = minimize(lambda rpm: fuel_rate(rpm, speed) / speed, bounds=(1000, max_rpm))

`

Grafana-alert: Jos L/nm > 1.2 * baseline -> alert "Polttoainekulutus poikkeaa normaalista"

3. Ennakoiva huolto (Predictive Maintenance)

Mitä seurataan:

KomponenttiParametritEnnustemalliHuoltoväliaika
MoottoriöljyÖljylämpötila, öljypaine, RPM-historia, käyttö tunnitÖljyn viskositeetin laskennallinen lasku100 h / 1 vuosi (säädytetty lämpö/paine/RPM)
ÖljynsuodatinÖljypaineen putoaminen, RPMSuodattimen tupeneminenÖljynvaihdon yhteydessä
PolttoainesuodatinPolttoainepaine, RPM, kulutusSuodattimen tupeneminen200 h / 2 vuosi
InjectoritPolttoainekulutus, RPM, rough running (SPN 111)Injectorin vaimentuminen1000–2000 h
TurboBoost-paine, öljylämpö, RPMTurbo-lagerien kuluminen2000–4000 h
Vesipumppu (impeller)Vedennestelämpö, RPM, tunnitKuminaulan kuluminen200 h / 2 vuosi
AnoditAika, vesi-tyyppi (suola/ete), anodityyppiKulumisnopeus1 vuosi (tarkistus)

Ennustemalli (esimerkki öljy):

`

Oil_Life_Remaining = 100% - (Engine_Hours / Base_Interval_Hours) * Stress_Factor

Stress_Factor = f(Max_Oil_Temp, Avg_Oil_Temp, RPM_Above_80%, Cold_Starts)

`

Grafana-alertit:

4. Historian tallennus ja raportointi

Tallennusstrategia:

DataResoluutioRetentioTallennusmuoto
RPM, lämpötilat, paineet (realtime)1 Hz7 d (hot), 90 d (warm), 10 a (cold)InfluxDB (TSDB)
Polttoainekulutus, nopeus, trimmi0.1 Hz30 d / 1 aInfluxDB
Huoltotapahtumat, alarmitEvent-driven10 aPostgreSQL / SQLite
Huoltoraportit (PDF/CSV)Event-driven10 aMinIO / S3 / paikallinen

Raportit (automaattiset):

---

Edistynyt valvonta - hintavertailu (DIY vs Valmis)

RatkaisuLaitteistoOhjelmistoHinta (n.)YlläpitoSoveltuvuus
DIY MinimaalinenYDEM-02 + Pi 4 + SDMosquitto + InfluxDB + Grafana + Signal K350 €Itse (1–2 h/vko)DIY-harrastaja, taitoinen
DIY EdistynytYDEM-02 + Pi 4 + InfluxDB + Grafana + Signal K + MQTT + Alarmit (SMS/Email)Sama + Alertmanager + ntfy/Telegram400 €Itse (0.5 h/vko)Tekninen harrastaja
Valmis (Cerbo GX + VRM)Cerbo GX + GX Touch 50 + RuuviTagit + YDWG-02VRM Portal + Grafana Cloud + VRM App1200 €Minimaalinen (automaattiset päivitykset)Ammattilainen / helpotus
Ammattilainen (Maretron)J2K100 + N2KView Server + N2KAnalyzerN2KView + N2KAnalyzer + Export2000 €+Ammattilainen tukiTeollinen / Suuri vene

---

UKK

Mitä on "Predictive Maintenance" ja miten se eroaa perushuollosta?

Miten "Fuel Efficiency" (L/nm) lasketaan reaaliaikaisesti?

L/nm = Fuel_Rate_L_per_h / SOG_kn -> Plotteri/Grafana laskee reaaliaikaisesti. Optimaalinen RPM = min(L/nm) annetulla nopeudella.

Mitä "Engine Instance" on ja miksi se on tärkeä?

Jos veneessä on kaksi moottoria (port/stbd) -> jokaisella eri Engine Instance (0, 1). Plotteri/Grafana erottaa ne -> "Port Engine RPM", "Stbd Engine RPM". Pakollinen kaksimoskarissa.

Miksi MQTT on parempi kuin HTTP/REST datan siirrossa?

Mitä "Predictive Maintenance" vaatii minimissään?

  1. Gateway joka lukee J1939/CAN ja lähettää MQTT/HTTP (YDEM-02, EMU-1 + logger, Cerbo GX)
  2. Time-series DB (InfluxDB, TimescaleDB, VRM Portal) historian tallennukseen
  3. Ennustemalli (jopa yksinkertainen lineaarinen regressio riittää aluksi)
  4. Alerting (Grafana Alerting, Alertmanager, ntfy, Telegram, Email)
  5. Visualisointi (Grafana, VRM Portal, Signal K Dashboard)

Voinko käyttää Cerbo GX:ää ilman Victron-akkua?

Kyllä. Cerbo GX toimii muidenkin laitteiden gatewayinä (YDWG-02 NMEA 2000 -> WiFi, RuuviTagit Bluetooth, MQTT broker, Signal K Server, VRM Portal). Victron-akku on valinnainen (mutta suositeltava jos on akkujärjestelmä).

---

Liittyviä oppaita

---

Lähteet

Virallinen käyttöohje

Mallikohtaisen käyttöohjeen saat moottorin valmistajan sivuilta:

Laaja valikoima erikoisosia. Toimitus Suomeen 5-7 arkipäivää. SVB Marine