Panetteria — Camera di Fermentazione via VPN (da zero a produzione)
Passo per passo reale: una panetteria collega la sua camera di fermentazione a Rela AI tramite VPN WireGuard, senza sapere la marca del PLC e senza router enterprise.
Panetteria — Camera di fermentazione via VPN
Caso d'uso completo per una panetteria artigianale che vuole monitorare la sua camera di fermentazione (temperatura 24–30°C, umidità 70–85%) e ricevere avvisi WhatsApp quando qualcosa esce dal range. Il cliente non sa che marca sia il PLC, non ha router enterprise, e parte da zero.
Scenario
Panetteria Il Sole. Una camera di fermentazione con PLC industriale nel quadro elettrico. Nessun manuale, nessun tecnico di automazione interno. La panetteria ha già perso un'infornata di pasta madre (~300 USD di prodotto) perché nessuno ha notato che la camera è scesa a 18°C per 3 ore durante la notte.
Obiettivo: allarme WhatsApp in meno di 5 minuti quando la temperatura esce dal range.
Scelta di architettura: VPN + cloud_direct invece di edge gateway, perché il proprietario pensa già di aggiungere il forno rotante e le impastatrici il prossimo trimestre — la VPN scala meglio per più macchine nello stesso stabilimento.
A cosa serve questo caso
Ti serve se stai:
- Collegando la tua prima apparecchiatura industriale a un sistema di monitoraggio.
- Senza accesso al manuale del PLC (installazione vecchia, produttore scomparso, manuale perso).
- Con router ISP domestico e senza VPN aziendale né infrastruttura IT dedicata.
- Pianificando di aggiungere più macchine allo stesso stabilimento.
Come funziona
Flusso end-to-end:
Camera fermentazione (PLC 192.168.1.50)
│ Modbus TCP :502
▼
Router Mikrotik hAP ac3 (LAN panetteria)
│ WireGuard UDP 51820 uscente
▼
Concentratore Rela AI (europe-west1)
│ Direct VPC Egress
▼
Worker Cloud Run
│ poll ogni 5s
▼
Pipeline: normalizzazione → regole → notifica
│ WhatsApp via Evolution API
▼
Cellulare del proprietarioBenefici
| Investimento iniziale basso | ~$110 USD hardware (Mikrotik + cavi) + $75/mese piano Essential. |
| Scala a più macchine | Lo stesso tunnel serve forno, impastatrice, refrigerazione — senza riconfigurare la VPN. |
| Nessun software da mantenere in loco | Il Mikrotik si configura una volta, il resto vive nel cloud. |
| ROI in 1-2 incidenti evitati | Una singola infornata di pasta madre salvata copre il primo anno. |
Passo per passo
Passo 0 — Identificare il PLC (30 min)
Spegni la camera. Apri il quadro elettrico. Cerca un cubo rettangolare nero/grigio su guida DIN con etichetta. I 4 sospettati comuni in una panetteria:
| Marca probabile | Modello tipico | Identificazione visiva |
|---|---|---|
| Siemens | LOGO! 8 o S7-1200 | "SIEMENS" in rosso, LCD piccolo |
| Schneider | Modicon M221/M241 | "Schneider Electric" in verde |
| Allen-Bradley | MicroLogix 1400 | "ROCKWELL" o "ALLEN-BRADLEY" |
| Carel | pCO5+ o c.pCO | Display LCD grande, tipico in refrigerazione |
Foto col cellulare dell'etichetta completa (modello + seriale).
Se non puoi o non vuoi aprire il quadro:
- Cerca il modello della tua camera (es. "MIWE GVA 8") su Google. La scheda tecnica di solito menziona il PLC.
- Chiama il tecnico che te l'ha venduta/installata.
Passo 1 — Confermare Modbus TCP (15 min)
Google <marca> <modello> Modbus TCP. Quello che troverai:
- 99% dei PLC post-2015 con porta Ethernet: Modbus TCP di serie. Fatto.
- PLC con solo seriale RS-485 (morsetto A/B/GND): ti serve un adattatore Moxa MGate MB3170 (~$200 USD).
- Siemens LOGO! versioni precedenti a 8.3: niente Modbus TCP nativo — verifica upgrade o considera sostituzione.
Passo 2 — Collegare il PLC alla rete (1 ora + cablaggio)
Se il PLC non è già collegato alla rete:
- Tendi il cavo Ethernet (Cat5e o Cat6) dal router ISP della panetteria al quadro elettrico. Max 80m.
- Collega il cavo alla porta Ethernet del PLC.
- Assegna IP statico (NON DHCP) al PLC — tipicamente col software del produttore o dal pannello HMI:
- IP:
192.168.1.50 - Maschera:
255.255.255.0 - Gateway: IP del router ISP
- IP:
Se non hai mai lavorato con PLC, questo passo lo fa il tecnico del produttore della camera in 15 minuti.
Passo 3 — Comprare il router VPN
Mikrotik hAP ac3 (~$80 USD). Supporta WireGuard nativo, sta in una mano, consuma 5W.
Alternative accettabili: qualsiasi Mikrotik con RouterOS 7+, pfSense, OPNsense, Ubiquiti EdgeRouter. Quello che non va: router ISP comuni (TP-Link / Mercusys / cable-modem), niente WireGuard.
Passo 4 — Installare il Mikrotik in parallelo al router ISP
Layout più semplice:
[Modem/Router ISP] ─── [Switch/cablaggio panetteria] ─── [Mikrotik hAP ac3]
│ │
▼ ▼
[Apparecchi ufficio] [PLC della camera]Il Mikrotik condivide la stessa rete ma è quello che termina il tunnel. Il suo unico compito: ricevere pacchetti dalla VPN e inoltrarli al PLC.
Passo 5 — Creare l'account + peer VPN in Rela AI
- Signup su
rela-ai.io. - Dashboard → Impostazioni → Connettività VPN → Crea tunnel.
- Nome:
Panetteria Il Sole - Sede Centrale. Salva. - Il sistema mostra:
- Subnet assegnata:
10.200.7.0/24(il tuo numero sarà diverso). - Widget "In attesa del primo handshake…".
- Selettore apparecchiatura con 7 opzioni.
- Subnet assegnata:
Passo 6 — Scaricare la config per Mikrotik
Nel selettore apparecchiatura scegli Mikrotik RouterOS. Clic su Scarica configurazione. Scarichi rela-vpn-mikrotik.rsc.
Passo 7 — Incollare la config nel Mikrotik
Accedi al Mikrotik via web (http://192.168.88.1) → New Terminal → incolla TUTTO il contenuto del .rsc con Ctrl+V.
Verifica che l'interfaccia sia stata creata:
/interface wireguard printPasso 8 — Aggiungere DNAT 1:1 (il passo critico)
Il passo che si dimentica e rompe tutto. Il tuo PLC è su 192.168.1.50 (IP interno), ma Rela AI invia pacchetti a un IP dentro la tua subnet VPN assegnata, per esempio 10.200.7.50. Il Mikrotik deve tradurre quegli IP 1:1 al PLC reale.
Ragione tecnica: ogni sito riceve una subnet VPN unica (10.200.X.0/24). Il tunnel trasporta solo traffico per quella subnet. IP interni come 192.168.1.50 collidono tra clienti (tutti li usano), quindi non possono passare direttamente dal tunnel — devono essere mappati.
Regola DNAT 1:1 sul tuo Mikrotik (una riga per PLC):
/ip firewall nat
add chain=dstnat dst-address=10.200.7.50 dst-port=502 protocol=tcp \
action=dst-nat to-addresses=192.168.1.50 to-ports=502
/ip firewall filter
add action=accept chain=forward in-interface=rela-vpn src-address=10.200.0.0/16Se hai più PLC (forno, impastatrice…), una regola DNAT per ciascuno con indirizzi distinti dentro la tua subnet VPN (es. 10.200.7.50 → camera, 10.200.7.51 → forno).
Passo 9 — Verificare handshake
Torna al dashboard → /settings/connectivity. In 10-30 secondi, il widget deve cambiare a Connesso con:
- Ultimo handshake: meno di 30 secondi.
- RX e TX: valori positivi che salgono.
Se resta in attesa:
- Il tuo firewall ISP blocca UDP 51820 uscente. Chiedi all'ISP di aprirlo (raro ma capita).
- La public key è stata troncata nel copia. Ri-scarica la config.
Passo 10 — Creare la fonte Modbus
Dashboard → Allarmi → Fonti → Nuova fonte:
| Campo | Valore |
|---|---|
| Nome | Camera fermentazione |
| Protocollo | Modbus TCP |
| Host | 10.200.7.50 (l'IP mappato nella tua subnet VPN, NON l'IP LAN del PLC) |
| Porta | 502 |
| Unit ID | 1 |
| Deployment mode | cloud_direct |
Importante: l'host è 10.200.7.50 (l'IP DNAT del passo 8), non 192.168.1.50. Il Mikrotik gestisce la traduzione al PLC reale.
Aggiungi un registro esplorativo:
| Campo | Valore |
|---|---|
| Tipo | holding |
| Nome | test_temperatura |
| Address | 0 |
| Count | 1 |
| Data type | uint16 |
| Poll interval | 5 |
Salva → Test connection → rtt_ms: ~120, valore intorno a 245 se la camera è a 24.5°C.
Passo 11 — Scoprire la mappa dei registri senza manuale
Se il test funziona ma non sai quale indirizzo corrisponde a quale variabile, usa la tecnica dello scan cieco:
- Installa Modbus Poll (Windows, trial gratis) su un laptop dentro la LAN.
- Collegati al PLC:
192.168.1.50:502, slave1. - Leggi holding da address 0 a 100 — appare una tabella con 100 valori.
- Nella camera, cambia il setpoint di temperatura da 24 a 28°C.
- Guarda quale cella è cambiata (da ~240 a ~280). È il tuo registro di temperatura.
- Ripeti per l'umidità: cambia il setpoint e trova la cella che si muove.
Annota:
holding[0]→ temperatura × 10 (uint16)holding[1]→ umidità × 10 (uint16)holding[2]→ setpoint temperaturacoil[0]→ motore ventilatore (bool)
Passo 12 — Creare agente e regola di allarme
Dashboard → Agenti → Nuovo:
- Nome:
Agente Camera Fermentazione. - Assegna fonte:
Camera fermentazione.
Regole → Nuova:
| Campo | Valore |
|---|---|
| Nome | Temperatura fuori range |
| Condizione | temperatura > 32 OR temperatura < 22 |
| Durata | 5 minuti (5 eventi di fila) |
| Severità | high |
| Azione | Notifica WhatsApp a +39 ... |
Passo 13 — Validazione end-to-end
- Apri la porta della camera e lasciala aperta 10 minuti. La temperatura scende.
- Ai 5 minuti, il tuo cellulare vibra: "Temperatura camera fermentazione: 18°C — fuori dal range inferiore (22°C)".
- Dashboard → Inbox mostra l'allarme con severità high.
- Chiudi la porta. In ~10 minuti torna nel range e l'allarme si chiude automaticamente.
Se tutti i 4 check passano, il sistema è operativo.
Scalare a più macchine nella stessa panetteria
Un solo tunnel VPN serve ogni macchina della panetteria. Quando aggiungi il forno rotante:
- Assegnagli IP fisso (es.
192.168.1.51) sulla stessa rete. - Dashboard → Fonti → Nuova → protocollo che parla il forno (Modbus TCP / OPC UA / S7).
- Stesso
deployment_mode=cloud_direct, host192.168.1.51. - Non toccare il Mikrotik né la VPN.
Regola generale: 1 tunnel per sito fisico. La panetteria ha 1 sito, quindi 1 tunnel. Le singole macchine sono fonti dentro lo stesso tunnel.
Costi reali
| Voce | Investimento | Ricorrente |
|---|---|---|
| Mikrotik hAP ac3 | $80 USD | — |
| Cavi + elettricità | ~$40 USD | — |
| Piano Rela AI Essential (fino a 10 asset) | — | $75/mese |
| Installazione (se con tecnico) | $100-300 USD | — |
| Totale primo mese | ~$120-420 USD | |
| Mesi seguenti | $75/mese |
ROI stimato: una sola pasta madre da $300 salvata da un allarme precoce copre i primi 4 mesi di abbonamento. La maggior parte delle panetterie industriali recupera l'investimento al primo incidente prevenuto.
Limitazioni e assunzioni
- Non per loop di controllo: il polling ogni 5s non sostituisce il PID del PLC. Rela AI monitora, non controlla.
- Richiede internet in panetteria: se la connessione cade, niente buffering locale (per quello c'è il cammino edge). Un'interruzione di 30 minuti significa 30 minuti senza monitoraggio.
- Un solo router VPN per sito: se la panetteria ha una seconda sede in un'altra città, quella sede ha bisogno del proprio peer VPN (piano Enterprise permette fino a 5 siti).
Prossimi passi dopo questo caso
Una volta che la camera è monitorata, il percorso abituale è:
- Aggiungere il forno rotante e le impastatrici sotto la stessa VPN.
- Configurare un agente differenziato per tipo di macchina.
- Aggiungere un dashboard di KPI operazionali.
- Configurare report settimanali via email.
- Se scali a più sedi, upgrade a piano Enterprise.
Vedi anche: Connettività VPN — guida tecnica, Come testare che la VPN funzioni, Connessione Modbus TCP.
Stabilimento Alimentare — Monitoraggio HACCP
Caso d'uso: uno stabilimento alimentare configura 3 CCP, li monitora e gestisce una deviazione con azione correttiva
Flotta eterogenea — 3 marche di PLC diverse, un solo tunnel VPN (Modbus TCP)
Un panificio ha mescolatrice Schneider, camera Carel e forno WAGO. Tutti parlano Modbus TCP ma con quirks diversi. Come configurarli in un solo tenant Rela AI senza perdere ore a debuggare il byte order.