📡 VIRLOC VL08
Documentação técnica completa — Hardware, Protocolo XVM, Configurações, Consultas, BLE, Wi-Fi e mais.
⚙️ Hardware — VIRLOC 08
O VL08 é um rastreador veicular avançado com múltiplas conectividades e ampla flexibilidade de programação via linguagem XVM.
🧩 Modelos de Virloc 08
| Modelo | LoRa | RFID | Bluetooth | Uso |
|---|---|---|---|---|
| VL08 LITE | — | — | BX3105 ou FC41D | Rastreamento básico |
| VL08 FULL | ✅ 915MHz | ✅ 13.56MHz | BX3105 ou FC41D | Telemetria avançada + Mesh |
VQWF.🔌 Entradas e Saídas
Entradas (IN0 a IN4)
| Entrada | Funções | Max |
|---|---|---|
IN0 | Digital, Analógica (0-30V) ou Ignição | 48V |
IN1 | CAN-H, Pulsos ou Digital | 20V |
IN2 | CAN-L, Pulsos ou Digital — compartilhada c/ OUT1 | 20V |
IN3 | RX Serial (COM1 TTL) ou Digital | 8V |
IN4 | Digital — compartilhada c/ OUT0 | 8V |
Saídas (OUT0 e OUT1)
| Saída | Funções | Proteção |
|---|---|---|
OUT0 | Coletor aberto NA — OneWire / i-Button | Polyswitch 400mA |
OUT1 | Coletor aberto NA — TX Serial TTL ou Digital | Polyswitch 400mA + pullup 5K |
Cabos
| Cor | Função |
|---|---|
| 🟫 Marrom | IN0 — Ignição / Analógica |
| 🔴 Vermelho | IN1 — CAN-H / Pulsos |
| 🟠 Laranja | IN2 — CAN-L / Pulsos |
| 🔵 Azul | IN3 — RX Serial |
| ⚪ Branco | IN4 — Digital |
| 🟢 Verde | OUT0 — Saída / OneWire |
| 🟡 Amarelo | OUT1 — TX Serial / Saída |
| ⚫ Preto | GND |
📡 Protocolo XVM — Formato da Mensagem
Os VIRLOCs usam sockets UDP para transmitir mensagens com o protocolo proprietário XVM. Toda mensagem começa com > e termina com <\r\n.
>QGP;ID=1234;#8000;*5C<[CR][LF]
| Parte | Descrição |
|---|---|
>...<[CR][LF] | Início e fim da mensagem (obrigatório) |
QGP | Comando/mensagem |
ID=1234 | ID do dispositivo (4 dígitos alfanuméricos) |
#8000 | Número da mensagem (hex 16-bit) |
*5C | Checksum XOR (hex 8-bit) |
; | Separadores |
Prefixos de comando
| Letra | Tipo | Uso |
|---|---|---|
S | Set | Escrever parâmetros |
Q | Query | Consultar valores |
C | Clear | Zerar parâmetros |
R | Response | Resposta de S, Q e C |
G | Get | Consultar estados internos |
V | Additional | Mensagem adicional (VS, VQ, VR) |
Numeração de mensagens
Virloc → Servidor
#0001 a #7FFF
Servidor → Virloc
#8000 a #FFFF
✅ Checksum
XOR entre todos os caracteres ASCII do > até o último ; (não inclui o *). Resultado em hex 8-bit.
// Cálculo em C
unsigned char chksum = 0;
for (int r = 0; r < strlen(msg); r++) {
chksum ^= msg[r];
}
// chksum contém o valor hex para *XX
# Cálculo em Python
def xvm_checksum(msg: str) -> str:
chk = 0
for ch in msg:
chk ^= ord(ch)
return f"{chk:02X}"
🌐 Comunicação com o Servidor
Ao receber um reporte, o servidor deve enviar um ACK com o mesmo número de mensagem:
// Virloc envia:
>RGP010100010603...;ID=1234;#0087;*4B<
// Servidor confirma:
>ACK;ID=1234;#0087;*XX<
A comunicação pode ser por UDP (principal), Wi-Fi, LoRa Mesh ou Bluetooth.
🔍 Consultas — Referência Rápida
Consultas disponíveis para VL08, VL12 e VC07. Podem ser usadas para compor reportes ou como parâmetros de programação.
QSN — Número de Série
>QSN<
>RSN44K00077_VL10<
Formato do serial: SSLAANNNN
| Campo | Significado |
|---|---|
SS | Semana do ano de fabricação |
L | Modelo (K=VC07, L=VL08, I=VL12, A=VCONE) |
A | Último dígito do ano |
NNNN | Sequencial (0001-9999) |
QVR — Versão de Firmware
>QVR<
>RVR VIRTUALTEC VIRLOC8 BR061 VL8_153B09 FVR153 VR153 FT1C4018,000000
GPSFW:AXN_3.8_3333_16071300,0002,Quectel-L86,1.0 RF22:027.09<
| Campo | Descrição |
|---|---|
VIRLOC8 | Modelo do equipamento |
BR061 | Versão da placa |
VL8_153B09 | Versão de firmware |
GPSFW:... | Info do módulo GPS |
RF22:027.09 | Info do módulo LoRa (VL08 e VC07) |
QTT — Consulta Global
Consulta principal com data/hora, GPS, entradas, tensões.
>QTT<
>RTT140521125208-2352502-046678930012673005F0002 04050711 010 00020422042203951454<
| Campo | Formato | Exemplo |
|---|---|---|
| Data | DDMMAA | 140521 |
| Hora (GMT) | HHMMSS | 125208 |
| Latitude | ±DDDDDDD | -2352502 → -23.52502° |
| Longitude | ±DDDDDDDD | -04667893 → -46.67893° |
| Velocidade | 000-999 km/h | 001 |
| Heading | 000-359° | 267 |
| Fix GPS | 0-9 | 3 = 4+ sat (3D) |
| Entradas | Hex | 5F |
| HDOP | 00-50 | 02 |
| V. Bateria | mV | 0395 |
| V. Alim. | mV | 1454 |
QGP — Posição GPS com data/hora
>QGP<
>RGP140521125234-2352502-046678970012673005F0015<
Contém data/hora, lat, lon, velocidade, heading, fix GPS, entradas (hex) e HDOP. Formato similar ao QTT, porém resumido.
QGV — Estado do GPS
>QGV<
>RGV04061013-2352505-0466789100111501 GT478409 GW2157 080008000800 GM41
p01.74 h01.43 v00.99<
| Campo | Descrição |
|---|---|
04 | Fix: 4 = 3D |
06 | Satélites usados |
10 | Satélites vistos |
13 | Satélites no céu |
p01.74 | PDOP |
h01.43 | HDOP |
v00.99 | VDOP |
QSD — Velocidade
>QSD<
>RSD0035< // 35 km/h
QIN — Entradas Digitais
>QIN<
>RIN10000000<
Bitmap: IN07(IGN) IN06(ALIM) IN05 IN04 IN03 IN02 IN01 IN00
GCH — Estado do Carregador
>GCH<
>GCH2,0000,3288,0016,3724 IMED+0192 CAL000 SET1855 TEMP042 BT+030 X00<
| Campo | Descrição |
|---|---|
TEMP042 | Temperatura: 42°C |
BT+030 | Tensão bateria offset |
IMED+0192 | Corrente medida |
VQWF — Informações do Módulo BT/Wi-Fi
>VQWF<
// BX3105 — Bluetooth Classic:
>VRWF4,215,30,5,0,0,99,X2205600651610,cc:93:4a:21:2e:86,BX310x.2.7.2,000,0<
// FC41D — BLE:
>VRWF4,215,30,5,0,0,99,,e8:47:27:bf:dd:ae,FC41D_VERSION:FC41DAAR03A02.bin,000,1<
Último campo: 0 = BX3105 (Classic) | 1 = FC41D (BLE)
🛠️ Configurações Gerais
🛜 Wi-Fi — Cadastro de Redes
Até 8 redes Wi-Fi (2.4GHz apenas). Cadastro via slots 20 a 27:
>VSWI20,"ssid""password"< // Slot 20
>VSWI21,"ssid""password"< // Slot 21
...
>VSWI27,"ssid""password"< // Slot 27
Consultar rede: >VQWI20< a >VQWI27<
📘 Bluetooth / BLE
Alterar nome do dispositivo
// BLE (FC41D):
>VSWI05,AT+QBLENAME="VIRTEC_VL8_%ID"<
// BT Classic (BX3105):
>VSWI16,AT+SRBTNAME="VIRTEC_VL8_%ID"<
%ID = ID do dispositivo | %SN = Serial do dispositivo
Ligar / Desligar Wi-Fi e Bluetooth
>VSLP_WF1< // Liga
>VSLP_WF0< // Desliga
Reiniciar / Restaurar módulo
>VSWI_INI< // Reinicializar (sem perder config)
>VSWI_DEF< // Restaurar strings e reiniciar
>VSWI_RST< // Factory reset e reiniciar
💤 Sleep (Modo KO)
>VSKOaaaabbbbddddDDDD_GPSp_MDMp_PERpINSp_VO1p_CHGp_SDCp_CANp_DVffff_EVPgggg<
| Parâmetro | Descrição |
|---|---|
aaaa | Tempo (s) para entrar em KO após ignição OFF |
bbbb | Contador decrescente (= aaaa na config) |
dddd | Dispara LP01++ faltando dddd segundos |
DDDD | Tempo (s) acordado sem ignição |
GPS/MDM/INS... | 1 = ligado no KO, 0 = desligado |
EVPgggg | Tempo (s) dormindo (0 = não dorme, 65535 = não acorda por tempo) |
Exemplo:
>VSKO0600060000600120_INS1_CAN1_EVP1800<
// KO após 600s (10min) | Acorda 120s | INS+CAN ligados | Dorme 1800s (30min)
📊 Acelerômetro
3 eixos com medição plana ou rotacional. Consulta de estado:
>QAC<
>RACX0000Y0000Z0068 MA3 MP11 MD94 MA3 XX0000 XY0000 XZ0068
MX0000 MY0000 MZ0068 LX0000 LY0000 LZ0068 HX0000 HY0000 HZ0068<
Configuração de níveis:
>SAC_LVA00_LVB20_LVC40_LVD80< // 4 faixas de sensibilidade
⏳ Tracking e Keep Alive
>STD010020< // Intervalo com ignição LIGADA: 20s
>STD020300< // Intervalo com ignição DESLIGADA: 300s
>STD060060< // Keep alive: 60s
⚡ Limites e Telemetria
// Limites de velocidade (3 faixas)
>SSX080100120< // 80, 100, 120 km/h
// Faixas de RPM
>SSX_RPM0800,1200,1800,2000,2800,9999<
// Motor ocioso (RPM < limite por X segundos)
>SSX_IDL0500,0120< // RPM < 500, tempo 120s
// Referência de velocidade
>SGG_SCT99< // GPS (padrão)
>SGG_SCT04< // CAN ou pulsos
// Bloqueio / Desbloqueio
>SSXP01< // Bloquear
>SSXP00< // Desbloquear
📶 Wi-Fi — Detalhado
Cadastro com retardo de conexão
>VSWI20,"ssid""pass",0000<
>VRWI20,"ssid""pass",0000,50,102,-49<
| Campo | Significado |
|---|---|
50 | Estado: 0=desconectado, 20=esperando, 50=conectado |
102 | Presente por 102s |
-49 | RSSI (dBm) |
🔍 Status de Conexão Wi-Fi
>VQWF_ST<
>VRWF_ST,10,SU:100000000,SC:100000000,JAMhome,d8:30:62:30:25:7f,
192,168,1,19,255,255,254,0,192,168,1,1,LE:0<
| Campo | Descrição |
|---|---|
10 | Link estabelecido |
SU / SC | Sockets ativados / conectados |
JAMhome | Nome do AP conectado |
192,168,1,19 | IP local |
LE:0 | Link Error = 0 (OK) |
Limpar estatísticas Wi-Fi
>VQWF_ST_CLR<
🔔 Eventos e Disparadores Wi-Fi
// Disparadores de socket (0 a 7)
WF30++ // Conectado ao socket 0
WF30-- // Desconectado do socket 0
// Disparador Wi-Fi online
WF20++ // Online Wi-Fi
// Evento: enviar reporte via Wi-Fi
>SED001 IN07++ +- WF0 V1<
// Evento: notificar conexão socket
>SED00 WF30++ +- GF0 V1<
Reinício automático do módulo Wi-Fi
>VSWF4,215,30,5,0,0,99,A5< // Habilitar reset auto
>VSWF4,215,30,5,0,0,99,A6< // Desabilitar reset auto
📘 Bluetooth Classic
Para módulos BX3105 — pareamento via SPP (Serial Port Profile).
- Busque dispositivos Bluetooth no PC/celular
- Localize
VIRTEC_VL8_XXXX - Pareie — não é necessário PIN
Envio de reportes via Bluetooth
>SED000 IN07++ +- BTT V1< // Normal (5 tentativas)
>SED001 IN07++ +- BTT_LO V1< // Baixa prioridade (1 tentativa)
>SED002 IN07++ +- BTT_HI V1< // Alta prioridade (até receber ACK)
🚀 BLE — Bluetooth Low Energy (FC41D)
Módulo FC41D com BLE v5.2 — sem pareamento, funciona com Android, iOS, Windows e Mac.
Comunicação BLE
| Parâmetro | Valor |
|---|---|
| Serviço UUID | 0xFFFF (65535) |
| Característica | 0xFF01 (65281) — escrita + notificação |
| Formato | Comandos XVM iniciando com >, terminando com \r\n |
Passos para conectar via BLE
- Escanear dispositivos BLE próximos
- Localizar
VIRTEC_VL8_XXXX - Conectar ao serviço
0xFFFF - Subscrever notificações no char
0xFF01 - Escrever comandos XVM no char
0xFF01 - Respostas chegam como notificações no mesmo char
BLE Console (Windows)
LS // Listar dispositivos
OPEN #01 // Conectar ao índice #01
SET 65535 // Selecionar serviço 0xFFFF
SUBS 65281 // Subscrever char 0xFF01
WRITE 65281 >QSN // Enviar comando
Modo de inicialização BLE
>VSWI04,AT+QBLEINIT=1< // 1 = Central (scanner)
>VSWI04,AT+QBLEINIT=2< // 2 = Periférico (padrão)
>VSWI04,AT+QBLEINIT=3< // 3 = Periférico (config Wi-Fi via BLE)
📋 Scanner de dispositivos BLE
Disponível a partir do firmware 156B20 (módulo FC41D com FW FC41DAAR03A06+).
Ativar scanner
>VSWI04,AT+QBLEINIT=1< // Modo central
>TCFG91,1< // Ativar scanner (1=sem adv, 2=com adv data)
>TCFG90,0< // Desativar scan Wi-Fi (otimização)
>TCFG92,60< // Kill time: 60s (remove após 60s sem ver)
Cadastrar famílias BLE
>VSWI00_BLE,VIRTEC< // Família 0: dispositivos com "VIRTEC" no nome
>VSWI01_BLE,SENSOR< // Família 1: dispositivos com "SENSOR" no nome
// Com índice fixo na tabela:
>VSWI00_BLE,RFstar,4< // Sempre no slot 4 da lista TAG
🏷️ TAGs BLE
Consultar lista de TAGs
>VQWI00_TAG<
>VRWI00_TAG,VIRTEC_VL8_1285,E8240414DBF4,015,000<
| Campo | Descrição |
|---|---|
VIRTEC_VL8_1285 | Nome do dispositivo |
E8240414DBF4 | MAC Address (12 hex) |
015 | Segundos desde última detecção |
Limpar lista
>VSWI_TAGCLR<
Disparadores BLE
| Disparador | Descrição |
|---|---|
TG00++ a TG31++ | TAG presente nos slots 00-31 |
TG32++ | Nova TAG adicionada à lista |
TG33++ | TAG removida da lista |
BT00++ | Online como BT Central |
BT01++ | Online como BLE Periférico |
Debug BLE
>SDB14< // Abre janela de debug do módulo BLE
📄 Formatos de Reporte (RUV)
RUV00 — Apresentação/Instalação
Reporte de registro inicial contendo serial, versão, etc.
RUV01 — Dados Básicos (Tracking)
Data/hora, posição GPS, velocidade, heading, entradas, evento, hodômetro, tensões.
RUV02 — Final de Viagem
Estatísticas da viagem: distância total, tempo motor, etc.
RUV03 — Dados de Telemetria
Dados CAN, RPM, temperatura, combustível e variáveis de telemetria avançada.
Reporte manual
>QUSxx< // xx = número do formato (00, 01, 02...)
// Exemplo:
>QUS00<
>RUS00,NT003,200422172106,04111337,05F12244,9.20_,BR59,...<
💬 Envio de Comandos via SMS
Cadastrar números autorizados (até 4):
>SMA0 "11999998888" AAA<
>SMA1 "11999997777" AAA<
Enviar comando via SMS (formato XVM completo):
(AAA)>QTT;ID=0000;#8000;*4F<
Modo transparente (sem protocolo XVM):
>SMT03000105020010T120099< // Habilitar
// Depois, envie apenas o comando no corpo do SMS
📐 Esquemáticos de Instalação
VL08 com CAN e sem periférico serial
VL08 com CAN e periférico serial
VL08 com periférico serial e leitura pulsos
VL08 sem periférico serial com leitura pulsos
🔧 Notas de Release — Firmware
159B16 (mais recente)
- Disparadores de conexão BLE:
BT00++(central),BT01++(periférico) - Consulta de strings XVM em reportes UC e AX
- SA 256 nos filtros CAN2
- Consulta GRL por nível de sinal e tempo (LoRa)
158B21
- Automatismo de baudrate Wi-Fi (2 baudrates COM4)
- Envio de GFx via BT Classic e BLE
- Disparadores
WF30++aWF37++(sockets) - Consulta
VQWF_STcom variáveis Wi-Fi - Captura e processamento BLE
- Protocolo OBD2 em CAN2
- Scanner baudrate CAN automático
157B13
- Disparadores
WF30++(sockets 0-7) - Captura de MAC com scanner BLE
- Reporte
SUF(8 reportes extras) - Comando
ID0xpara alterar ID das mensagens
156B20
- Consulta de TAGs BLE habilitada
- 4 famílias configuráveis BLE
- Disparadores
TG00aTG33
Versões anteriores
156B38, 156B30, 156B28, 156B27, 156B26, 156B23, 156B22, 156B20, 156B19..17, 155B10, 154B22, 153B09...
🔔 Eventos (SED)
Os eventos são a base da lógica do VL08. Cada evento combina um disparador, uma condicional, um destino, um formato de reporte e opcionalmente ações.
Estrutura do Comando
>SED001 TD00++ IN07++ ZG0 TT {SSXP11}<
│ │ │ │ │ └─ Ações (entre chaves)
│ │ │ │ └─ Formato do reporte (TT, GP, V0, NN)
│ │ │ └─ Destino (GF0, GR0, TRM, BTT, SGN, MAx, WFx, LOG)
│ │ └─ Condicional (++ = verdadeiro, -- = falso, +- = sem condição)
│ └─ Disparador (++ = borda subida, -- = descida, +- = ambas)
└─ ID do evento (000–255)
Comandos SED
| Comando | Função |
|---|---|
>SEDxxx ...parâmetros...< | Programar evento xxx |
>QEDxxx< | Consultar evento xxx |
>SEDxxxU< | Apagar evento xxx |
>QEPE< | Listar todos os eventos programados |
Capacidade & Velocidade
- Até 255 eventos (índices 0–255)
ED000–ED211→ processados a cada 1 segundoED212–ED255→ processados a cada 100 ms (eventos rápidos)ED050–ED058→ eventos GPRS automáticos (criados na config de APN)ED200–ED202→ eventos GPS/stats/buffer (criados pelo CLN)
Exemplos Práticos
>SED001 IN07++ +- GF0 GP< // Report GPS ao ligar ignição
>SED002 TD01++ +- GF0 V0< // Report periódico via TD01
>SED100 IN00-- IN07++ SGN NN {CIO3}< // Ação em trigger de entrada
>SED203 TT00++ +- SGN NN {CMV}< // Reset acelerômetro a cada segundo
⚡ Disparadores (Triggers)
Os disparadores definem quando um evento deve ser executado. Podem ser combinados com operadores lógicos && (AND) e || (OR).
Tipos de Disparadores
| Tipo | Descrição | Config |
|---|---|---|
INxx | Entradas digitais (IN00–IN07) | >SITxnnnfff< |
TDxx | Tempo/Distância | >STDxxmmmm00000aaaayyyy< |
TT00 | Timer (dispara a cada 1s) | — |
CCxx | Contagem regressiva | >SCCxx mmmm< |
TRxx | Agendamento data/hora | >STRxx hhmmss dd< |
UTxx | User Trigger (captura de valor) | >SUTxx,...< |
ARxx | Faixa de tensão analógica | >SARxxnnaaaabbbb< |
GSxx | Faixa de velocidade | >SGSxxmmmyyy< |
SGxx | Status de flag | — |
MVxx | Acelerômetro | — |
1911/1929 | Recepção CAN packet | — |
RGxx | Status registro GSM | — |
GRxx | Status GPRS | — |
GMxx | Status GPS | — |
WFxx | Conexão socket WiFi | — |
RFxx | Vizinhos LoRa/BLE | — |
UT — User Trigger
Captura valores de consultas e compara com faixa definida:
>SUT01,QTT,33,3,+40,+80< // Captura velocidade do QTT, faixa 40-80
>SUT02,QCT52,7,10,+20,+40< // Captura CT52, faixa 20-40
>SUT00,QCT10,7,10,+40,+80,3,3,20< // Com debounce 3s ON/OFF
TD — Tempo/Distância
>STD01999999990030< // TD01 = a cada 30 segundos
>STD000002000300200005< // TD00 = mudança ângulo 20°, vel. mín 5km/h
CC — Contagem Regressiva
>SED000 IN07-- +- SGN NN {SCC00 10}< // Iniciar 10s ao desligar ignição
>SED001 IN07++ +- SGN NN {SCC00 0}< // Abortar ao religar
>SED002 CC00-- +- GF0 TT< // Enviar report quando zerar
🎯 Destinos
Determinam para onde o reporte do evento será enviado.
Lista de Destinos
| Destino | Descrição |
|---|---|
SGN | Nulo (nenhum reporte enviado) |
GFx | Buffer → servidor no IPx |
GRx | Direto para servidor IPx (sem buffer) |
TRM | Serial COM1 |
BTT | Bluetooth COM3 |
MAx | SMS para telefone x |
WFx | WiFi → servidor IPx |
LOG | LOG1 memória interna |
LG2 | LOG2 memória interna |
LEX | Extended LOG |
Múltiplos Destinos
>SED003 IN07++ +- GF0&&&GF1 GP< // AND: envia para ambos
>SED003 IN07++ +- GF0|||GF1 GP< // OR: primeiro disponível
Modificadores de prioridade: _HI (alta), _LO (baixa), _SL (super baixa)
Configuração de IP/Servidor
// UDP
>VSIPa,xxx.xxx.xxx.xxx.bbbbb.ccccc,UDP,AUXd,RF0,ETH0,CAN0,TRM0,BTT1,GSM0<
// TCP
>VSIPa,xxx.xxx.xxx.xxx.bbbbb.ccccc,SC01,SECF7,TCP0768,0768,ST3,ACK,AUXd,RF1<
// DNS
>VSIPa,1.1.1.1.bbbbb.ccccc,UDP,AUXd<
>VSDNa,dominio.com<
// Consultas
>VQIPa< / >VQDNa<
Configuração de APN
>SCF0000,MX2,APN zap.vivo.com.br,SUP2 vivo vivo< // SIM único
>SCF0000,MX2,APN tim.br,SUP2 tim tim,APN2 claro.com.br< // Dual SIM
>SUP3 claro claro< // Credenciais SIM2
// Consultas
>QISF< // APN configurada
>QUP2< // Usuário/senha
📊 Variáveis (CT / SH / GVS)
CT — Contadores Numéricos
32-bit unsigned (0–4.294.967.295). VL08: 192 CTs (0–95, 100–195).
| Comando | Função |
|---|---|
>SCTxx value< | Definir valor do CT |
>QCTxx< | Consultar CT (decimal) |
>QCTxxHEX< | Consultar CT (hexadecimal) |
>QCTaaabbb< | Consultar faixa |
>CCTxx< | Zerar CT |
>PCTxx< | Iniciar contagem |
>TCTxx< | Parar contagem |
>XCTxx< | Contagem exclusiva (para os demais 0–47) |
Operações Matemáticas em Eventos
{SCT25 VCT08*1000} // CT25 = CT08 × 1000
{SCT25 VCT25/VCT08} // CT25 = CT25 ÷ CT08
{SCT25 VCT25+VCT08-10} // CT25 = CT25 + CT08 - 10
// Comparações (VL8/VC7/VL12)
{GEQVCT01VCT02} // Se CT01 == CT02 → executa ações seguintes
{GGRVCT01VCT02} // Se CT01 > CT02 → executa ações seguintes
{GSLVCT01VCT02} // Se CT01 < CT02 → executa ações seguintes
SH — Flags (Variáveis Binárias)
VL08: 32 flags (0–31). Triggers: SGxx++ (flag=1), SGxx-- (flag=0).
| Comando | Função |
|---|---|
>SSHxxy< | Definir flag xx = y (0 ou 1) |
>QSHxx< | Consultar flag |
>QSHH< | Consultar todas (bitmap hex) |
GVS — Variáveis Estatísticas
| Comando | Dado |
|---|---|
>GVS00< / >GVS00K< | Odômetro (metros / km) |
>GVS01< | Velocidade máxima |
>GVS02< | Aceleração GPS máxima (+) |
>GVS03< | Frenagem GPS máxima (−) |
>GVSxx_CLR< | Limpar variável |
🚗 CAN Bus
Habilitar CAN
>VS19_ENA0250,0< // CAN1: baudrate 250kbps, modo 0 (escuta)
>VS29_ENA0250,0< // CAN2 (somente VL8)
>VS19_ENA0< // Desabilitar CAN1
>VS29_ENA0< // Desabilitar CAN2
Modos: 0=Escuta, 1=Normal, 5=Listagem PGN (29-bit), 6=PGN silencioso, 7=Listagem 11-bit, 8=11-bit silencioso
Sniffing de PGN
>VS19_ENA0250,5< // Habilitar modo listing PGN
>CPG< // Limpar lista PGN
>GPG0,99< // Obter lista de PGNs capturados
Filtros de Captura CAN1
Até 25 filtros, cada um com 4 parâmetros de captura:
>VS1901,PGN,SA,bits,CT,startByte,len,MASK,mode,order,multiplier,...<
// Exemplo: Capturar RPM e velocidade do PGN 61444
>VS1901,61444,000,29,01,1,1,000000FF,0,0,1000,02,2,1,000000FF,0,0,1000,...<
CAN2 (VL8): até 13 filtros com >VS2901,...<
Operações Matemáticas CAN
>VS19xx_MAT,-40x5,+10/4,L10H50,x100L0H100<
// Operadores: x=multiplicar, /=dividir, +=somar, -=subtrair
// L=filtro mínimo, H=filtro máximo
Triggers de Recepção CAN
| Trigger | CAN | Descrição |
|---|---|---|
1911++/-- | CAN1 | Pacote 11-bit recebido / timeout 5s |
1929++/-- | CAN1 | Pacote 29-bit recebido / timeout 5s |
1912++/-- | CAN2 | Pacote 11-bit (somente VL8) |
1930++/-- | CAN2 | Pacote 29-bit (somente VL8) |
🔧 OBD2
Configuração OBD2
>VOBD_REQ1< // Habilitar transmissão OBD2
>VOBD_ENA1,166< // Habilitar protocolo, max PID=166
>VOBD12,1< // Habilitar PID 12, frequência 100ms
>VOBD13< // Consultar config do PID 13
>VOBD_ASK_PID< // Solicitar PIDs disponíveis do veículo
>VOBD_PIDxxx< // Mapa de disponibilidade de PIDs
>VOBD_ASK_VIN< // Solicitar VIN do veículo
>VOBD_VIN< // Obter resposta VIN
Captura OBD2 via VS19/VS29
// CAN1
>VS1901,02024,013,11,21,4,1,000000FF,0,2,1000< // PGN 2024, PID 13, modo OBDII
// CAN2 (FW 158B25+)
>VS2900,02024,51,11,110,4,1,000000FF,0,1,1000<
🐛 Modos de Debug (SDB)
Ativa saída de depuração no XVM Terminal para diagnóstico.
| Comando | Modo |
|---|---|
>SDB00< | Desabilitar debug |
>SDB08< | CAN1 — apenas filtros criados |
>SDB09< | CAN1 — completo (todo tráfego) |
>SDB09_PGNxxxxx< | CAN1 — PGN específico |
>SDB10< | Serial TTL (COM1) |
>SDB11< | Modem celular |
>SDB13< | GPS |
>SDB14< | Bluetooth / WiFi |
>SDB17< | Acelerômetro |
>SDB21< | Disparo de eventos |
>SDB29< | CAN2 (somente VL8) |
🔍 Consultas Estendidas
Consultas adicionais não cobertas nas sessões básicas.
GPS & Movimento
| Consulta | Dado |
|---|---|
>QGPD< | Posição GPS com valores decimais |
>QEV< | Posição com semana/segundos GPS |
>QAL< | Altitude (metros) |
>QAC< / >QACx< | Aceleração (delta velocidade) |
>QDM< | Distância percorrida (km) |
>QMS< | Velocidade máxima |
>QAS< | Velocidade média |
>QTM< | Tempo em movimento (segundos) |
>QIM< | Hora início movimento |
>QEM< | Hora fim movimento |
Hardware & Rede
| Consulta | Dado |
|---|---|
>GMV< | Acelerômetro 3 eixos (V±xxxx X±xxxx Y±xxxx Z±xxxx) |
>QAD< / >QADxx< | Entradas analógicas (tensão) |
>QG2< | Status modem 2G/3G (sinal, LAC, CellID) |
>QG4< | Status LTE CAT-M1 (banda, registro) |
>QEN12< | SIM CCID (ICCID) |
>QEN11< | IMEI do modem |
>QVP< | Status do SIM (ativo, bandas) |
Buffer & Bateria
| Consulta | Dado |
|---|---|
>GGFP< | Ponteiros FIFO/LIFO dos buffers (16 sockets) |
>GFFP< | Ponteiros LEX e LoRa |
>SBM60< | Teste de bateria (60 segundos) |
>QBM< | Resultado do teste (tensão, diferencial) |
📜 Carregamento de Scripts
Procedimento
- Abrir XVM Terminal (baudrate: 115200 para VL8/VC7/VL12)
- Conectar via porta COM correta
- Testar comunicação com
QSN<>QVR - (Opcional) Limpar configuração:
>CLN0000< - Clicar em "Embarcar Script" → selecionar arquivo
.txtou.xvm - Aguardar "Programação enviada com sucesso!"
Scripts Padrão
| Modelo | Script Principal | CAN J1939 | CAN OBD2 |
|---|---|---|---|
| VL08 | vl08_conf_newtec_v1.5.xvm | vl08_can_j1939.xvm | vl08_can_obd2.xvm |
| VC07 | vc07_versão_v1.0.xvm | Mesmas libs do VL08 | |
| VL12 | vl12_conf_newtec_v1.3.xvm | Mesmas libs do VL08 | |
| VL06 | vl06_conf_newtec_v1.3.xvm | vl06_can_j1939.xvm | — |
🎬 Vídeos Técnicos
Vídeos oficiais da Newtec e Akroz sobre o VL08 e ferramentas relacionadas.
🔌 Ligações e Bancada
▲ Ligações físicas VL8 — Newtec Tecnologia
📜 Scripts
Apresentação script padrão
Carregando script via cabo
Carregando script BT
🚗 CAN / OBD2
Configurador OBD2 Newtec
Rede CAN por indução — Ivan Soares
🔧 Firmware & ST-Link
Tutorial de atualização de firmware — Virlocs
ST-Link — Ligações
ST-Link — Carregando firmware
VIRLOC VL08 — Documentação técnica
Fonte: wiki.newtectelemetria.com.br | Atualizado: Fev 2026