83 lines
3.9 KiB
Markdown
83 lines
3.9 KiB
Markdown
# 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<ID>=<VALORE>` (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<ID>` (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:<valore>` (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`
|