OCEANPULSE

Centro de Observação Observation Center

Porto de Sagres, Portugal Port of Sagres, Portugal

Transporte: LoRa
LIGAÇÃO MAIN MAIN LINK últimolast · médiaavg
LIGAÇÃO SAÚDE HEALTH LINK (H + P) últimolast · médiaavg
SISTEMA A: ESTADO DA MISSÃO SYSTEM A: MISSION STATUS
ID: MAIN-01
Condutividade (EC) Conductivity (EC)

--.-

μS/cm
O₂ Dissolvido Dissolved O₂

--.-

mg/L
Temp. da Água Water Temp

--.-

°C (sonda DO) °C (DO probe)
Iluminação UV (Relé) UV Lighting (Relay)
OFF
Histórico EC EC History
Histórico DO DO History
Histórico Temp. da Água Water Temp History
SISTEMA B: SAÚDE SYSTEM B: HEALTH
  • Top Shelf --.-°C / RH --%
  • Relays & Inverter --.-°C / RH --%
  • Lower Shelf --.-°C / RH --%
  • Battery --.-°C / RH --%
  • Compute Box --.-°C / RH --%
  • Em Funcionamento Uptime --
  • Carga CPU CPU Load N/A
ENERGIA (Solar + Bateria) POWER (Solar + Battery) --
  • Bateria Battery --.-- V  ·  --.-%
  • SOC do SmartShunt afastou-se da estimativa por voltagem em -- pontos — precisa de re-sincronização SmartShunt SOC drifted from voltage estimate by -- pts — needs re-sync (full-charge or manual sync in VictronConnect)
  • Bateria (Líquido) Battery Net --.-- A  ·  -- W
  • Solar --.- V  ·  -- W
  • → Para a Bateria → Battery --.-- A
  • → Saída LOAD → LOAD output --.-- A
  • → Cargas diretas → Direct loads -- W
  • MPPT error
  • Última actualização: Last update: never
REGISTO DE EVENTOS EVENT LOG
> Sistema Inicializado…System Initialized...
> A ligar ao fluxo de telemetria…Connecting to Telemetry Stream...
ONSHORE GATEWAY MANAGEMENT (System C)
EMBEDDED ADAPTER
Interface: wlan0
---

Connection: ---

IP Address: ---

LONG-RANGE ADAPTER
Interface: wlan1 (USB)
---

Connection: ---

IP Address: ---

SYSTEM C CONTEXT

The Onshore Gateway (node1) acts as the bridge between the Buoy LoRa mesh and the internet.

In the current prototype configuration, internet is provided by the buoy's 4G router via WiFi. The Long-Range Adapter is the primary uplink.

Caution: Disabling the active interface may result in loss of remote access if no other gateway is available.
Transport: LoRa
RADIO SIGNAL ANALYSIS
LQI: 100%
RSSI

--- dBm

SNR

--- dB

Latency (RTT)

--- ms

IDLE
MODEM CONFIGURATION
LINK TESTS
Stress Test Progress 0/10
---
Transporte: LoRa

Painel Comunitário OceanPulse Community OceanPulse Panel

Monitorização aberta do oceano para Sagres e a costa do Algarve Open ocean monitoring for Sagres and the Algarve coast

Temp. Água Water Temp

--

Salinidade Salinity

--

PSU
O2 Dissolvido Dissolved O2

--

mg/L
Estado do Óleo Oil Status

LIMPOCLEAR

Estado da Boia Buoy Status

LOCAL DE IMPLEMENTAÇÃO — PORTO DA BALEEIRA, SAGRES DEPLOYMENT LOCATION — PORTO DA BALEEIRA, SAGRES
TEMPERATURA DA ÁGUA WATER TEMPERATURE
A aguardar dados… Awaiting data...
SALINIDADE SALINITY
A aguardar dados… Awaiting data...
OXIGÉNIO DISSOLVIDO — SATURAÇÃO % DISSOLVED OXYGEN — SATURATION %
Sensor a ser instalado em breve (Atlas EZO-DO) Sensor deploying soon (Atlas EZO-DO)
PRESENÇA DE ÓLEO OIL PRESENCE
Sem dados de deteção ainda No detection data yet
ENTRADA DO PAINEL SOLAR SOLAR PANEL INPUT -- W
A aguardar telemetria solar… Awaiting solar telemetry...
DETEÇÃO DE DERRAME DE ÓLEO OIL SPILL DETECTION
UV Contour

Nenhum Óleo Detetado No Oil Detected

Os dados da última captura UV aparecem aqui Last UV scan data will appear here
Regiões com Derrame Spill Regions 0
Cobertura do Frame Frame Coverage 0%
Pixels Fluorescentes Fluorescent Pixels 0
Pontuação de Deteção Detection Score 0 / 100
Última Captura Last Capture --
SOBRE ESTE PROJETO ABOUT THIS PROJECT

A OceanPulse é uma plataforma aberta de monitorização do oceano, a ser construída para implementação no Porto de Sagres, Portugal. O sistema irá monitorizar a qualidade da água, detetar anomalias ambientais — incluindo derrames de óleo — e fornecer dados em tempo real à comunidade.

Está a ver dados em direto de um protótipo de laboratório — sensores e deteção UV de óleo a funcionar em bancada, ligados a um reservatório de água. Governado pelo Framework ADT para total transparência e responsabilidade.

Fase 1: Sensores de qualidade da água + telemetria LoRa + câmara de visão + deteção UV de óleo. Objetivo: Implementação no porto em 2026.

OceanPulse is an open ocean monitoring platform being built for deployment at the Port of Sagres, Portugal. The system will monitor water quality, detect environmental anomalies including oil spills, and provide real-time data to the community.

You're seeing live data from a lab prototype — sensors and UV oil detection running on the bench, connected to a water reservoir. Governed by the ADT Framework for full transparency and accountability.

Phase 1: Water quality sensors + LoRa telemetry + vision camera + UV oil detection. Target: Port deployment 2026.

Source: Health Mega · STATUS packet

Sensores Internos de Saúde Internal Health Sensors

Temperatura e humidade dentro das caixas estanques da boia — arquivo de longo prazo da base SQLite Temperature & humidity inside the buoy enclosures — long-term archive from SQLite telemetry store

Top Shelf
-- °C -- %
No data
Relays & Inverter
-- °C -- %
No data
Lower Shelf
-- °C -- %
No data
Battery
-- °C -- %
No data
Compute Box
-- °C -- %
No data

Temperature in cyan (left axis, °C) — humidity in amber (right axis, %RH). Data is the full SQLite archive of H:STATUS packets, growing continuously since persistence was enabled.

PANEL ACTIVITY LOG
0 entries
TIMESTAMP IP USER ROLE ACTION DETAIL
Click refresh or switch to this tab to load
Transporte: 4G
FEED DE ANÁLISE (SISTEMA A) ANALYSIS FEED (SYSTEM A)
OFFLINE

A AGUARDAR CAPTURA AWAITING SNAPSHOT

Actualiza a cada 10s a partir do pipeline de análise do Sistema A Updates every 10s from System A analysis pipeline

SEQUÊNCIA UV EM CURSO UV SEQUENCE IN PROGRESS
Inversor Principal (D4) Main Inverter (D4) OFF
Boot do Temporizador (10s) Timer Relay Boot (10s) AWAITING
Flash UV & Burst da Câmara UV Flash & Camera Burst AWAITING
A inicializar o hardware… Initializing Hardware...
MONITOR DE SEGURANÇA SAFETY MONITOR LIMPOCLEAR
A AGUARDAR FEED DE SEGURANÇA AWAITING SAFETY FEED
DISTÂNCIA DISTANCE

--

cm
MOVIMENTO PIR PIR MOTION

--

HC-SR501
Min Safe Distance 150 cm
Clear Hysteresis 30 cm
PIR Clear Delay 5 s
DETECTION TUNING
Brightness Threshold 80
Lower = more sensitive (catches dim fluorescence). Higher = stricter (only bright spots).
Saturation Threshold 50
Filters white reflections vs colored fluorescence. Lower = more false positives.
Min Region Size (px) 50
Ignores blobs smaller than this. Higher = less noise, may miss small spills.
Score Sensitivity 2000
Multiplier: higher = more sensitive scoring. 2000 means 5% coverage = score 100.
UV Warmup (seconds) 8.0
Seconds to wait after UV ON before capturing. Longer = brighter, steadier lamp.
Morph Kernel
Capture Samples

NIGHT HUNTER SAMPLER
Start (Hour)
End (Hour)
Interval (min)
Automatically performs UV captures during the set window. Interval is the time between samples in minutes.
ÁREA DE ANÁLISE (ROI) DETECTION AREA (ROI)

Arrasta sobre a imagem para limitar a análise à superfície da água. Necessário enquanto a câmara vê para além do reservatório de teste. Drag on the image to limit analysis to the water surface. Useful while the camera also sees beyond the test reservoir.

ROI editor backdrop
A aguardar uma captura para editar a ROI… Waiting for a snapshot to edit the ROI…
x=0.00 y=0.00 w=1.00 h=1.00
OIL DETECTION ALERTS 0 ALERTS
LATEST DETECTION FRAME
NO ALERTS DETECTED
DETECTION SCORE: 0.0
DETECTION LOG (LAST 10)
No historical detection data
Transporte: LoRa
HISTÓRICO DE ENERGIA POWER HISTORY
A carregar… Loading…
Voltagem da Bateria Battery Voltage
Estado de Carga State of Charge
Painel Solar — Volts e Watts Solar Panel — Volts & Watts
Corrente da Bateria (com sinal) Battery Current (signed)
Potência da Bateria (com sinal) Battery Power (signed)
Correntes MPPT — Carga e LOAD MPPT Currents — Charge & LOAD
Estado de Carga (cronologia) Charge State (timeline)
Erros e Cargas Diretas Errors & Direct Loads
Transport: 4G
EC / Salinity — Atlas EZO-EC CAL: ?

Conductivity probe calibration. Follow the steps in order — Dry first, then Low, then High. The probe should sit in each standard solution for 1–2 minutes before issuing the command. Rinse with deionised water between Low and High standards.

Live EC: -- µS/cm
Live SAL: -- PSU
Step 1 — Dry calibration

Probe must be completely dry, out of any liquid. Required first; sets the open-circuit baseline.

Step 2 — Low point

Submerge probe in 12,880 µS/cm calibration standard. Wait ~1 min for the live reading to stabilise.

µS/cm
Step 3 — High point

Rinse probe with deionised water first. Then submerge in 80,000 µS/cm standard. Wait ~1 min.

µS/cm
Step 4 — Enable salinity output

Adds the S field (PSU 0–42) to the probe's reading. EZO output stays the same otherwise.

Step 5 — Verify & tools
EC console
> Ready. Pick a step above.
Dissolved Oxygen — DFRobot optical (Modbus RTU) DO: ?

Two-point fluorescence-quenching probe. Calibration writes to register 0x1010 (NVM-persistent). The protocol exposes salinity (0x1020) and atmospheric pressure (0x1022) so the sensor can compensate its mg/L output. Always remove the black rubber protective cover before measuring.

DO saturation: -- %
DO concentration: -- mg/L
Water temp: -- °C
Step 1 — 100 % saturation

Pick whichever of the three is easiest. All three produce the same saturated-air environment the optical probe needs. Writes 0x0002 → 0x1010.

  • Field method (deployed buoy): lift the probe out of the ocean until the optical face is 1–5 cm above the water surface. Shake off droplets. The air above the sea is naturally water-saturated and at exact sea-level atmospheric pressure — these are the canonical conditions.
  • Bucket method (lab quick): half-fill a jar with tap water, hold probe ~1 cm above the surface inside the jar with a loose lid. Wait ~5 min for the headspace to equilibrate.
  • Datasheet method (lab strict): aerate distilled water for 1 hour with an air pump, sit 30 min, hold probe ~1 cm above. Most accurate but slow.

Wait for the live DO saturation reading above to stabilise (1–2 min) at a value near 100 %, then press the button.

Step 2 — Zero point

Prepare zero-oxygen solution: 5 g anhydrous Na₂SO₃ + 95 g distilled water, let sit 1 hour. Submerge probe, stir gently, wait for reading to drop and stabilise (1–2 min). Writes 0x0001 → 0x1010.

Salinity compensation (register 0x1020)

Set the salinity the probe should assume when converting sat % → mg/L. Default 30 ‰ for seawater; set to 0 for fresh-water lab work.

Atmospheric pressure (register 0x1022)

Stored as kPa × 100. Sea-level default = 10133 (101.33 kPa). Adjust for altitude or local barometric reading.

kPa×100
Diagnostics

Baud index: 0=2400, 1=4800 (default), 2=9600, 3=19200, 4=38400, 5=57600, 6=115200.

DO console
> Ready. Remove rubber cover before measuring.
Transport: 4G
DEBUG / PIN TOGGLE — bench testing only (no safety guards)
UV Relay (Main Mega · Pin 4)
Last reply:
(none)
LORA REMOTE SHELL (SPEC-026)
Command History & Output:
(none)
Whitelist: nmcli, ip addr, ip route, ping -c, systemctl * oceanpulse, reboot, uptime, free -m, df -h, lsusb, tail -n 5 *.log
SYSTEM OPERATIONS & DEBUG MANUAL
🇬🇧 English version one click away — top right 🇵🇹 Versão portuguesa a um clique — canto superior direito