Documentacao tecnica, troubleshooting e FAQ do sistema de rastreamento BLE
Tente buscar com outras palavras-chave
As tags BLE transmitem uma chave publica via Bluetooth Low Energy. Quando um iPhone (ou iPad/Mac) passa proximo, ele:
E um servidor Node.js que roda no Mac Mini. Ele:
serial -> chave publica + privada)E um container Docker que simula um dispositivo Apple para consultar os servidores FindMy sem precisar de um Mac real com iCloud. Ele usa o container anisette para gerar tokens de autenticacao Apple.
O payload tem 31 bytes:
Apple = 0x4C00)E um byte de 8 bits que acompanha o payload:
00=full, 01=medium, 10=low, 11=critical)1=tag reporta bateria)Este byte e encriptado junto com a localizacao e retorna quando decriptamos o relatorio. Estamos testando quais bits passam de forma confiavel pela rede Apple.
A precisao depende de:
Valores tipicos:
Verificar em ordem:
/v1/tags/SERIAL/positions/latest — se retornar "Tag not found", a chave nao esta no sistemaAs causas mais provaveis:
Sim, por congestionamento RF:
Solucao: Aumentar intervalo de advertising ou separar tags em caixas menores.
Nao.
Possiveis causas:
Use a funcao "Ver Raw" no mapa para comparar os pontos brutos vs o centroid filtrado.
Analise empirica do nosso sistema mostrou:
Fix planejado: Adicionar watchdog timer no firmware (reinicia automaticamente apos crash).
192KB, RAM: 24KBmalloc() sem free() a cada rotacao de chave. Com 1 chave apenas (producao atual), nao e problema.O nRF52810 tem um conversor DC-DC interno que e mais eficiente que o regulador LDO padrao. Com DCDC habilitado, o consumo em modo ativo cai ~20-30%, estendendo a vida da bateria. Nosso firmware de producao ja usa DCDC.
O cache do proxy atualiza automaticamente a cada 10 minutos. Para forcar:
POST /v1/cache/refreshlotes_1502_full_keys.json)pkill + nohup node findmy-proxy.jsclient-serials.json com o novo lote/clienteGET /v1/tags/{serial}/positions/latestGET /v1/tags/{serial}/historyGET /v1/tags/{serial}/positions/compareGET http://host:3005/api/tag/{serial} (header X-API-Key)findmy-proxy roda nativo (fora do Docker) na porta 3001.Estamos testando. O Status Byte (byte 6 do advertisement) tem 5 bits potencialmente utilizaveis (bits 4-0). Se passarem pela rede Apple sem modificacao, podemos encodar:
Os testes estao em andamento — acessar /test-bits.html para acompanhar.
Key rotation e trocar a chave publica que a tag transmite periodicamente. Em teoria, pode-se encodar dados escolhendo QUAL chave transmitir (ex: chave 3 = temperatura 10-15C).
Depende do resultado dos testes: