Pular para o conteúdo principal

Gerenciamento de Armazém por Voz em Hardware de Borda: Construção, Implantação e Resultados Medidos

Aviso de uso

Este é um auxílio ao operador, não um livro de registro de inventário certificado. A REST API não possui fila offline: solicitações enviadas durante uma falha de rede ou serviço são rejeitadas e não são reproduzidas após a recuperação.

O que esta solução faz​

Um operador na doca de recebimento diz "dar entrada em 10 caixas de maçãs". O SenseCAP Watcher no rack ouve, e um registro de entrada de estoque é gravado no banco de dados do armazém em um gateway reComputer no mesmo prédio. Pergunte "quantas maçãs restam" e a resposta é falada de volta. Sem digitação, sem menus, as mãos permanecem nos produtos.

Feito para locais onde as transações acontecem longe de um teclado: docas de recebimento, corredores de racks, cabines de empilhadeiras e pequenos armazéns que nunca adotaram um WMS porque o treinamento custava mais do que economizava.

A fala e o banco de dados são conectados por meio do MCP (Model Context Protocol). O sistema de armazém publica cada operação de inventário como uma ferramenta MCP, e o agente de voz no Watcher se conecta a esse endpoint como um cliente MCP. Adicionar uma ação de voz significa adicionar uma ferramenta, sem retreinamento do modelo de fala; integrar um ERP/WMS existente significa mapear sua interface de dados para o mesmo conjunto de ferramentas.

Um operador registra uma transação de armazém falando com um SenseCAP Watcher montado no rack
  • Watcher funciona assim que é montado

    O SenseCAP Watcher carrega o firmware do agente de voz e de reconhecimento facial. Grave o firmware, monte-o na estação e os operadores podem registrar estoque por voz com a identidade verificada.

  • Os dados permanecem no local

    O banco de dados do armazém é executado em um gateway reComputer no local. O Nível 3 também mantém o reconhecimento, o LLM e a síntese nas instalações e não chama nenhum serviço externo após a implantação.

  • Código aberto, conecta ao seu ERP/WMS

    O sistema de armazém é de código aberto. Conectar um sistema existente significa mapear sua interface de dados para as mesmas ferramentas MCP, na ordem de algumas dezenas de linhas de código de mapeamento.

  • Novos comandos sem retreinamento

    Adicionar uma ação de voz significa registrar uma ferramenta MCP. O firmware do Watcher permanece inalterado.

O que o dashboard mostra​

Após uma fala, o resultado aparece no dashboard do gateway. A página de inventário lista a quantidade atual e o último movimento de cada item:

Dashboard do armazém: estoque atual por item, último movimento e status

A página de transações lista cada entrada e saída de estoque com número de lote, operador e origem (voz ou REST):

Histórico de transações: número de lote, quantidade, operador e origem por registro

A lista de operadores é mantida na página de usuários, e a verificação facial confere com ela:

Página de usuários: a lista de operadores e permissões que a verificação facial utiliza como referência

De que hardware você precisa​

Três funções de dispositivo. Quais você compra depende de onde os dados e a IA de voz podem ser executados.

① Terminal de voz: SenseCAP Watcher. Necessário em todos os níveis, um por estação de trabalho. Ele possui dois processadores: o ESP32 executa o agente de voz Xiaozhi (palavra de ativação, gravação, streaming, cliente MCP), e o Himax WE2 executa o firmware de reconhecimento facial para verificação do operador.

② Gateway de borda. Executa o sistema de armazém e, nos níveis auto-hospedados, também o endpoint MCP. Ele determina se o reconhecimento facial pode ser movido para o gateway e quantas estações um host pode atender.

③ Host de IA local. Necessário apenas quando o reconhecimento, o LLM e a síntese precisam permanecer todos nas instalações.

ModeloFunção neste designQuando escolhê-lo
SenseCAP WatcherSenseCAP WatcherTerminal de voz, cliente MCP, reconhecimento facial no dispositivoSempre, um por estação
reComputer R1125-10reComputer R1125-10Gateway de borda executando o sistema de armazémDados de inventário permanecem no local, até 20 operadores, reconhecimento facial no Watcher
reComputer Industrial R2135-12reComputer Industrial R2135-12Gateway de borda com um acelerador Hailo-8Mais de 20 operadores, ou quando é necessária detecção de vivacidade
reComputer J4012reComputer J4012Um único equipamento executando o sistema de armazém, reconhecimento facial e um serviço de voz auto-hospedado2–3 estações compartilham um host
reComputer Robotics J5011reComputer Robotics J5011LLM e voz locais, sem chamadas a serviços externosA instalação precisa permanecer offline

O Watcher armazena no máximo 20 modelos faciais no dispositivo. Acima de 20 operadores, o reconhecimento precisa ser movido para o gateway: até 20, escolha o R1125; acima de 20, escolha o R2135 com Hailo-8.

Outros pré-requisitos: o Watcher conecta-se apenas a Wi-Fi de 2,4 GHz (um SSID somente 5 GHz não aparece na varredura de provisionamento), e o gateway deve estar na mesma LAN. A pré-verificação de implantação do Nível 3 verifica o runtime de contêiner NVIDIA e cerca de 10 GB de espaço livre em disco (modelos de fala mais arquivos do mecanismo LLM).

Limites de Seleção Negativa​

  • Necessidades de LLM totalmente offline: Se estiver operando em um armazém classificado ou isolado em air gap que exija interação com LLM offline, evite níveis dependentes de nuvem; selecione o Nível 3 com reComputer J4012 (Orin NX 16GB).
  • Fila em caso de falha de rede: A REST API do armazém atualmente não possui uma fila offline no servidor; os clientes devem armazenar transações localmente em buffer se operarem sobre conexão sem fio intermitente.

Como implantar no local​

Três etapas: montar e gravar o Watcher, iniciar os containers no gateway, conectar o caminho de voz.

Etapa 1: montar o Watcher​

Monte-o na estação de trabalho

Monte o Watcher na doca de recebimento, no corredor de racks ou na cabine da empilhadeira, onde os operadores realmente registram a entrada e saída de estoque. Se for montado no escritório, obriga os operadores a lembrar as quantidades e caminhar até lá para inseri-las.

A gravação é feita via USB-C; o dispositivo é enumerado como uma ponte WCH USB-UART (0x1a86:0x55d2). Duas imagens de firmware, uma por processador: o agente de voz Xiaozhi vai no ESP32, o firmware de reconhecimento facial no Himax WE2.

Etapa 2: iniciar o gateway​

O sistema de armazém é um serviço Docker. As etapas de implantação variam por nível; escolha uma configuração na página de design de referência e baixe o pacote de aplicativo correspondente.


A implantação pode ser executada via SSH para o gateway ou diretamente no gateway. O estoque existente pode ser importado na primeira inicialização com o modelo Excel fornecido.

Após a implantação, o dashboard fica em http://GATEWAY_IP:2125, e o health check do container é GET /health na mesma porta.

Etapa 3: conectar o caminho de voz​

Trial, Tier 1 e Tier 2A usam uma URL de endpoint MCP emitida pela SenseCraft. Os níveis 2B e 3 fazem o self-host do endpoint MCP na porta 18004 e do servidor de voz na 18000 (console de administração em 18003). O nível 3 adiciona EdgeLLM em 8000 e OpenVoiceStream em 8621, e não chama nenhum serviço externo após a implantação.

Interfaces disponíveis​

Duas superfícies de integração:

Endpoint MCP (porta 18004): para o lado de voz. Tudo o que o agente pode fazer é uma ferramenta neste endpoint. Estender o conjunto de comandos significa registrar outra ferramenta; o firmware do Watcher permanece inalterado. Integrar um ERP/WMS existente significa implementar a interface de dados do seu sistema contra as mesmas ferramentas, na ordem de algumas dezenas de linhas de código de mapeamento. Variações na formulação são associadas de forma aproximada ao comando registrado mais próximo em vez de serem rejeitadas.

REST API (porta 2125): para outros sistemas. Lista de inventário, histórico de transações e status do agente estão disponíveis via HTTP.

InterfaceEndpoint / portaPayload
Dashboard + REST APIhttp://GATEWAY_IP:2125Lista de inventário, histórico de transações, status de conexão do agente
Health checkhttp://GATEWAY_IP:2125/health200 assim que o serviço de armazém estiver pronto
Endpoint MCP18004Operações de inventário publicadas como ferramentas MCP
Banco de dados de inventárioSQLite em /data/warehouse.db no volume warehouse_dataMontar ou exportar para um job externo de BI/ERP
Servidor de vozWebSocket 18000, console de administração 18003Fluxo de áudio do Watcher (níveis 2B e 3)
IA on-premise8000 EdgeLLM (compatível com OpenAI), 8621 OpenVoiceStreamChat completions; reconhecimento, síntese e voiceprint (nível 3)

O acesso é limitado por função de chave de API e por tenant. Uma chave VIEW em um endpoint de escrita retorna 403; leituras e escritas entre tenants retornam 403. Ambos foram medidos; consulte "Performance e dados medidos".

Performance e dados medidos​


Tempos de execução e parâmetros principais​

ImplantaçãoLLMTTS / ASRRede
Nuvem SenseCraftHospedado pela SeeedHospedado pela SeeedRequer Internet
Sua própria APIQualquer endpoint compatível com OpenAI (por exemplo, DeepSeek)OpenAI · Azure Speech · Volcano Engine · Alibaba Cloud · Edge TTSRequer Internet
Jetson localEdgeLLM: Qwen3.5-4B, profile qwen35-4b-gdn-mtp, mecanismo 8kOpenVoiceStream (reconhecimento + síntese + voiceprint)Apenas LAN

As imagens locais são construídas para JetPack 6.2 / TensorRT 10.3.

  • BUSINESS_RATE_LIMIT: limite de taxa para endpoints de saída de estoque e outros endpoints de negócio, padrão 600 requisições/minuto, contado por identidade autenticada (chave de API / sessão) e por IP de origem apenas quando nenhuma identidade estiver disponível. Os limites anti-enumeração em registro, recuperação de senha e verificação de dispositivo contam por IP.
  • Número de lote batch_no: formato YYYYMMDD-NNN, alocado de forma atômica, portanto gravações de entrada de estoque concorrentes são serializadas.

Medições da Warehouse REST API​

Dispositivo: reComputer série R2000 (arm64) executando o container do sistema de armazém. Condições: 60 s por nível, 1 armazém, 50 materiais semeados, backend SQLite; as requisições trafegam por um link WAN Tailscale.

OperaçãoNívelResultado
GET /api/materials/listconcorrência 10p95 404 ms, p99 2,7 s, 0% de erros
GET /api/materials/listconcorrência 20p95 824 ms, p99 5,3 s, 0% de erros
GET /api/materials/listconcorrência 50p95 5,5 s, p99 8,7 s, 0% de erros
POST /api/materials/stock-inconcorrência 5 / 10 / 200% de erros em todos os três níveis; 1481 lotes criados, 0 números de lote duplicados; p95 634 ms – 4,96 s
POST /api/materials/stock-outconcorrência 10 / 20 / 50, duas chaves de API compartilhando um IP de saída0 HTTP 429 dentro do padrão de 600 requisições/minuto; cerca de 5–6 requisições/s por identidade
Interrupção de serviçocerca de 10 req/s de tráfego de consulta, 34 s de interrupção a partir de um restart de container100% das requisições falham durante a interrupção, sem enfileiramento ou repetição; recuperação completa em cerca de 1 s, sem backlog, sem dados corrompidos
Isolamento por função e tenant4 sondagens pontuais4/4 conforme esperado: chave VIEW escrita 403, leitura 200; escrita entre tenants 403, leitura 403

Reproduzir: runs/2026-09-05-load/, evaluation/runs/2026-09-06-a2-retest/results.md

Vazão do LLM local​

DispositivoModeloVazãoCondições
reComputer Robotics J5011EdgeLLM Qwen3.5-4Bcerca de 16 tokens/sNúmero de referência upstream, sem log de execução anexado

Degradações conhecidas​

  • A latência de consulta de inventário se degrada a partir de concorrência 20. O p95 sobe de 404 ms em concorrência 10 para 824 ms em 20 e 5,5 s em 50, o que é lento demais para uso interativo.
  • A REST API não possui fila offline. Requisições enviadas durante uma interrupção de rede ou serviço falham e não são repetidas; reconexão e backoff cobrem apenas o canal WebSocket de voz MCP. Mitigações: manter a rede do gateway disponível (priorizar cabeado, energia com UPS, serviço e clientes na mesma LAN) para que a janela de indisponibilidade se reduza ao tempo de reinicialização do dispositivo; ou adicionar uma fila de escrita no lado do cliente que reproduza em ordem após reconectar e faça deduplicação por número de lote (a fila no lado do cliente não está implementada).

Próximos passos​

  • Executar os testes de carga da REST do sistema de armazém no gateway reComputer R1125-10.

Fontes de dados e assets​

  • Números de teste de carga, condições de teste e limites conhecidos: upstream sensecraft-solutions@smart_warehouse description.md, "Measured Boundaries" e "Known Limitations".
  • Vazão do LLM local (cerca de 16 tokens/s, reComputer Robotics J5011): a seção "Preset: Tier 3 · Premium" do guide.md upstream.
  • Funções de dispositivo, composição de níveis e requisitos de acelerador: intro.device_catalog e intro.presets em solution.yaml upstream.
  • Código-fonte do sistema de armazém: github.com/suharvest/warehouse_system.
  • Imagens de produto: catálogo de produtos Seeed Studio (media-cdn.seeedstudio.com).
  • Imagens de cena: assets de soluções Seeed Studio (files.seeedstudio.com).
Loading Comments...