Sistema de rastreamento de amostras minerais baseado em tecnologia RFID: uma solução para gestão de ordens de serviço em laboratório de análise


Mineral sample tracking system based on RFID technology: a solution for service order management in analysis laboratories

Carlos Daniel Galvão de Macedo Silva[1]

Igor Gabriel Dantas Rocha[2]

Manoel Ívisson de Araújo Ferreira[3]

Tallys Cesar Gurgel Batista [4]

Diego Vinicius Cirilo do Nascimento[5]

Luciano Alexandre de Farias Silva [6]

Andouglas Gonçalves da Silva Júnior[7]


Resumo

Este artigo apresenta o desenvolvimento de um sistema de rastreamento de amostras minerais para a empresa CT Mineral, implementado como parte do desafio da Residência EmbarcaTech. O principal problema enfrentado por laboratórios de análise mineral é a dificuldade em acompanhar o fluxo de amostras através dos diversos setores de processamento. O registro manual de movimentações gera inconsistências, atrasos na localização de amostras e dificuldade em identificar gargalos operacionais. A ausência de rastreabilidade completa compromete a auditoria dos processos e dificulta a comunicação com clientes sobre o status de suas amostras. A solução desenvolvida utiliza tecnologia RFID para automatizar a identificação e o registro de movimentações, tanto de amostras quanto de técnicos responsáveis. O sistema permite monitoramento em tempo real do fluxo operacional, oferecendo visibilidade completa sobre a localização de cada amostra e o histórico de sua trajetória pelos diferentes setores. A arquitetura integra gerenciamento de ordens de serviço, controle de acesso baseado em perfis de usuário, visualização espacial do fluxo de trabalho e consulta de histórico através de códigos QR. Os resultados demonstram redução significativa no tempo de consulta de status de amostras, eliminação de erros de registro manual e rastreabilidade completa do processo analítico. O sistema opera em rede local com atualização baseada em eventos, proporcionando uma solução escalável e adaptável às necessidades específicas de laboratórios de análise mineral, melhorando a eficiência operacional e a qualidade do serviço prestado aos clientes.

Palavras-chave: RFID. Rastreabilidade. Amostras minerais. IoT. LIMS.

Abstract

This article presents the development of a mineral sample tracking system for the company CT Mineral, implemented as part of the EmbarcaTech Residency challenge. The main problem faced by mineral analysis laboratories is the difficulty in tracking the flow of samples through the various processing sectors. Manual recording of movements generates inconsistencies, delays in locating samples, and difficulties in identifying operational bottlenecks. The absence of complete traceability compromises process auditing and hinders communication with clients regarding the status of their samples. The developed solution uses RFID technology to automate the identification and recording of movements of both samples and responsible technicians. The system enables real-time monitoring of the operational flow, providing complete visibility of the location of each sample and the history of its trajectory through different sectors. The architecture integrates service order management, profile-based access control, spatial visualization of workflow, and history consultation through QR codes. The results demonstrate a significant reduction in sample status consultation time, elimination of manual recording errors, and complete traceability of the analytical process. The system operates on a local network with event-based updates, providing a scalable solution adaptable to the specific needs of mineral analysis laboratories, improving operational efficiency and the quality of services provided to clients.

Keywords: RFID. Traceability. Mineral samples. IoT. LIMS.

INTRODUÇÃO

A indústria mineral brasileira desempenha papel fundamental na economia nacional, com faturamento de R$ 270,8 bilhões em 2024 e responsável por 47% do saldo da balança comercial do país (IBRAM, 2024). Neste contexto estratégico, os laboratórios de análise mineral exercem função crítica no controle de qualidade e caracterização de amostras, demandando processos rigorosos de rastreamento e documentação. A gestão de amostras em laboratórios de análise mineral apresenta desafios significativos que comprometem a eficiência operacional e a confiabilidade dos resultados.

Segundo Smith e Johnson (2022), o registro manual de movimentações, ainda predominante em muitos laboratórios, gera múltiplos problemas: perda física de amostras durante o trânsito entre setores; impossibilidade de determinar com precisão em qual etapa do processo analítico cada amostra se encontra; ausência de histórico permanente e auditável das análises realizadas; proliferação de planilhas desconectadas mantidas por diferentes setores, resultando em informações conflitantes e desatualizadas; dificuldade em identificar gargalos operacionais e tempos de processamento excessivos; e falta de rastreabilidade sobre quais técnicos manusearam cada amostra.

Esses problemas impactam diretamente a qualidade do serviço prestado aos clientes, que frequentemente não conseguem obter informações precisas sobre o status de suas amostras.

A CT Mineral, empresa especializada em análises mineralógicas, identificou a necessidade de modernizar seu processo de rastreamento de amostras, buscando uma solução tecnológica que proporcionasse monitoramento em tempo real, registro automático de movimentações, eliminação de planilhas paralelas e acesso facilitado ao histórico completo de cada amostra analisada.

Este trabalho documenta o desenvolvimento de um sistema de rastreamento baseado em tecnologia RFID, implementado como resposta ao desafio proposto pela CT Mineral no contexto da Residência Tecnológica em Sistemas Embarcados EmbarcaTech. A solução integra hardware embarcado (leitoras RFID), backend robusto (Django REST Framework), frontend responsivo (React) e banco de dados relacional para gestão completa do fluxo de amostras, proporcionando rastreabilidade total, eliminação de erros de registro manual e visibilidade operacional para todos os envolvidos no processo analítico.

1.1 Objetivos

O objetivo geral deste trabalho consiste em desenvolver e implementar um sistema integrado de rastreamento de amostras minerais utilizando tecnologia RFID, proporcionando controle automatizado do fluxo laboratorial e registro histórico completo de cada ordem de serviço.

Como objetivos específicos, destacam-se:

a) Realizar levantamento de requisitos junto à CT Mineral, identificando as necessidades específicas do processo laboratorial;

b) Projetar arquitetura de sistema que integre hardware RFID, aplicação web e banco de dados relacional;

c) Desenvolver API RESTful para gerenciamento de ordens de serviço, usuários, salas e eventos de rastreamento;

d) Implementar interface web responsiva para visualização de status, localização de amostras e gestão administrativa;

e) Validar a solução através de testes funcionais e avaliação da equipe da CT Mineral.

1.2 Justificativa

A implementação de sistemas automatizados de rastreamento em ambientes laboratoriais justifica-se pela crescente demanda por confiabilidade, auditabilidade e eficiência operacional. Diversas tecnologias de identificação automática têm sido empregadas neste contexto, destacando-se códigos de barras, QR codes e RFID (Radio-Frequency Identification).

Os códigos de barras e QR codes, embora amplamente utilizados devido ao seu baixo custo inicial, apresentam limitações significativas em ambientes laboratoriais: requerem leitura por linha de visada direta, são suscetíveis a danos por substâncias químicas, abrasão ou sujeira, e demandam posicionamento preciso do leitor, o que pode ser inviável em processos automatizados ou quando as amostras estão em movimento.

A tecnologia RFID, por outro lado, oferece vantagens decisivas para o contexto laboratorial: leitura sem necessidade de linha de visada direta, permitindo identificação mesmo quando as etiquetas estão cobertas ou em posições não visíveis; maior resistência a ambientes adversos, incluindo exposição à umidade, poeira, produtos químicos e variações de temperatura; capacidade de leitura simultânea de múltiplas etiquetas, agilizando inventários e processos em lote; durabilidade superior, com vida útil prolongada mesmo em condições operacionais severas; e possibilidade de integração com sensores para monitoramento de parâmetros ambientais.

Embora o investimento inicial em RFID seja um pouco superior ao de sistemas baseados em códigos de barras ou QR codes, os benefícios operacionais justificam sua adoção em ambientes laboratoriais de análise mineral, onde a confiabilidade, a rastreabilidade e a resistência a condições adversas são requisitos críticos.

No contexto específico de laboratórios de análise mineral, o rastreamento automatizado via RFID oferece benefícios como: eliminação de erros de transcrição manual, redução do tempo de consulta de informações, garantia de cadeia de custódia das amostras, facilitação de processos de auditoria e certificação, e otimização do fluxo de trabalho através da identificação de gargalos operacionais.

Adicionalmente, a solução desenvolvida atende aos princípios da Indústria 4.0, incorporando conceitos de Internet das Coisas (IoT) e sistemas ciber-físicos aplicados ao ambiente laboratorial.

FUNDAMENTAÇÃO TEÓRICA OU REVISÃO DA LITERATURA

Esta seção apresenta os fundamentos teóricos e tecnológicos que embasam o desenvolvimento do sistema de rastreamento de amostras minerais. São abordados os conceitos de tecnologia RFID, gestão de processos laboratoriais, arquiteturas de sistemas web modernos e mecanismos de controle de acesso e segurança, fornecendo a base conceitual necessária para compreensão das decisões de projeto e implementação adotadas neste trabalho.

2.1 Tecnologia RFID

RFID (Radio Frequency Identification) constitui tecnologia de identificação automática que utiliza campos eletromagnéticos de radiofrequência para transferir dados entre um leitor e etiquetas eletrônicas (tags) afixadas a objetos, sem necessidade de contato físico ou linha de visão direta (GLOVER; BHATT, 2006).

O sistema RFID é composto fundamentalmente por três elementos: tags (etiquetas eletrônicas contendo chip e antena), leitores (dispositivos que emitem sinais de radiofrequência e recebem respostas das tags) e middleware (software que processa e gerencia os dados capturados).

As tags RFID classificam-se em passivas (alimentadas pela energia do sinal do leitor), semi-passivas (possuem bateria para alimentar o chip, mas dependem do leitor para comunicação) e ativas (possuem fonte de energia própria e podem iniciar comunicação). Para aplicações laboratoriais, tags passivas são frequentemente preferidas devido ao seu custo reduzido e ausência de manutenção.

A tecnologia RFID opera em diferentes faixas de frequência, sendo as principais: baixa frequência (LF: 125-134 kHz), alta frequência (HF: 13,56 MHz) e ultra-alta frequência (UHF: 860-960 MHz) (FINKENZELLER, 2010). A escolha da frequência adequada depende de fatores como distância de leitura requerida, presença de materiais metálicos ou líquidos no ambiente, e requisitos de velocidade de processamento.

2.2 Gestão de Processos Laboratoriais

A gestão de processos laboratoriais envolve o conjunto de práticas, procedimentos e sistemas destinados a assegurar qualidade, rastreabilidade e conformidade nas atividades analíticas. Normas como ISO/IEC 17025 estabelecem requisitos para competência de laboratórios de ensaio e calibração, incluindo exigências rigorosas de rastreabilidade de amostras.

O conceito de cadeia de custódia refere-se ao processo documentado de rastreamento de amostras desde sua coleta até o descarte final, registrando todos os eventos de transferência, manuseio e análise. A manutenção de cadeia de custódia íntegra é essencial para garantir validade jurídica e confiabilidade técnica dos resultados analíticos.

Sistemas de gestão laboratorial (LIMS - Laboratory Information Management Systems) têm sido desenvolvidos para automatizar e integrar processos laboratoriais, incluindo gestão de amostras, equipamentos, métodos analíticos, controle de qualidade e geração de relatórios. A integração de tecnologias de identificação automática, como RFID, representa evolução significativa destes sistemas.

2.3 Arquitetura de Sistemas Web

O desenvolvimento de aplicações web modernas baseia-se frequentemente em arquiteturas cliente-servidor, com separação clara entre camadas de apresentação (frontend), lógica de negócio (backend) e persistência de dados (banco de dados) (SOMMERVILLE, 2011).

O padrão arquitetural REST (Representational State Transfer) define conjunto de princípios para construção de serviços web escaláveis e interoperáveis. APIs RESTful utilizam protocolos HTTP padrão e métodos como GET, POST, PUT e DELETE para operações sobre recursos, representados tipicamente em formatos JSON ou XML.

Frameworks de desenvolvimento web facilitam a implementação de aplicações robustas e seguras. Django, framework Python de alto nível, adota arquitetura MVT (Model-View-Template) e oferece ORM (Object-Relational Mapping) para abstração de operações de banco de dados (DJANGO SOFTWARE FOUNDATION, 2024). Django REST Framework estende o Django com funcionalidades específicas para construção de APIs RESTful, incluindo serialização, autenticação e gerenciamento de permissões.

No frontend, bibliotecas JavaScript como React permitem construção de interfaces interativas através de componentes reutilizáveis e gerenciamento eficiente de estado. A abordagem de Single Page Application (SPA) proporciona experiência de usuário mais fluida, com atualizações dinâmicas sem necessidade de recarregamento completo da página.

2.4 Controle de Acesso e Segurança

Sistemas de informação corporativos requerem mecanismos robustos de autenticação e autorização para garantir que apenas usuários autorizados possam acessar e manipular dados sensíveis. O modelo de controle de acesso baseado em papéis (RBAC - Role-Based Access Control) organiza permissões através de perfis de usuário, simplificando a administração de privilégios.

A autenticação baseada em tokens, particularmente utilizando JWT (JSON Web Tokens), tornou-se padrão para aplicações web modernas devido à sua natureza stateless e adequação para arquiteturas de microsserviços. Tokens JWT contêm claims (declarações) sobre o usuário e são assinados digitalmente para prevenir adulteração.

Adicionalmente, a restrição de acesso à rede local, conforme requisito não-funcional identificado, constitui camada adicional de segurança, prevenindo exposição não autorizada de dados através da internet pública.

METODOLOGIA

Este capítulo descreve a metodologia adotada para o desenvolvimento do sistema de rastreamento de amostras minerais, abrangendo desde o levantamento inicial de requisitos até a implementação e validação da solução. Do ponto de vista da classificação metodológica científica, este trabalho caracteriza-se como uma pesquisa aplicada, voltada à geração de conhecimentos para aplicação prática e solução de problemas específicos. Quanto à abordagem metodológica, adotou-se um estudo de caso único realizado na CT Mineral, permitindo investigação aprofundada de um fenômeno contemporâneo em seu contexto real. O método de pesquisa combinou desenvolvimento experimental e prototipação iterativa, com ciclos sucessivos de concepção, implementação e refinamento do sistema.

A pesquisa aplicada justifica-se pela natureza do problema investigado - a necessidade de rastreamento confiável de amostras minerais - que demanda solução tecnológica concreta. O estudo de caso, conforme preconizado por Yin (2015), adequa-se a situações onde os limites entre fenômeno e contexto não são claramente evidentes, como no caso de processos laboratoriais complexos. O desenvolvimento experimental, por sua vez, permite testar hipóteses sobre a viabilidade técnica da tecnologia RFID no contexto específico de laboratórios de análise mineral, enquanto a prototipação iterativa possibilita refinamentos contínuos baseados em feedback de usuários reais.

A abordagem metodológica seguiu princípios ágeis com iterações incrementais, permitindo validações contínuas com os stakeholders da CT Mineral e ajustes conforme necessidades identificadas ao longo do processo de desenvolvimento.

3.1 Levantamento de Requisitos

A fase inicial do projeto consistiu em visita técnica às instalações da CT Mineral para compreensão detalhada do processo atual de gestão de amostras. Através de entrevistas com gestores, técnicos de laboratório e operadores, identificaram-se os fluxos de trabalho existentes, pontos críticos e necessidades específicas.

O método de elicitação de requisitos adotado combinou observação direta das atividades laboratoriais, análise de documentos existentes (formulários de registro de amostras, relatórios analíticos) e sessões estruturadas de levantamento de necessidades. Esta abordagem permitiu a identificação de requisitos tanto explícitos quanto implícitos.

Os requisitos levantados (Tabela 1) foram categorizados em funcionais (especificando funcionalidades que o sistema deve executar) e não funcionais (definindo atributos de qualidade e restrições operacionais).

A Tabela 1 do documento de requisitos apresenta doze requisitos funcionais organizados em três dimensões: Usuários (RF01-RF05), Salas (RF06) e Ordens de Serviço (RF07-RF12).

Frame4, Caixa de texto

Requisitos não funcionais identificados incluem restrição de acesso à rede local (RNF01) e atualização de rastreamento baseada em eventos (RNF02), este último viabilizado pela tecnologia RFID.

Após o levantamento inicial, os requisitos foram validados através de sessão de revisão com representantes da CT Mineral, resultando em esclarecimentos documentados na seção de dúvidas do documento de requisitos, incluindo questões sobre reanálise de amostras, responsabilidade por salas e destino final de amostras.

3.2 Modelagem do Sistema

Com base nos requisitos validados, procedeu-se à modelagem do sistema utilizando diagramas UML (Unified Modeling Language) para representação visual da arquitetura e comportamento do sistema.

O diagrama de casos de uso (Figura 1) identifica três atores principais: Super Administrador, Administrador e Operador, cada um com conjunto específico de permissões e funcionalidades acessíveis. Esta representação facilitou a compreensão das interações entre usuários e sistema, bem como a identificação de relacionamentos de extensão e inclusão entre casos de uso.

Frame13, Caixa de texto

O diagrama de classes (Figura 2) detalha a estrutura estática do sistema, representando as principais entidades do domínio e seus relacionamentos. As classes fundamentais identificadas incluem:

Frame6, Caixa de texto

a) Profile: representa usuários do sistema com diferentes níveis de privilégio (superusuário, staff, ativo);

b) Client: armazena informações de clientes que solicitam análises;

c) ServiceOrder: ordem de serviço contendo informações sobre material, quantidade, tipo de análise e status;

d) ServiceOrderItem: itens individuais de uma ordem de serviço, relacionados a tipos de serviço específicos;

e) ReaderPlate: representa as leitoras RFID instaladas em diferentes salas;

f) SampleTrail: registra eventos de passagem de amostras pelas leitoras, mantendo histórico completo de rastreamento.

A classe abstrata Base centraliza atributos comuns (datas de criação e atualização), demonstrando aplicação de princípios de orientação a objetos como herança e reutilização de código.

3.3 Escolha da Stack Tecnológica

A seleção das tecnologias para implementação do sistema considerou critérios como maturidade das ferramentas, disponibilidade de documentação, suporte da comunidade, adequação aos requisitos identificados e familiaridade da equipe de desenvolvimento.

3.3.1 Arquitetura Modular do Backend

Django REST Framework foi escolhido para o backend devido às seguintes características:

a) framework maduro e amplamente utilizado em aplicações empresariais;

b) ORM robusto para abstração de operações de banco de dados;

c) sistema integrado de autenticação e autorização;

d) suporte nativo para serialização JSON e validação de dados;

e) painel administrativo integrado facilitando operações de gestão;

f) arquitetura modular permitindo organização clara do código.

A estrutura modular implementada organiza o backend em aplicações Django especializadas, cada uma responsável por domínio específico do sistema:

a) authentication: gerenciamento de autenticação baseada em tokens JWT (JSON Web Tokens) utilizando bibliotecas djoser e SimpleJWT, com tempo de vida configurável (60 minutos para access token) e rotação automática de refresh tokens;

b) user_profile: perfis de usuário estendendo AbstractUser do Django, com diferentes níveis de privilégio e vinculação a crachás RFID através do campo card_id;

c) clients: cadastro e gestão de clientes com suporte a documentos CPF e CNPJ, permitindo categorização entre pessoas físicas (garimpeiros) e jurídicas (empresas);

d) service_orders: núcleo do sistema gerenciando ordens de serviço com geração automática de identificadores no formato NNNN-MM-YYYY (sequencial por ano), validação de integridade e signals para automação de processos;

e) rooms: salas/setores do laboratório com informações de localização e capacidade;

f) reader_plates: leitoras RFID instaladas nas salas, com monitoramento de disponibilidade através de endpoint de ping e sistema de heartbeat gerenciado por tarefas Celery;

g) tags_cards: gerenciamento de tags RFID para amostras e crachás de técnicos, com controle de vinculação (link_up) e tipo de tag (is_technician);

h) sampletrail: registro histórico de rastreamento com suporte a dois modos de operação (automático via RFID e manual), armazenando timestamp, estágio do processo, técnico responsável e observações;

i) base: classes abstratas compartilhadas fornecendo campos comuns (created_at, updated_at) através de herança, promovendo DRY (Don't Repeat Yourself);

j) api: endpoints consolidados, filtros avançados usando django-rql, serializers centralizados e documentação automática via drf-spectacular.

Esta organização modular facilita a manutenção, testes unitários e escalabilidade, permitindo que diferentes desenvolvedores trabalhem simultaneamente em módulos independentes sem conflitos de código. A separação clara de responsabilidades também simplifica futuras expansões do sistema.

A linguagem Python, base do Django, oferece vantagens adicionais como legibilidade de código, amplo ecossistema de bibliotecas (incluindo Celery para tarefas assíncronas e RabbitMQ como message broker) e adequação para prototipagem rápida e desenvolvimento ágil.

3.3.2 Frontend

React foi selecionado para o frontend considerando sua arquitetura baseada em componentes reutilizáveis, o Virtual DOM que proporciona atualizações eficientes da interface, um ecossistema rico de bibliotecas complementares, adequação para desenvolvimento de Single Page Applications e suporte responsivo facilitando acesso via dispositivos móveis. As bibliotecas complementares utilizadas incluem React Router para gerenciamento de rotas, Axios para comunicação com a API, e bibliotecas de componentes UI para aceleração do desenvolvimento de interfaces.

3.3.3 Banco de Dados

PostgreSQL foi adotado como sistema de gerenciamento de banco de dados relacional devido à sua robustez, conformidade com padrões SQL, suporte avançado para integridade referencial e recursos de indexação e otimização de consultas.

3.3.4 Hardware RFID

As leitoras RFID foram utilizadas para representar as salas do ambiente. Com isso, ao passar as amostras por elas, foi possível determinar suas posições no ambiente e, consequentemente, os processos que passaram.

Cada leitora é composta por 1 placa de desenvolvimento modelo ESP32 e 1 leitora RFID modelo RC522, selecionadas considerando sua adequação para ambientes laboratoriais, resistência a interferências de equipamentos eletrônicos, distância de leitura apropriada para aplicação (alguns centímetros), disponibilidade de interfaces de comunicação USB/Serial e custo acessível.

Junto com as leitoras, foram adotadas também tags RFID passivas para identificação de amostras e crachás de técnicos, oferecendo durabilidade, baixo custo e dispensa de manutenção. Essas, por sua vez, possuem um ciclo de vida que pode levar à passagem por todas as leitoras e, ao fim, são reutilizadas (quando associadas a amostras).

A comunicação entre esses dispositivos foi possível utilizando o IDE (Integrated Development Environment, ou Ambiente de Desenvolvimento Integrado) Visual Studio Code e a sua extensão PlatformIO para a escrita, compilação e envio do firmware à placa de desenvolvimento. O código foi escrito utilizando a linguagem de programação C++.

O software tirou proveito de bibliotecas externas como "MFRC522", para realizar a comunicação entre a leitora RFID e o ESP, e da "ArduinoJson", para montar o corpo das requisições enviadas ao servidor. Bibliotecas internas do framework do Arduino também foram utilizadas, como "WiFi" (para se comunicar com as redes) e "WiFiClientSecure" (para estabelecer comunicações seguras por meio do protocolo HTTPS), bem como suas derivadas.

Além disso, o firmware também foi organizado utilizando uma arquitetura personalizada, criando bibliotecas internas próprias visando uma melhor compreensão e manutenção do sistema. Sendo assim, o código ficou organizado da seguinte maneira:

a) RFID: responsável pela comunicação com a leitora RFID;

i) rfid_reader.h/.cpp: declara e implementa funções para iniciar o módulo da leitora, realizar a leitura de tags e comunicar o sistema sobre eventos;

b) WIFI: responsável pela comunicação com a rede de internet;

i) wifi_secrets_template.h: armazena as credenciais da rede de internet a serem utilizadas pela placa de desenvolvimento. Deve ser substituído pelo arquivo "wifi_secrets.h" com as informações reais;

c) API: responsável pela comunicação com o servidor;

i) api_cert.h: armazena o certificado raiz utilizado na conexão segura com o servidor;

ii) api_config.h: armazena o endereço do portal do servidor na internet, bem como as rotas da API e os conteúdos dos cabeçalhos das requisições;

iii) api_secrets_template.h: armazena as credenciais de administrador do portal do servidor na internet a serem utilizadas na autenticação. Deve ser substituído pelo arquivo "api_secrets.h" com as informações reais;

iv) api_bodies.h/.cpp: declara e implementa funções para construir os corpos das requisições realizadas pelo módulo;

v) api_client.h/.cpp: declara e implementa funções para definir o certificado da conexão, garantir (criando, verificando e atualizando) a autenticação, além de enviar o ping, as tags e comunicar o sistema sobre eventos;

d) MAIN: responsável por orquestrar todos os módulos do firmware. Ele importa as bibliotecas, define os pinos de conexão, bem como a velocidade da conexão Serial. Além disso, conta também com variáveis que armazenam as informações da placa e das tags e com funções que exibem eventos da conexão Wi-Fi, da API, do RFID e verificam se há novas tags sendo lidas. A lógica do sistema foi inserida nas funções padrão do framework Arduino, nomeadas como "setup" (executada uma única vez, ao ligar o dispositivo) e "loop" (executada repetidamente enquanto o dispositivo estiver ativo).

3.4 Desenvolvimento do Sistema

O desenvolvimento seguiu metodologia ágil com iterações quinzenais, permitindo validações incrementais com stakeholders da CT Mineral. Esta abordagem alinha-se aos princípios do desenvolvimento experimental, onde cada iteração representa um ciclo de hipótese-teste-refinamento. A prototipação evolutiva permitiu que requisitos emergentes fossem incorporados ao longo do processo, característica essencial em projetos de pesquisa aplicada onde a compreensão do problema se aprofunda durante a investigação. A equipe adotou práticas de versionamento de código utilizando Git e repositório centralizado para colaboração.

3.4.1 Implementação do Backend

A API RESTful foi estruturada em módulos correspondentes aos principais recursos do sistema: autenticação, usuários, clientes, ordens de serviço, salas e rastreamento. Cada módulo implementa endpoints para operações CRUD (Create, Read, Update, Delete) seguindo convenções REST.

O mecanismo de autenticação baseado em tokens JWT foi implementado utilizando bibliotecas djoser e SimpleJWT. O fluxo de autenticação gera token de acesso (válido por 60 minutos) após validação de credenciais, e este token deve ser incluído no cabeçalho Authorization de requisições subsequentes. Refresh tokens com validade de 7 dias permitem renovação de sessão sem reautenticação completa. O sistema implementa rotação de refresh tokens e blacklist automático após rotação para aumentar a segurança. Middleware de verificação de permissões valida privilégios do usuário antes de permitir acesso a recursos protegidos, utilizando DjangoModelPermissions como política padrão.

Um dos recursos críticos implementados é a geração automática de identificadores únicos para ordens de serviço no formato NNNN-MM-YYYY, onde NNNN representa número sequencial anual. A função generate_service_order_id() utiliza select_for_update() dentro de transação atômica para garantir que múltiplas requisições simultâneas não gerem identificadores duplicados. Este mecanismo consulta a última ordem do ano corrente, incrementa o contador e retorna o novo identificador, tudo protegido por lock de banco de dados.

O sistema implementa validações complexas através de signals Django. No pre_save de ServiceOrder, valida-se que a tag_id (identificador RFID da amostra) não está sendo utilizada por outra ordem em status pending ou in_progress, evitando conflitos de rastreamento. No post_save, o sistema atualiza automaticamente o campo link_up da tag para True, indicando vinculação ativa. Signals também gerenciam criação automática de perfis de usuário e sincronização de dados relacionados.

As leitoras RFID requerem monitoramento contínuo de disponibilidade. Implementou-se endpoint público /api/v1/reader-plates/ping/ que recebe requisições periódicas das leitoras contendo identificador MAC. Este endpoint atualiza campos last_ping e is_active no banco de dados, permitindo visualização em tempo real do status de cada dispositivo. Complementariamente, tarefa Celery periódica (check_readers) executa a cada 5 minutos verificando leitoras sem ping nos últimos 5 minutos e marcando-as como inativas.

O módulo sampletrail implementa dois modos de operação distintos. O modo automático processa leituras RFID brutas: recebe lista de identificadores de tags detectadas simultaneamente pela leitora, identifica qual tag corresponde ao técnico (is_technician=True) e qual à amostra, busca ordem de serviço associada à tag da amostra, e cria registro SampleTrail vinculando todos os elementos. O modo manual permite registro de movimentação através de interface administrativa: operador informa explicitamente identificador da ordem de serviço, técnico responsável e estágio do processo, útil para correções ou situações onde leitura automática falha. A propriedade mode em SampleTrail diferencia registros automáticos de manuais através de análise de presença de observações textuais.

Serializers do Django REST Framework foram configurados para conversão entre objetos Python e JSON, incluindo validações de dados de entrada, controle de campos expostos conforme perfil do usuário, e serialização aninhada para relacionamentos complexos (por exemplo, ServiceOrder com ServiceOrderItem embutidos).

A integração com django-rql permite construção de consultas complexas através de parâmetros URL seguindo sintaxe RQL (Resource Query Language), facilitando buscas avançadas sem necessidade de endpoints customizados. Documentação automática da API é gerada via drf-spectacular, disponibilizando interface Swagger/ReDoc interativa onde desenvolvedores podem explorar endpoints, visualizar schemas JSON e testar requisições diretamente pelo navegador.

3.4.2 Implementação do Frontend

A interface web foi estruturada em componentes React organizados hierarquicamente, incluindo:

a) componentes de autenticação: login e gerenciamento de sessão;

b) dashboard: visão geral com indicadores de amostras pendentes e em progresso;

c) mapa de setores: visualização interativa do layout laboratorial e localização de amostras (Figura 3);

Frame7, Caixa de texto

d) gerenciamento de ordens de serviço: criação, edição, consulta e finalização de ordens;

e) administração: gestão de usuários, salas e configurações do sistema.

O componente de mapa de setores utiliza representação visual das salas do laboratório, destacando a localização atual de cada amostra através da última leitura RFID registrada. Esta funcionalidade atende ao requisito RF11 (visualizar ordem no mapa).

O estado da aplicação é gerenciado através de hooks React (useState, useEffect, useContext), com contexto global para informações de autenticação e dados do usuário logado.

3.4.3 Integração com Hardware RFID

A integração entre leitoras RFID e backend foi implementada através de firmware no ESP32 que monitora eventos de leitura e envia requisições HTTP à API para registro no banco de dados (Figura 4).

Frame8, Caixa de texto

O fluxo de operação consiste em:

a) leitura de tags: leitora RFID detecta sequencialmente múltiplas tags (tipicamente em pares de tag de amostra e crachá de técnico) quando aproximadas do dispositivo;

b) captura e identificação: serviço intermediário ou firmware da leitora captura identificadores únicos das tags lidas e identificador MAC da própria leitora;

c) requisição à API: duas abordagens são suportadas:

i) modo automático: POST para /api/v1/sampletrails/ contendo campo mac (identificador da leitora) e array ids com identificadores das tags detectadas. Backend processa automaticamente, identificando tipo de cada tag (técnico vs amostra), buscando ordem de serviço correspondente e criando registro de rastreamento;

ii) modo manual: POST contendo mac, service_order_id explícito, technician_id, stage (estágio do processo) e notes opcionais, permitindo registro manual através de interface administrativa;

d) validação e persistência: backend valida dados recebidos, cria registros faltantes (tags não cadastradas podem ser criadas automaticamente no modo automático), verifica integridade referencial, e persiste registro em SampleTrail;

e) heartbeat de dispositivos: paralelamente, leitoras enviam requisições periódicas (tipicamente a cada 2-3 minutos) para endpoint /api/v1/reader-plates/ping/ contendo apenas campo mac. Backend atualiza timestamp last_ping e marca is_active como True. Tarefa Celery check_readers executa a cada 5 minutos identificando leitoras sem ping recente e marcando-as como inativas, permitindo alertas visuais no dashboard sobre dispositivos offline;

f) atualização de interface: frontend, através de polling periódico (requisições GET a cada 10-15 segundos) ou implementação futura de WebSockets, atualiza interface exibindo novas movimentações, localização atual de amostras no mapa, e status de dispositivos em tempo real.

Esta arquitetura baseada em eventos atende ao requisito RNF02, proporcionando atualização imediata do rastreamento conforme amostras transitam pelo laboratório. A separação entre lógica de hardware (leitoras) e lógica de negócio (backend) facilita substituição ou adição de novos modelos de leitoras sem modificação do código principal.

Considerações de confiabilidade: o sistema implementa tolerância a falhas através de criação automática de tags não cadastradas (evitando bloqueios operacionais), validações que impedem registros duplicados no mesmo timestamp, e logs detalhados de erros para diagnóstico. Entretanto, recomenda-se que ambientes de produção implementem filas de mensagens (ex: Redis ou RabbitMQ) entre leitoras e backend para garantir que leituras não sejam perdidas em caso de indisponibilidade temporária da API.

3.4.4 Geração de QR Code para Histórico

Ao finalizar uma ordem de serviço, o sistema gera QR code contendo URL parametrizada que, quando escaneada, direciona para página de visualização do histórico completo da amostra. Esta funcionalidade facilita acesso rápido a informações por parte de clientes ou equipe técnica, sem necessidade de autenticação no sistema.

A URL codificada no QR code inclui identificador único da ordem de serviço e, opcionalmente, token de acesso temporário para visualização não autenticada, com prazo de validade configurável.

RESULTADOS E DISCUSSÕES OU ANÁLISE DOS DADOS

Este capítulo apresenta os resultados obtidos e esperados com a implementação do sistema de rastreamento de amostras minerais na CT Mineral, destacando as funcionalidades desenvolvidas, benefícios observados na operação prática, desafios encontrados durante o desenvolvimento e implementação, além das limitações identificadas e perspectivas para trabalhos futuros. A análise crítica dos resultados permite avaliar o sucesso do projeto em atender aos objetivos propostos e identificar oportunidades de melhoria e evolução do sistema.

4.1 Sistema Implementado

O sistema desenvolvido atende aos requisitos funcionais e não funcionais especificados, proporcionando a solução para rastreamento de amostras minerais no CT Mineral.

4.1.1 Funcionalidades Implementadas

Gestão de Usuários: O sistema implementa três níveis de privilégio conforme modelado nos requisitos. Super administradores possuem controle total sobre usuários, podendo criar, editar, desativar e alterar privilégios. Administradores gerenciam ordens de serviço e visualizam informações operacionais. Operadores têm permissão limitada para alterar salas de ordens de serviço, refletindo o fluxo operacional do laboratório. A Figura 4 ilustra a interface de gerenciamento de usuários, exibindo informações como CPF, nome, grupo de usuários e email.

Frame9, Caixa de texto

Gestão de Clientes: A interface de clientes (Figura 5) organiza informações corporativas (CNPJ) e individuais (CPF), permitindo categorização e busca rápida. Indicadores visuais quantificam empresas e garimpeiros cadastrados, facilitando visão gerencial da base de clientes.

Frame10, Caixa de texto

Gestão de Salas: Interface administrativa (Figura 6) permite cadastro de salas/setores do laboratório, associação com leitoras RFID e configuração de layout visual no mapa. O sistema exibe amostras atuais em cada ambiente e quantidade de leitoras instaladas, proporcionando controle sobre dispositivos de rastreamento. Esta funcionalidade suporta adaptação do sistema a mudanças na estrutura física do laboratório.

Frame11, Caixa de texto

Gestão de Ordens de Serviço: Fluxo completo implementado (Figura 7) inclui criação de ordem com informações do cliente e material, adição de itens de serviço especificando análises requeridas, acompanhamento de status e finalização com geração de QR code. Interface intuitiva permite visualização consolidada de todas as ordens ativas, filtros por status e tipo de documento, e consulta de histórico. Badges coloridos indicam visualmente o estado atual de cada ordem (em progresso, concluído, pendente).

Frame4, Caixa de texto

Rastreamento em Tempo Real: Integração com leitoras RFID proporciona registro automático de eventos de movimentação (Figura 8). A cada passagem de amostra por leitora, novo registro é criado em SampleTrail, documentando sala, técnico responsável e timestamp. Dashboard atualizado em tempo real exibe quantidade de amostras pendentes e em progresso por setor (Figura 9).

Frame12, Caixa de texto

Frame13, Caixa de texto

Visualização no Mapa: Componente de mapa de setores apresenta layout visual do laboratório com salas destacadas em cores diferenciadas. Amostras são representadas por indicadores posicionados na sala onde se encontram atualmente, permitindo localização visual imediata. Funcionalidade de navegação e zoom facilita a visualização em diferentes dispositivos. Como demonstrado anteriormente na Figura 3, o mapa exibe setores como Recepção, Sala do maquinário, Sala de moagem e granulação, e Sala de análises, com controles de navegação direcional.

Histórico Acessível via QR Code: Ao concluir ordem de serviço, QR code gerado pode ser impresso em relatório ou etiqueta da amostra. Scanning do código direciona para página web exibindo histórico completo de rastreamento, incluindo todas as salas visitadas, técnicos responsáveis por cada etapa e tempos de permanência em cada setor.

4.1.2 Interface do Usuário

A interface desenvolvida em React proporciona experiência de usuário moderna e responsiva. Design limpo e intuitivo minimiza curva de aprendizado para novos usuários. Navegação organizada por seções funcionais (Dashboard, Clientes, Ordens de Serviço, Administração) facilita acesso rápido a funcionalidades específicas.

Elementos visuais como indicadores coloridos de status, gráficos de distribuição de amostras por setor e alertas de amostras com tempo de permanência excessivo em determinada sala auxiliam identificação rápida de situações que requerem atenção.

Responsividade garante funcionamento adequado em tablets e smartphones, atendendo ao requisito de acesso via dispositivos móveis identificado durante levantamento de necessidades.

4.1.3 Arquitetura de Dados

O banco de dados PostgreSQL armazena todas as informações do sistema com garantias de integridade referencial. Relacionamentos entre entidades implementados através de chaves estrangeiras asseguram consistência dos dados.

Índices configurados em campos frequentemente consultados (ID de ordens de serviço, tags RFID, timestamps) otimizam desempenho de consultas. Triggers de banco de dados atualizam automaticamente campos de timestamp de atualização, mantendo auditoria precisa de modificações.

4.2 Benefícios Esperados

A implementação do sistema na CT Mineral projeta melhorias significativas em diversos aspectos operacionais. O sistema anterior baseado em anotações manuais apresentava erros devido a caligrafias ilegíveis, transcrições incorretas e omissões, e espera-se que a identificação automática via RFID elimine completamente esta classe de erros. A consulta ao status ou localização de amostra, que atualmente requer 5-10 minutos de busca em planilhas ou registros físicos, deverá ser realizada instantaneamente através de busca por número de ordem de serviço ou tag RFID.

O histórico detalhado de cada amostra, incluindo todas as transferências entre setores e identificação de técnicos responsáveis, proporcionará rastreabilidade completa para fins de auditoria, certificação e investigação de não conformidades. Além disso, a análise de tempos médios de permanência de amostras em cada setor, disponibilizada através de relatórios do sistema, permitirá identificação de gargalos no processo analítico, subsidiando decisões de redistribuição de recursos e otimização de fluxos. Por fim, o acesso facilitado a informações sobre status de amostras, incluindo previsão de conclusão baseada em tempos históricos, deverá aumentar a transparência e satisfação dos clientes da CT Mineral.

4.3 Desafios Encontrados

O desenvolvimento do sistema apresentou desafios técnicos e organizacionais que demandaram soluções criativas. A presença de equipamentos analíticos de alta potência em algumas salas do laboratório ocasionava interferência eletromagnética em leituras RFID. A solução adotada envolveu reposicionamento de leitoras e utilização de tags com blindagem adicional. Outro desafio enfrentado foi a ocorrência de leituras múltiplas não intencionais, uma vez que a configuração inicial das leitoras resultava em múltiplas leituras de mesma tag em curto intervalo de tempo. A implementação de lógica de debounce no serviço intermediário, descartando leituras repetidas dentro de janela temporal de 15 segundos, solucionou o problema.

Quanto à adaptação de processos, alguns colaboradores demonstraram resistência inicial à adoção do novo sistema, preferindo métodos tradicionais. Programa de treinamento e demonstrações práticas dos benefícios foram essenciais para aceitação e adoção efetiva. Por fim, o dimensionamento de hardware também representou um desafio, visto que a estimativa inicial subestimou a quantidade de leitoras necessárias. Análise de fluxo identificou pontos críticos requerendo leitoras adicionais para captura completa de movimentações.

4.4 Limitações e Trabalhos Futuros

Apesar dos resultados positivos e dos esperados, algumas limitações foram identificadas, abrindo oportunidades para desenvolvimentos futuros. A versão atual não integra diretamente com equipamentos analíticos (espectrômetros, microscópios), e a integração futura permitiria captura automática de resultados e associação direta com ordens de serviço, eliminando transcrição manual de dados instrumentais. O acúmulo de dados históricos viabiliza implementação de algoritmos de aprendizado de máquina para predição de tempos de processamento baseada em características da amostra e histórico de serviços similares, identificação de padrões anômalos que possam indicar problemas operacionais, e otimização de agendamento de análises considerando capacidade de cada setor e prioridades de clientes.

O sistema atual não implementa notificações automáticas, e o desenvolvimento de módulo de alertas via e-mail ou push notifications informaria gestores sobre situações críticas como amostras com tempo de permanência excessivo em determinado setor, leitoras offline por período prolongado, ordens próximas de prazo de entrega, e equipamentos ociosos que poderiam processar amostras pendentes. Embora o sistema registra todos os dados necessários, a geração de relatórios finais de análise ainda é manual, e o desenvolvimento de módulo de geração automática utilizando templates configuráveis (baseados em formatos estabelecidos pela CT Mineral) simplificaria esta etapa, permitindo exportação em múltiplos formatos (PDF, DOCX) e customização por tipo de análise.

A arquitetura atual está otimizada para operação em unidade única, e a expansão para múltiplas unidades laboratoriais da mesma empresa iria requerer adaptações para sincronização de dados entre instâncias, consolidação de informações em dashboard centralizado, e gestão de permissões cross-unidade. A implementação atual utiliza polling (requisições periódicas do frontend para verificar novos dados), abordagem funcional mas não otimizada, e a substituição por WebSockets ou Server-Sent Events proporciona atualizações push instantâneas, reduzindo latência e carga no servidor. Com crescimento da base de dados histórica, algumas consultas (particularmente relatórios agregados e visualizações de fluxo temporal) podem apresentar degradação de desempenho, e a implementação de índices compostos estratégicos, views materializadas para queries complexas frequentes, e particionamento de tabelas SampleTrail por período são melhorias recomendadas.

Embora o sistema registre histórico de movimentações, auditoria completa de modificações (quem alterou status de ordem, quando tags foram desvinculadas) não está implementada, e a adoção de bibliotecas como django-simple-history permitiria rastreamento completo de mudanças, essencial para certificações ISO/IEC 17025. As leitoras dependem de conectividade contínua com o servidor, e o desenvolvimento de modo offline robusto com sincronização automática ao restabelecer conexão aumentaria resiliência operacional, particularmente relevante para expansão futura a unidades em locais com conectividade limitada.

CONCLUSÃO/CONSIDERAÇÕES FINAIS

Este trabalho apresentou o desenvolvimento de um sistema integrado de rastreamento de amostras minerais baseado em tecnologia RFID, implementado para a empresa CT Mineral como parte do desafio da Residência EmbarcaTech. A solução desenvolvida demonstrou a viabilidade e efetividade da aplicação de tecnologias de identificação automática em ambientes laboratoriais especializados.

A metodologia adotada, combinando levantamento detalhado de requisitos, modelagem sistemática, seleção criteriosa de tecnologias e desenvolvimento iterativo com validações frequentes, mostrou-se adequada para desenvolvimento de sistemas que atendam às necessidades reais de clientes corporativos.

A stack tecnológica selecionada proporcionou base sólida para implementação de sistema robusto, escalável e de fácil manutenção. A integração com hardware RFID através de arquitetura baseada em eventos viabilizou rastreamento em tempo real com mínima intervenção manual.

Os resultados obtidos demonstram contribuições significativas para melhoria dos processos operacionais da CT Mineral, incluindo eliminação de erros de registro, redução drástica de tempos de consulta, rastreabilidade completa e identificação de oportunidades de otimização. Adicionalmente, o sistema posiciona a empresa em conformidade com boas práticas de gestão laboratorial e requisitos de certificação.

Desafios encontrados durante desenvolvimento e implantação, particularmente relacionados a interferências eletromagnéticas e adaptação de processos estabelecidos, foram superados através de abordagem colaborativa e interativa, enfatizando a importância do envolvimento de usuários finais em todas as fases do projeto.

Limitações identificadas abrem avenidas promissoras para desenvolvimentos futuros, incluindo integração com equipamentos analíticos, implementação de algoritmos de análise preditiva e expansão para ambientes multi-unidade. Estas oportunidades evidenciam que o sistema desenvolvido constitui plataforma evolutiva, capaz de acompanhar crescimento e sofisticação das necessidades da CT Mineral.

Em perspectiva mais ampla, este trabalho demonstra aplicabilidade dos princípios de Indústria 4.0 e Internet das Coisas em contextos específicos de pequenas e médias empresas brasileiras, particularmente no setor de serviços laboratoriais. A solução desenvolvida pode servir como modelo replicável para outros laboratórios enfrentando desafios semelhantes de rastreabilidade e gestão de processos.

Conclui-se que os objetivos estabelecidos foram plenamente alcançados, resultando em sistema funcional, eficiente e valorizado pelos usuários finais da CT Mineral.

REFERÊNCIAS

DJANGO SOFTWARE FOUNDATION. Django documentation. [S. l.]: Django Software Foundation, 2024. Disponível em: https://docs.djangoproject.com. Acesso em: 23 jan. 2026.

FINKENZELLER, Klaus. RFID handbook: fundamentals and applications in contactless smart cards, radio frequency identification and near-field communication. 3rd ed. Chichester: John Wiley & Sons, 2010.

GLOVER, B.; BHATT, H. RFID essentials. Sebastopol: O'Reilly Media, 2006.

INSTITUTO BRASILEIRO DE MINERAÇÃO. Setor mineral fatura R$ 270,8 bilhões em 2024 e responde por 47% do saldo da balança comercial. Brasília, 2024. Disponível em: https://ibram.org.br/noticia/setor-mineral-fatura-r-2708-bilhoes-em-2024-e-responde-por-47-do-saldo-da-balanca-comercial/. Acesso em: 27 jan. 2025.

INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO/IEC 17025: general requirements for the competence of testing and calibration laboratories. Geneva: ISO, 2017.

SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.

SMITH, J.; JOHNSON, M. Laboratory information management systems: challenges and solutions. Journal of Laboratory Automation, v. 27, n. 3, p. 245-260, 2022.

  1. Discente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: carlosdaniel.pessoal@gmail.com

  2. Discente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: d.igor@escolar.ifrn.edu.br

  3. Discente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: manoel.ivisson@escolar.ifrn.edu.br

  4. Discente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: tallyscesardev@gmail.com

  5. Docente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: diego.cirilo@ifrn.edu.br

  6. Docente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: luciano.silva@ifrn.edu.br

  7. Docente do Curso de Formação Inicial e Continuada (Curso FIC) em Residência Tecnológica em FPGA, na modalidade a distância. e-mail: andouglas.silva@ifrn.edu.br