O CloudBox oferece vários métodos para os usuários acessarem e gerenciarem arquivos de backup, garantindo a integridade dos dados durante os eventos de corrida. Os arquivos de backup são essenciais para armazenar dados de passagens, especialmente nos casos em que as conexões de rede podem ser perdidas ou quando é necessária uma análise pós-evento. Você pode recuperar dados de backup por meio de métodos como pen drive USB, link de download do navegador ou usando o recurso Rewind. Além disso, cada arquivo de backup é salvo em formato .txt e nomeado usando um carimbo de data/hora para ajudar a identificar quando o backup foi criado.
Este artigo abordará as diferentes maneiras de acessar os arquivos de backup e fornecerá um exemplo de código para analisar os arquivos de backup .txt.
Formato do arquivo de backup
Todos os arquivos de backup na CloudBox são salvos em formato .txt, com o nome do arquivo consistindo em um carimbo de data/hora que reflete o tempo de criação. O formato do nome do arquivo é:
YYYYMMDD-HHMMSS.txtPor exemplo, um arquivo de backup criado em 18 de setembro de 2024, às 09:36:34 seria nomeado:
20240918-093634.txtConteúdo do arquivo de backup
Cada arquivo contém entradas formatadas em JSON, semelhantes aos dados transmitidos durante uma conexão de soquete TCP. Essas entradas representam passagens individuais, com informações como a leitura da etiqueta RFID, carimbo de data/hora, antena usada, valor RSSI e muito mais.
Exemplo de entrada JSON de um arquivo de backup:
{
"epc": "3D2E372D39293A313C313734",
"timestamp": "2024-09-18;09:36:34.098",
"seenCount": 1,
"antenna": 1,
"rssi": -58,
"passingNumber": 1,
"tagStr": "MC00169",
"latitude": null,
"longitude": null,
"chksum": "6a0f5"
}Cada passagem é armazenada sequencialmente, com todos os dados de tempo relevantes capturados.
1. Acessando backups via pen drive USB
Uma das maneiras mais fáceis de recuperar seus backups do CloudBox é conectando um pen drive USB ao dispositivo. O CloudBox detecta automaticamente o pen drive USB e transfere os arquivos de backup para ele. O sistema notificará você sobre o status da conexão e se o download foi bem-sucedido ou se ocorreu um erro.
Como funciona:
- Quando um pen drive USB é conectado ao CloudBox, o sistema detecta o dispositivo e inicia o processo de download do backup.
- O usuário é notificado sobre a detecção da unidade, o progresso do download e quaisquer erros que possam ocorrer.
- Durante esse processo, o CloudBox emitirá uma sequência de luzes — piscando a cada 500 ms por 2 segundos — para indicar que a unidade USB foi detectada.
Considerações importantes:
- Formato da unidade USB: A unidade USB deve ser formatada em MS-DOS (FAT32). As unidades com outros formatos podem não ser detetadas pela CloudBox.
- Nome da unidade: o nome da unidade deve usar caracteres padrão (por exemplo,
PEN_BACKUPS) para garantir a compatibilidade. - Notificações: Se você estiver conectado à interface do CloudBox, receberá notificações indicando se a conexão e o download foram bem-sucedidos ou se ocorreram erros.
2. Baixar backups por meio do link do navegador
Outra maneira conveniente de acessar os backups é usando um link de download direto em um navegador da web. Você pode baixar todos os arquivos de backup em formato compactado acessando o seguinte link:
http://{clbx_ip_address}:2999/downloadPor exemplo, se o endereço IP do CloudBox for 192.168.1.11, o link para baixar os backups será:
http://192.168.1.11:2999/downloadComo funciona:
- Abra um navegador e navegue até o link de download usando o endereço IP Ethernet do CloudBox.
- Você pode baixar todos os arquivos de backup armazenados no CloudBox em um formato compactado, facilitando a transferência e o arquivamento dos dados.
Considerações importantes:
- A CloudBox deve estar conectada à mesma rede que o seu computador (seja via Ethernet, Wi-Fi na mesma sub-rede ou Ponto de acesso Wi-Fi).
- Certifique-se de manter o armazenamento de backup limpo, baixando e excluindo arquivos antigos periodicamente para evitar problemas de armazenamento.
3. Recurso de retrocesso para recuperar passagens
O recurso Rewind permite recuperar dados de passagens específicas entre um determinado intervalo de tempo. Esse recurso é especialmente útil para analisar dados de corrida após o evento, pois fornece um fluxo de passagens anteriores para clientes TCP conectados.
Como funciona:
- O recurso Rewind retorna um fluxo de dados de passagens para clientes TCP conectados.
- Você pode especificar um startTimestamp e endTimestamp para limitar os dados a um intervalo de tempo específico. Se ambos estiverem definidos como
null, o CloudBox retornará todas as passagens disponíveis nos arquivos de backup.
Formato do Comando:
- Comando de Retroceder: REWIND;startTimestamp;endTimestamp Exemplo de formato para timestamps: REWIND;2024-09-18 09:30:00;2024-09-18 10:30:00
- startTimestamp e endTimestamp devem estar no formato
YYYY-MM-DD HH:mm:ss. Se nenhum carimbo de data/hora for fornecido, o sistema retornará todos os dados disponíveis do backup.
Considerações importantes:
- O recurso de retroceder pode ser usado durante uma sessão de cronometragem ativa (
START_MODE). Isso permite que você acesse dados anteriores enquanto ainda registra novas passagens em tempo real. - Tenha em mente que, se nenhum intervalo de tempo específico for fornecido, a recuperação de uma grande quantidade de dados pode levar tempo, especialmente se o armazenamento de backup não for limpo regularmente.
Notificações e Indicações por LED
O CloudBox oferece vários mecanismos de feedback ao interagir com os backups:
- Detecção de USB: A CloudBox piscará seu LED a cada 500 ms por 2 segundos quando uma unidade USB for detectada, indicando que o processo de download de backup está começando.
- Notificações do usuário: Se você estiver conectado ao CloudBox por meio da interface da web, receberá notificações quando: * A unidade USB estiver conectada. * O download do backup for concluído com êxito. * Ocorrerem erros durante o processo de download.
Essas notificações garantem que os usuários estejam cientes do status do backup e possam reagir, se necessário.
Analisando arquivos de backup
Aqui está um exemplo de como você pode ler e analisar os arquivos de backup usando Python, C# e Node.js.
Exemplo em Python:
import json
# Path to the backup file
backup_file = "20240918-093634.txt"
# Open the backup file and parse each line as a JSON object
with open(backup_file, "r") as file:
for line in file:
passing_data = json.loads(line)
print(f"Tag: {passing_data['epc']}, Timestamp: {passing_data['timestamp']}, Antenna: {passing_data['antenna']}")Exemplo em C#:
using System;
using System.IO;
using Newtonsoft.Json.Linq;
class BackupAnalysis
{
static void Main()
{
string backupFilePath = "20240918-093634.txt";
foreach (string line in File.ReadLines(backupFilePath))
{
JObject passingData = JObject.Parse(line);
Console.WriteLine($"Tag: {passingData["epc"]}, Timestamp: {passingData["timestamp"]}, Antenna: {passingData["antenna"]}");
}
}
}Exemplo de Node.js:
const fs = require('fs');
// Path to the backup file
const backupFile = '20240918-093634.txt';
// Read and parse each line of the backup file
fs.readFile(backupFile, 'utf8', (err, data) => {
if (err) throw err;
data.split('\n').forEach(line => {
if (line) {
const passingData = JSON.parse(line);
console.log(`Tag: ${passingData.epc}, Timestamp: ${passingData.timestamp}, Antenna: ${passingData.antenna}`);
}
});
});Esses exemplos mostram como você pode analisar as entradas JSON nos arquivos de backup e extrair informações importantes como epc (tag RFID), timestamp e antenna.
Resumo
O CloudBox oferece várias maneiras de acessar e gerenciar arquivos de backup, incluindo o uso de um pen drive USB, o download por meio de um link do navegador ou o uso do recurso Rewind para recuperação de passagens específicas. Cada arquivo de backup é salvo em formato .txt com um nome com carimbo de data/hora, e as entradas dentro do arquivo são armazenadas no formato JSON, representando cada passagem. O download e a análise regulares desses backups garantem que os dados da corrida sejam armazenados com segurança e facilmente acessíveis para análise pós-evento.