Esse projeto realiza o registro de pesos de carcaças bovinas através de uma balança instalada em uma casa de carnes, para a conferência com o romaneio que vem do frigorifico, afim de verificar se as informações contidas no mesmo estão corretas.
a5f8057b-4967-4ec8-a9a7-dc655783c77a.mp4
A balança modelo Toledo 9091 captura o peso da carcaça que fica pendurada por um gancho e envia esses dados para o receptor digital. A partir disso, conectamos o recptor digital ao Computador através de um cabo RS-232 para USB.
Depois de conectado o cabo ao computador, acessamos a aplicação através da web, uma vez que esta disponibilizado na internet. Então inicia-se o processo clicando no botão "conecar balança", a aplicação lista os dispositivos conectados e o usuário seleciona a balança.
Logo de imediato, a aplicação já começa a capturar os dados do recptor em tempo real, mostrando ao usuário o peso que está na balança. Se o peso estiver estabilizado, então o mesmo se mostra em destaque verde na tela com uma mensagem abaixo dizendo "Estabilizado", caso contrário, se o gancho estiver balançando ou em processo de colocar a carcaça nele, o peso se mostra na aplicação com a cor laranja e acompanha a palavra "Sincronizando..." até que o peso se estabilize.
Então com a carcaça pendurada pelo gancho na balança, o usuário pode selecionar o tipo de carcaça que deseja registrar o peso, escolhendo entre "Dianteiro e Traseiro", após isso ele clica no botão Registrar, onde a aplicação registra abaixo em uma tabela o tipo de carcaça selecionada e o peso estabilizado. A tabela registra carcaça por carcaça e possibilita a exclusão individual daquele registro, caso o usuário ache necessário, por algum erro de peso. Isso se repete até que se finde a quantidade de carcaças a serem pesadas.
Ao final, exibe-se um resumo onde temos a quantidade total e separadas por carcaça e o total em KG referente a cada uma. Abaixo desse resumo, temos também 2 botões para se salvar os registros, podendo o usuário escolher entre salvar como pdf e imprimir o documento e um terceiro botão onde temos a possibilidade de excluir todos os registros feitos.
- Conexão e Desconexão com a balança toledo
- Leitura de peso em tempo real
- Estabilidade da balança visualmente
- Registro de itens no Localstorage
- Exclusão de itens geral e individual
- Adição de registro de peso fora da balança opcional
- Impressão do Relatório
Front-end:
React
Google Web Serial
Para isso nesse projeto utilizo React para desenvolvimento da aplicação e para a Conexão e Leitura dos dados utilizo a Api Web Serial do Chrome for Developers, onde a documentação se encontra no link abaixo:
A API Web Serial oferece aos sites uma maneira de ler e gravar em um dispositivo serial com JavaScript. Eles são conectados por uma porta serial no sistema do usuário(computador) ou por dispositivos USB e Bluetooth removíveis que emulam uma porta serial.
Em outras palavras, a API Web Serial conecta a Web e o mundo físico, permitindo que os sites se comuniquem com dispositivos seriais.
Nessa aplicação pude testar meus conhecimentos utilizando React onde trabalhei com componentes, hooks, usecontext entre outras ferramentas que o React nos proporciona.
Minha principal dificuldade foi desenvolver a parte da leitura em tempo real da balança, uma vez que o receptor digital envia dados em forma de Buffer através do cabo RS-232, até que através de pesquisa encontrei a biblioteca do Google Web Serial, e alguns videos de fora do brasil onde pude estudar e obter o conhecimento para chegar ao resultado esperado.
Na aba links, vou deixar alguns materiais e videos que utilizei nesta aplicação.
Instale aplicação com npm
npm install balance-app
cd balance-app
npm run dev
- Você obrigatoriamente precisa de uma porta virtual serial representando a balança.
Esse projeto é usado pela seguinte empresa:
Se você tiver algum feedback, por favor fale comigo através do e-mail abaixo: