Skip to main content

Case Study: Sessione di Debug Live S21L

Questa pagina documenta una sessione di monitoraggio reale di un dispositivo S21L, catturando il flusso completo di comunicazione dall'accensione al reporting delle posizioni.


πŸ“‹ Informazioni Sessione​

CampoValore
Data2025-12-28, 10:21 - 10:24
Device ID19176527895
ProtocolloS21L (Huabao 4G)
Porta5021

πŸ”Œ Flusso Comunicazione Osservato​


πŸ“¦ Pacchetti Catturati​

1. Autenticazione (0x0102)​

Ricevuto dal Device:

0102 000C 019176527895 02E9 303139313736353237383935 B1
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ └── Token ASCII └── Checksum
β”‚ β”‚ β”‚ └── Sequence: 745
β”‚ β”‚ └── Device ID (BCD): 19176527895
β”‚ └── Lunghezza: 12 bytes
└── Tipo: AUTH

Risposta Server:

7E 8001 0005 019176527895 0000 02E9 0102 00 35 7E
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── Delimitatore
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── Checksum
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── Result: 0 = SUCCESS
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── Echo Type originale
β”‚ β”‚ β”‚ β”‚ β”‚ └── Echo Sequence
β”‚ β”‚ β”‚ β”‚ └── Padding
β”‚ β”‚ β”‚ └── Device ID
β”‚ β”‚ └── Lunghezza
β”‚ └── Tipo: GENERAL_RESPONSE
└── Delimitatore

2. Batch Posizioni (0x0704)​

Payload Hex Completo:

0704 0034 019176527895 02EA 0001 01 002F 
0001 00000000 00000042 028BD046 00B8BF0F 0000 0000 0000
251228172202
0104 00000000
3001 19
3101 07
E101 60
EA02 0002 A5

Decodifica:

CampoHexValore
Tipo0704BATCH
Count00011 posizione
Alarm Flags00000000Nessun allarme
Status00000042GPS Valid, Bit status
Latitude028BD04642.717254Β°
Longitude00B8BF0F12.107535Β°
Altitude00000 m
Speed00000 km/h
Timestamp2512281722022025-12-28 17:22:02

Estensioni TLV:

TagLenValueSignificato
010400000000Odometer: 0 km
300119RSSI: 25
310107Satelliti: 7
E10160Battery Level: 96%
EA020002Event Flag

⚠️ Allarme Rilevato: Il decoder ha segnalato TAMPERING (apertura case)


3. Location Report (0x0200)​

Esempio Posizione #751:

0200 002F 019176527895 02EF 
00000000 00000042
028BCF33 00B8C028
00CB 0000 0000
251228172314
0104 00000000
3001 19
3101 07
E101 60
EA02 0002 7A

Risultato Decodificato:

CampoValore
πŸ“ Latitude42.716979Β°
πŸ“ Longitude12.107816Β°
πŸ”οΈ Altitude203 m
πŸš— Speed0 km/h
πŸ“Ά RSSI96
πŸ›°οΈ Satelliti7
πŸ”‹ Battery64.49V
⚑ IgnitionOFF
βœ… Validtrue

πŸ“Š Analisi Comportamento​

Intervallo di Reporting​

09:22:07 β†’ 09:22:12 β†’ 09:22:32 β†’ 09:23:07 β†’ 09:23:13
5s 20s 35s 6s

L'intervallo varia tra 5-35 secondi, probabilmente configurato per ottimizzare batteria/dati.

Variazione GPS​

TimestampLatLonAlt
17:22:0242.71725412.1075350
17:22:3342.71609312.1080157
17:23:0742.71679712.107875162
17:23:1442.71697912.107816203

La variazione di altitudine (0 β†’ 203m) indica che il GPS sta ancora acquisendo un fix stabile.

Stato Batteria​

  • Veicolo: 61-64V (range normale per veicolo commerciale)
  • Backup: 96% (dispositivo completamente carico)

πŸ› οΈ Comandi Debug Utilizzati​

# Monitoraggio real-time
docker logs -f decoder 2>&1 | grep -i "S21L"

# Ultimi 30 secondi
docker logs decoder --since 30s 2>&1 | grep -i "S21L"

# Filtra per device specifico
docker logs decoder 2>&1 | grep "19176527895"

βœ… Conclusioni​

  1. Handshake corretto: AUTH β†’ ACK funziona come da specifica
  2. Batch funzionante: Il device invia posizioni accumulate all'accensione
  3. Reporting stabile: Posizioni inviate regolarmente con ACK
  4. Estensioni TLV: Batteria, RSSI, Satelliti correttamente decodificati
  5. Allarmi: Sistema di allarme TAMPERING rilevato e loggato