Sorgenti di eventi
Configura sorgenti di eventi HTTP, MQTT e OPC UA per monitorare macchinari industriali.
Cos'e una sorgente di eventi
Una sorgente di eventi e la connessione tra la tua apparecchiatura industriale e l'agente macchina. Ogni sorgente riceve dati da un protocollo specifico e li invia all'agente per l'analisi con IA.
Protocolli supportati
| Protocollo | Uso tipico |
|---|---|
| HTTP | Webhook da sistemi SCADA, API REST, integrazioni personalizzate |
| MQTT | Sensori IoT, broker di messaggistica, comunicazione leggera |
| OPC UA | PLC industriali, sistemi di controllo, gateway industriali |
Creare una sorgente di eventi
All'interno del modulo di un agente macchina, nella sezione Sorgenti di eventi:
- Clicca su Aggiungi sorgente.
- Compila i campi comuni e quelli specifici del protocollo.
Campi comuni
| Campo | Obbligatorio | Descrizione |
|---|---|---|
| ID sorgente | Si | Identificatore unico (es: plc-01). Non puo essere modificato dopo la creazione |
| Protocollo | Si | http, mqtt o opcua |
| Abilitata | No | Attiva o disattiva la ricezione di eventi (default: attiva) |
| Throttle (secondi) | No | Secondi minimi tra eventi della stessa sorgente (0-3600, default: 60) |
| Severita minima | Si | Filtra eventi per severita minima: info, warning, critical, emergency |
Configurazione HTTP (Webhook)
| Campo | Descrizione |
|---|---|
| URL del webhook | URL generato automaticamente dove il tuo sistema invia gli eventi (sola lettura) |
| API Key | Chiave di autenticazione generata automaticamente. Puo essere rigenerata |
Per inviare eventi, il tuo sistema deve effettuare un POST all'URL del webhook includendo l'API Key negli header.
Esempio pratico: inviare un evento con curl
curl -X POST https://api.relaai.com/api/v1/machine/events \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_SOURCE_API_KEY" \
-d '{
"source_id": "plc-bomba-c12",
"event_type": "HIGH_VIBRATION",
"severity": "critical",
"message": "Vibrazione supera la soglia: 8.2 mm/s",
"metadata": {
"vibration_mm_s": 8.2,
"temperature_c": 72.5,
"rpm": 1480
}
}'Risposta prevista: {"status": "processed", "event_id": "..."}
Configurazione MQTT
| Campo | Obbligatorio | Descrizione |
|---|---|---|
| URL del broker | Si | Indirizzo del broker MQTT (es: mqtt://broker.local:1883) |
| Topic | Si | Topic MQTT a cui iscriversi (es: factory/line1/alarms) |
| QoS | No | Livello di qualita del servizio: 0 (at most once), 1 (at least once), 2 (exactly once) |
| Utente | No | Credenziali del broker |
| Password | No | Credenziali del broker |
Esempio: connessione con mosquitto
mosquitto_pub -h broker.example.com -p 1883 \
-t "plant/area-a/bomba-c12/vibration" \
-u "rela_user" -P "secret" \
-m '{"event_type":"VIBRATION","severity":"warning","message":"5.1 mm/s","metadata":{"value":5.1}}'Configurazione OPC UA
| Campo | Obbligatorio | Descrizione |
|---|---|---|
| URL del server | Si | Indirizzo del server OPC UA (es: opc.tcp://192.168.1.10:4840) |
| Node ID | Si | Identificatore del nodo da monitorare (es: ns=2;s=AlarmNode) |
| Politica di sicurezza | No | None o Basic256Sha256 |
| Utente | No | Credenziali del server |
| Password | No | Credenziali del server |
Formati di Node ID
- Numerico:
ns=2;i=1001(namespace 2, identificatore 1001) - Stringa:
ns=2;s=Temperature.PV(namespace 2, identificatore stringa) - GUID:
ns=2;g=12345678-1234-...
Gateway industriali compatibili
Per collegare apparecchiature che non supportano la comunicazione diretta, puoi utilizzare gateway industriali come:
- HMS Anybus
- Siemens IOT2050
- Moxa
- Advantech
Questi gateway fungono da intermediari tra i protocolli industriali e HTTP/MQTT/OPC UA.
Tabella di compatibilita dei gateway
| Gateway | HTTP | MQTT | OPC UA | Modbus | S7 |
|---|---|---|---|---|---|
| HMS Anybus | ✓ | ✓ | ✓ | ✓ | ✓ |
| Siemens IOT2050 | ✓ | ✓ | ✓ | ✓ | ✓ |
| Moxa ioThinx | ✓ | ✓ | ✓ | ✓ | — |
| Advantech WISE | ✓ | ✓ | ✓ | — | — |
| Raspberry Pi (custom) | ✓ | ✓ | ✓* | ✓* | — |
* Richiede librerie open-source aggiuntive.
Regole di instradamento
Ogni sorgente di eventi puo avere regole di instradamento per dirigere gli eventi verso diversi agenti:
| Campo | Descrizione |
|---|---|
| Pattern tipo di evento | Espressione regolare per corrispondere ai tipi di evento (es: TEMP_.*) |
| Agente destinazione | Agente che elaborera gli eventi corrispondenti |
| Priorita | Ordine di valutazione delle regole (minore = piu prioritario) |
Le regole vengono valutate in ordine di priorita. Il primo pattern che corrisponde determina l'agente che elabora l'evento.
Testare una sorgente
In modalita modifica, puoi inviare un evento di test per verificare la connessione:
- Apri il dettaglio dell'agente.
- Nella scheda della sorgente, clicca su Invia evento di test.
- Il risultato mostra successo (segno di spunta verde) o fallimento (X rossa).
Stato della sorgente
Ogni sorgente mostra il suo stato attuale con un indicatore visivo:
| Stato | Colore | Descrizione |
|---|---|---|
| Connected | Verde | Connessione attiva e ricezione eventi in corso |
| Connecting | Giallo (pulsante) | Tentativo di connessione |
| Error | Rosso | Errore nella connessione |
| Webhook | Blu | In attesa di eventi in ingresso (HTTP) |
Inoltre viene mostrato:
- Contatore eventi — Totale degli eventi ricevuti.
- Ultimo evento — Timestamp dell'evento piu recente.
Severita degli eventi
| Severita | Descrizione |
|---|---|
| Info | Evento informativo, nessuna azione richiesta |
| Warning | Avvertimento che richiede attenzione |
| Critical | Evento critico che richiede azione immediata |
| Emergency | Emergenza che richiede risposta urgente |
Creare un agente macchina
Guida per creare agenti che monitorano eventi di macchinari industriali e rispondono con IA.
Connessione Modbus TCP — Guida Tecnica
Come collegare un PLC Modbus TCP a Rela AI: campi del form, mappa dei registri, modalità cloud_direct vs edge, emit policies, test della connessione e troubleshooting per tipo di errore.