Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
Sempre quis uma maneira acessível de manter o controle de tudo em minha despensa, então alguns meses atrás comecei a trabalhar em um projeto que faria exatamente isso. O objetivo era fazer um sistema simples e acessível que fosse muito fácil de usar, ao mesmo tempo que armazenava informações suficientes para valer o esforço extra. O que acabei construindo é um sistema de gerenciamento de estoque que pode armazenar e atualizar informações sobre qualquer item que tenha um código de barras, bem como extrair dados básicos sobre esses itens da Internet.
Resumindo, o sistema funciona assim.
- Um código de barras é lido.
- Um script Python lê os dados do scanner.
- A solicitação é enviada a uma API REST em execução no nó vermelho.
- A API processa a solicitação, extrai dados adicionais da Internet e edita o banco de dados de acordo.
Tudo isso é feito em um único Raspberry Pi, dando a você a capacidade de atualizar e armazenar dados sobre todo o seu estoque em um sistema pequeno e portátil. Este projeto é um pouco técnico e um entendimento básico de bancos de dados, HTTP e Python será muito útil, mas farei o meu melhor para torná-lo fácil o suficiente para um iniciante entender. Vamos começar!
Etapa 1: O que você precisa
As peças de que você precisa para este projeto são …
- Raspberry Pi
- Scanner de código de barras USB (link para o que estou usando)
- Adaptador WiFi (se o seu Pi não tiver WiFi integrado)
- Interruptor
- Jumper Wires
- Capa para o seu Raspberry Pi (opcional)
Etapa 2: instalar e configurar o banco de dados
MySQL é o sistema de gerenciamento de banco de dados que manterá todos os dados que extraímos das varreduras de código de barras. Isso é muito fácil de fazer no Pi, basta executar o seguinte comando no terminal do seu Pi.
sudo apt-get install servidor mysql
Em seguida, você será orientado pelo processo de instalação e solicitado a criar uma senha. É isso. Com o MySQL instalado, seu Pi pode atuar como seu próprio pequeno servidor de banco de dados. Agora precisamos criar as tabelas que conterão nossos dados. Primeiro, faça o login. Após a instalação, o único usuário do MySql é o root (o usuário que tem acesso a todas as tabelas e sistemas). Você pode fazer login como root executando o seguinte comando.
mysql -uroot -p
Em breve iremos configurar outro usuário para nosso sistema usar, mas primeiro precisamos criar nosso banco de dados e as tabelas dentro desse banco de dados. Para fazer isso, execute os seguintes comandos.
criar inventário de banco de dados;
usar inventário; criar tabela upc_count (upc varchar (15) não nulo, contagem inteiro (3) não nulo padrão 0, nome varchar (255), tamanho varchar (40), fabricante varchar (80), chave primária (upc));
Agora temos uma tabela simples com cinco colunas upc (que será a chave primária), contagem, nome, tamanho e fabricante. Nota: Um upc é um número que identifica exclusivamente um produto. Esse número é o que é lido na etiqueta do código de barras quando é digitalizado.
Por fim, vamos configurar o usuário de que precisamos. Vou chamar o meu, para fazer isso, execute os seguintes comandos, usando qualquer nome de usuário e senha que você desejar:
concede tudo no inventário. * para '' @ 'localhost' identificado por;
Agora que temos nosso banco de dados, podemos começar a construir o sistema!
Etapa 3: Obter OutPan API Key
OutPan é uma API que pode ser usada para obter informações sobre um produto usando seu número upc. Usaremos isso para extrair mais informações sobre os produtos à medida que são adicionados ao banco de dados. Esta é uma API pública, mas para usá-la, você precisa se inscrever e obter uma chave de API. A inscrição é bastante simples, basta clicar aqui e seguir as etapas para se inscrever para uma chave.
Depois de obter sua chave, copie-a. Você precisará disso em uma etapa posterior.
Etapa 4: instalar e configurar o Node-Red
O Node-Red vem pré-instalado em todas as versões do Raspbian OS desde o final de 2015. Para descobrir se você tem o node-red instalado, basta executar o seguinte comando no terminal.
nó-vermelho
Se uma mensagem “comando não encontrado” for exibida, você precisará instalar o node-red. Para fazer isso, execute os seguintes comandos.
sudo apt-get update sudo apt-get install nodered
Depois de iniciar o nó vermelho, você pode acessar o nó vermelho a partir do endereço exibido na saída.
A única configuração restante é instalar os nós do MySQL. Você pode fazer isso por meio do navegador. Clique no símbolo no canto superior direito da página e clique na opção 'Gerenciar Paleta'. A partir daí, simplesmente pesquise 'mysql' e clique no botão de instalação.
Agora estamos prontos para importar a API.
Etapa 5: configurar a API
Abaixo está toda a API node-red que escrevi. Simplesmente copie tudo abaixo, clique no símbolo no canto superior direito e vá para importar → da área de transferência.
[{"id": "ef09537e.8b96d", "type": "subfluxo", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "fios": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "fios": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http request", "z": "ef09537e.8b96d", "name ":" Solicitação de saída panorâmica "," método ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," fios ":
Agora você tem toda a API que usaremos para inserir e atualizar dados. Apenas alguns ajustes precisam ser feitos antes de estarmos prontos para usá-lo.
- Primeiro, vá para todos os nós do banco de dados MySQL e altere o nome de usuário e a senha para aqueles que você criou para o banco de dados na etapa anterior.
- Em segundo lugar, edite o subfluxo mineOutPanData para que a solicitação HTTP usada para obter os dados do Open Pan use sua própria chave de API.
Agora você está pronto para usar a API. Esse fluxo cria uma API REST simples que permite enviar dados de qualquer dispositivo conectado à Internet usando solicitações
Etapa 6: (opcional) compreender a API
A última coisa que precisamos fazer é conectar um switch ao GPIO para que possamos fazer a varredura em dois modos, adicionar e remover.
Isso é bastante simples, basta configurar uma chave seletora para ler do pino 21 do GPIO no Pi e pronto. Usando o circuito na imagem anexada (conhecido como circuito PUD DOWN), o script enviará uma solicitação de adição quando a chave seletora estiver fechada e uma solicitação de remoção quando a chave seletora estiver aberta.
Depois disso, simplesmente colamos os fios dentro do gabinete e estamos prontos.
Etapa 9: (opcional) criar uma interface de usuário
Esta última etapa não é necessária, mas certamente útil se você deseja utilizar todo o potencial do sistema. Eu montei uma interface de usuário muito simples que exibia todos os dados que temos em nosso banco de dados em uma tabela fácil de navegar. A tabela pode ser classificada por coluna e também pesquisada, tornando mais fácil ver o que você tem em mãos.
A IU é muito simples; Reestruturei alguns códigos de exemplo que encontrei online para trabalhar com nossa API (se estiver interessado, esse código de exemplo pode ser encontrado aqui).
Para executar a IU, faça o seguinte …
- Salve o arquivo index.txt anexado como index.html (não consegui fazer upload do arquivo como um arquivo HTML por algum motivo).
- Coloque os dois arquivos no mesmo diretório em seu computador.
- Execute o arquivo 'index.html' em seu navegador favorito.
Agora podemos ver e classificar facilmente o seu inventário!
Etapa 10: Inicie a digitalização
Agora você está pronto para começar a digitalizar! Se você tiver alguma dúvida, deixe nos comentários e eu terei a certeza de responder quando puder.
Por fim, seus votos no concurso serão muito apreciados. Obrigado por ler!
Recomendado:
FATURAMENTO E SISTEMA DE CONTROLE DE ESTOQUE: 3 etapas
FATURAMENTO E SISTEMA DE CONTROLE DE ESTOQUE: Com este instructables, darei a você uma idéia para criar um sistema de controle de fatura e estoque. Usando o acesso MS. É muito fácil e não precisa de mais conhecimentos de informática ou programação. Se você tiver conhecimento básico da Sra. Acesso, tabelas. formulários e relatórios t
Sistema de gerenciamento de lixo inteligente: 23 etapas
Sistema Inteligente de Gerenciamento de Lixo: INTRODUÇÃO. Problema ou Questão Atual relacionado a este projeto O principal problema da nossa sociedade atual é o acúmulo de resíduos sólidos. Terá um impacto maior na saúde e no meio ambiente de nossa sociedade. A detecção, monito
Gerenciador de tarefas - um sistema de gerenciamento de tarefas domésticas: 5 etapas (com imagens)
Gerenciador de tarefas - um sistema de gerenciamento de tarefas domésticas: eu queria tentar resolver um problema real enfrentado em nossa casa (e, imagino, de muitos outros leitores), que é como alocar, motivar e recompensar meus filhos por ajudarem com tarefas domésticas. Até agora, mantivemos uma folha laminada
Gerenciamento Solar da Planta com Base no Peso com ESP32: 7 etapas (com fotos)
Gerenciamento Solar de Plantas com Base no Peso com ESP32: Cultivar plantas é divertido e regar e cuidar delas não é realmente um incômodo. Aplicativos de microcontroladores para monitorar sua saúde estão em toda a internet e a inspiração para seu design vem da natureza estática da planta e da facilidade de moni
PCB que ajuda no gerenciamento de cabos: 6 etapas (com fotos)
PCB que ajuda no gerenciamento de cabos: Há algum tempo, fiz uma fresadora CNC de mesa personalizada. Desde então, eu estava atualizando-o com novos componentes. Da última vez, adicionei um segundo Arduino com display de 4 dígitos para controlar o RPM do meu fuso usando o loop PID. Tive que conectá-lo com o javali Arduino primário