# Manuale Protocollo Comandi V-BLACK (nRF52) **Data:** 19/01/2026 **Comunicazione:** Nordic UART Service (NUS) ## 1. Introduzione Il dispositivo comunica tramite il servizio seriale standard Nordic UART. - **Caratteristica RX (Scrittura):** Canale per inviare i comandi alla scheda. - **Caratteristica TX (Notifica):** Canale per ricevere dati e risposte dalla scheda. > **NOTA IMPORTANTE:** Per modificare (W) o leggere (R) i parametri, è OBBLIGATORIO entrare prima in modalità programmazione inviando il comando `PROG_ON`. --- ## 2. Comandi di Controllo Globali Possono essere inviati in qualsiasi momento. Sono case-insensitive. | Comando | Descrizione | Risposta Attesa | | :--------- | :------------------------------------------------------------- | :------------------------------------- | | `PROG_ON` | Abilita Modalità Programmazione. Ferma l'allarme. | `PROG_MODE: ON` | | `PROG_OFF` | Esce dalla Modalità Programmazione, salva e riabilita allarme. | `PROG_MODE: OFF` | | `RESET` | Spegne uscita allarme e azzera i contatori. | `INFO: Uscita allarme resettata (BT).` | | `CALI` | Attiva/Disattiva modalità diagnostica (Dati RAW veloci). | `--- MODALITA CALIBRAZIONE ATTIVA ---` | | `FACTORY` | Ripristino ai dati di fabbrica (Default). | `FACTORY RESET DONE` | --- ## 3. Configurazione Parametri (Scrittura 'W') **Requisito:** Modalità Programmazione ATTIVA. **Formato:** `W=` (Esempio: `W1=1200`) | ID | Nome | Range | Descrizione | | :------ | :----------------- | :-------- | :------------------------------------------------------------------------- | | **W1** | Soglia Minima | 0 - 2000 | Livello minimo vibrazione per urto. (100-500: Sensibile, 1000-1500: Medio) | | **W2** | Soglia Massima | 0 - 4095 | Filtro superiore disturbi. Default: 4000. | | **W3** | Conteggio Impulsi | 1 - 50 | Numero di impulsi W1 necessari per allarme. Default: 2 o 3. | | **W4** | Finestra Tempo | 10 - 1000 | Ciclo di analisi in ms per impulsi W3. Default: 40. | | **W20** | Gain (Wiper) | 0 - 255 | Potenziometro digitale (0: max, 255: min). | | **W11** | Durata Min Impulso | 0 - 1000 | Parametro avanzato/riservato. | | **W12** | Durata Max Impulso | 0 - 1000 | Parametro avanzato/riservato. | | **WNC** | Normalmente Chiuso | 0 o 1 | Configurazione ingresso (1: NC, 0: NA). Default: 1. | **Risposta tipica:** `OK: Parametro W1 impostato e salvato: 1200` --- ## 4. Lettura Parametri (Lettura 'R') **Formato:** `R` (Esempio: `R1`) | Comando | Risposta Ricevuta | Significato | | :------ | :---------------- | :-------------------------------- | | `R1` | `PARAM: W1=1200` | Restituisce valore Soglia Minima | | `R2` | `PARAM: W2=4000` | Restituisce valore Soglia Massima | | ... | ... | ... | --- ## 5. Messaggi dal Dispositivo (Notifiche TX) ### A. Streaming Dati (Heartbeat) Inviato ogni 500 ms. - **Formato:** `SENSOR:` (Esempio: `SENSOR:2067`) - **Nota:** Indica valore ADC a riposo (ideale ~2067). ### B. Eventi di Allarme - `ALARM: TRIGGERED`: Vibrazione valida rilevata (Soglia W1 per W3 volte). - `ALARM: TAMPER`: Taglio cavi o corto circuito (Segnale fisso 0 o 4095). - `INFO: Allarme resettato automaticamente`: Fine tempo sirena (5s). ### C. Errori Comuni - `ERRORE: I comandi 'W' sono accettati solo in modalità programmazione.` - `ERRORE: ID Sconosciuto` - `ERRORE: Formato comando non valido`