Device EC / Salinità: misura automatica, setup e calibrazione

Tempo di lettura: ~10 minuti · Tempo di esecuzione: ~30 minuti (hardware escluso) + 5 minuti di calibrazione · Pubblico: chi vuole la salinità della vasca misurata in continuo sul portale, senza rifrattometro alla mano

🔵 Guida avanzata — non fa parte del percorso onboarding 01-08. Affrontala solo se hai già configurato vasca e sensori (guida 04).


1. Cosa stai per fare

La salinità in JoyReef si misura con un device dedicato: una piccola scheda a sé stante (tipo ec, nome ec-XXXXXX) con il suo board ESP, il suo modulo ADS1115 e una sonda di conducibilità (EC) pensata per l'acqua marina. È il gemello del device pH (guida 18): lo flashi, lo colleghi al WiFi, appare sul portale come "Sonda EC / Salinità", lo assegni a una vasca — e da quel momento la salinità è una metrica live della vasca, con grafico storico e widget in dashboard.

Come funziona: la sonda misura la conducibilità elettrica dell'acqua (EC, in mS/cm), che in acqua marina è legata direttamente alla salinità. Il firmware compensa la temperatura e converte il valore in ppt (parti per mille): il classico 35 ppt dell'acqua oceanica. Tutto a bordo: il portale riceve il dato già pronto.

In questa guida:

⚠️ Device EC e device pH non vanno mai alimentati insieme. La sonda EC inietta un piccolo segnale elettrico in vasca: se device EC e device pH condividono alimentazione o massa (stesso hub USB alimentato, stesso alimentatore multi-porta), la lettura del pH viene disturbata. Usa due alimentatori USB separati, ognuno nella sua presa. È il motivo per cui EC e pH sono due device distinti e non una scheda sola.


2. Cosa ti serve (hardware)

💡 Costruzione "in bella": se vuoi montare il tutto in un box stampato in 3D con basetta preforata (come i device JoyReef originali), gli schemi di basetta e collegamenti sono nel repo del progetto. Per iniziare, però, bastano i moduli e qualche cavetto dupont.


3. Assemblaggio

La catena è: sonda EC → scheda DFR0300-H → ADS1115 → board ESP. La scheda DFR0300-H ha il suo cavo a 3 fili (connettore Gravity): segnale, alimentazione e massa.

Scheda EC → ADS1115 / board

Filo Gravity (DFR0300-H) Va a Note
Blu (segnale) A0 dell'ADS1115 segnale analogico 0-3,2 V
Rosso (VCC) 3V3 del board tutto a 3,3 V
Nero (GND) GND del board

ADS1115 → board ESP (I2C, 2 fili)

ADS1115 Board ESP Note
VDD 3V3 alimentazione
GND GND massa
SDA pin SDA del board dato I2C
SCL pin SCL del board clock I2C

I pin I2C sono gli stessi del device pH: SDA = GPIO0 (D3), SCL = GPIO2 (D4).

🔘 Pulsante di factory reset (opzionale). Va su D0 (GPIO16), cablato verso 3V3non su GPIO2, che qui è il clock I2C dell'ADS1115. Tenuto premuto 8 secondi cancella WiFi e configurazione.

Schema di cablaggio del device EC: D1 mini, ADS1115 via I2C e scheda DFR0300-H

💡 La sonda EC è robusta (è un cilindro con due elettrodi, niente membrane delicate come il pH), ma il connettore della scheda no: fissa bene la scheda DFR0300-H nel box e lascia gioco al cavo della sonda.


4. Flash firmware + WiFi

Il device EC si flasha e si collega al WiFi esattamente come gli altri device JoyReef:

  1. Flash del firmware: segui la guida 16 scegliendo il firmware Sonda EC. (Per gli aggiornamenti successivi: OTA dal portale, guida 17.)
  2. Connessione WiFi: al primo avvio il device crea la rete di configurazione joyreef-XXXXXX (captive portal). Stessa procedura del controller, descritta nella guida 03b.

Dopo qualche secondo il device appare sul portale in Config → Dispositivi con il tipo "Sonda EC / Salinità" e il nome ec-XXXXXX.


5. Wizard di configurazione (anagrafica + calibrazione)

Apri il device appena comparso in Config → Dispositivi e clicca "Avvia configurazione": parte un wizard in 2 passi.

Passo 1 — Anagrafica

Dai un nome parlante al device (es. "Salinità vasca") e assegnalo alla vasca. Assegnalo alla stessa vasca del controller che misura la temperatura: serve per la compensazione automatica.

💡 Compensazione automatica in temperatura (ATC). La conducibilità dipende molto dalla temperatura (~1,85 % per °C). Il device EC riceve la temperatura della vasca automaticamente dal portale e riporta la lettura a 25 °C — non devi cablare nessuna sonda di temperatura. Se la temperatura non arriva da più di ~10 minuti, il device usa un fallback di 25 °C finché il dato non torna.

Passo 2 — Calibrazione

La sonda K=10 esce di fabbrica con un fattore generico: per letture accurate va calibrata con la soluzione standard 12,88 mS/cm. Il wizard ti guida:

  1. Sciacqua la sonda in acqua osmotica e asciugala tamponando
  2. Immergila nella soluzione standard 12,88 mS/cm e attendi 1-2 minuti che si stabilizzi
  3. Inserisci la conducibilità della soluzione (12,88 è già precompilato) e la temperatura della soluzione (campo obbligatorio — misura quella del liquido di calibrazione, non quella della vasca: se la boccetta è a temperatura ambiente, 4-5 °C di differenza valgono un errore dell'8-9 %)
  4. Premi "Calibra ora": il fattore viene salvato sul device
📷 PLACEHOLDER-EC-WIZARD-CALIBRATION

🖼️ Immagine da inserire qui (Wizard calibrazione EC): screenshot del passo 2 del wizard con i campi "Conducibilità soluzione (mS/cm)" e "Temperatura soluzione (°C)" e il bottone "Calibra ora".

Finito il wizard, il portale ti porta direttamente alla pagina Salinità.

💡 Puoi saltare la calibrazione e farla in seguito (la trovi anche nella pagina Salinità): il device misura comunque col fattore di default, ma la precisione assoluta non è garantita. Il bottone "Ripristina calibrazione di fabbrica" annulla in ogni momento una calibrazione venuta male.

⚠️ Ricalibra ogni 2-3 mesi, o quando il valore non torna col rifrattometro: gli elettrodi si sporcano (patine, calcare) e il fattore deriva. Prima di ricalibrare pulisci la sonda con acqua osmotica.


6. La pagina Salinità

La trovi sotto Monitoraggio → Salinità (URL portal.joy-reef.com/sensors/salinity), o dal link "Dettagli →" del widget in dashboard. Mostra:

📷 PLACEHOLDER-SALINITY-PAGE

🖼️ Immagine da inserire qui (Pagina Salinità): screenshot della pagina Monitoraggio → Salinità con valore attuale in ppt, badge Live, scala 28-42 con zona target 34-36 evidenziata e sezione Calibrazione EC.

In dashboard la salinità ha il suo widget: valore attuale, grafico delle ultime 24 ore e media 24h.

💡 Anche il diario ne approfitta: quando crei una voce di diario, il campo salinità arriva precompilato con la lettura del device EC ("Rilevamento automatico") — niente più trascrizioni a mano dal rifrattometro.


7. Se qualcosa non va

Sintomo Causa probabile Cosa fare
Salinità assente / "Nessun device EC assegnato" Device non assegnato alla vasca Config → Dispositivi → apri il device → campo Vasca
Device EC offline WiFi/MQTT giù Controlla alimentazione e WiFi (ripeti il captive portal della guida 03b se hai cambiato rete)
ADS1115 non rilevato Pin I2C errati o cablaggio Verifica SDA/SCL (GPIO0/GPIO2) e VDD/GND
Letture palesemente sbagliate (es. 20 o 50 ppt con vasca a posto) Calibrazione mancante/sbagliata Ricalibra (sez. 5) misurando la temperatura della soluzione; in caso estremo "Ripristina calibrazione di fabbrica" e ricalibra
Letture "ballerine" Bolle d'aria sugli elettrodi o sonda vicino a pompe Scuoti delicatamente la sonda per liberare le bolle; spostala in zona con flusso moderato
Il valore non torna col rifrattometro Deriva della sonda o rifrattometro non calibrato Calibra il rifrattometro con la sua soluzione, poi ricalibra il device EC
Salinità "ferma" mentre la temperatura cambia Temperatura non arriva → ATC su fallback 25 °C Assegna il device EC alla stessa vasca del controller con la sonda di temperatura
Il pH è impazzito da quando c'è il device EC Alimentazione condivisa EC/pH Due alimentatori USB separati, mai lo stesso hub alimentato (sez. 1)

Guida JoyReef · v1.0 · Domande? Scrivici a supporto@joy-reef.com