Taula de continguts:

Sistema de gestió d'inventaris integrat: 10 passos (amb imatges)
Sistema de gestió d'inventaris integrat: 10 passos (amb imatges)

Vídeo: Sistema de gestió d'inventaris integrat: 10 passos (amb imatges)

Vídeo: Sistema de gestió d'inventaris integrat: 10 passos (amb imatges)
Vídeo: Java tech talk: Spring Boot and GraphQl integration. Как сделать это просто? 2024, Juliol
Anonim
Sistema integrat de gestió d’inventaris
Sistema integrat de gestió d’inventaris

Sempre he volgut una manera assequible de fer un seguiment de tot el que hi havia al meu rebost, de manera que fa un parell de mesos vaig començar a treballar en un projecte que faria això. L’objectiu era crear un sistema senzill i assequible que fos molt fàcil d’utilitzar i alhora emmagatzemar prou informació per valer la pena. El que finalment he construït és un sistema de gestió d’inventaris que pot emmagatzemar i actualitzar informació sobre qualsevol element que tingui un codi de barres, així com obtenir dades bàsiques sobre aquests articles des d’Internet.

En resum, el sistema funciona així.

  1. S'escaneja un codi de barres.
  2. Un script Python llegeix les dades de l'escàner.
  3. La sol·licitud s'envia a una API REST que s'executa en vermell de node.
  4. L’API processa la sol·licitud, extrau dades addicionals d’Internet i edita la base de dades en conseqüència.

Tot això es fa en un sol Raspberry Pi, que us permet actualitzar i emmagatzemar dades sobre tot l’inventari en un petit sistema portàtil. Aquest projecte és una mica tècnic i la comprensió bàsica de les bases de dades, HTTP i Python serà molt útil, però faré tot el possible per facilitar-ne la comprensió. Comencem!

Pas 1: què necessiteu

El que necessiteu
El que necessiteu

Les parts que necessiteu per a aquest projecte són …

  • Raspberry Pi
  • Escàner de codis de barres USB (enllaç al que estic fent servir)
  • Adaptador WiFi (si el Pi no té WiFi integrada)
  • Interruptor
  • Filferros de pont
  • Funda per al vostre Raspberry Pi (opcional)

Pas 2: instal·leu i configureu la base de dades

Instal·leu i configureu la base de dades
Instal·leu i configureu la base de dades

MySQL és el sistema de gestió de bases de dades que contindrà totes les dades que extraiem de les exploracions de codis de barres. Això és molt fàcil de fer al Pi, simplement executeu l'ordre següent al terminal del vostre Pi.

sudo apt-get install mysql-server

A continuació, se us seguirà el procés d’instal·lació i se us demanarà que creeu una contrasenya. Això és. Amb MySQL instal·lat, el vostre Pi pot actuar com el seu propi petit servidor de bases de dades. Ara hem de crear les taules que contenen les nostres dades. Primer, inicieu la sessió. Després de la instal·lació, l'únic usuari de MySql és root (l'usuari que té accés a totes les taules i sistemes). Podeu iniciar la sessió com a root executant l'ordre següent.

mysql -uroot -p

Aviat configurarem un altre usuari que utilitzarà el nostre sistema, però primer hem de crear la nostra base de dades i les taules d’aquesta base de dades. Per fer-ho, executeu les ordres següents.

crear inventari de bases de dades;

inventari d’ús; crear taula upc_count (upc varchar (15) no nul, compta enter (3) no nul per defecte 0, nom varchar (255), mida varchar (40), fabricant varchar (80), clau primària (upc));

Ara tenim una taula senzilla amb cinc columnes upc (que serà la clau principal), recompte, nom, mida i fabricant. Nota: un valor ascendent és un número que identifica de manera única un producte. Aquest número és el que es llegeix des de l’etiqueta del codi de barres quan s’escaneja.

Finalment, configurarem l’usuari que necessitem. Vaig a trucar a la meva, per fer-ho, executeu les ordres següents, fent servir el nom d’usuari i la contrasenya que vulgueu:

concedeix tot l'inventari. * a '' @ 'localhost' identificat per;

Ara que tenim la nostra base de dades, podem començar a construir el sistema.

Pas 3: Obteniu la clau d'API OutPan

OutPan és una API que es pot utilitzar per obtenir informació sobre un producte mitjançant el seu número ascendent. L’utilitzarem per obtenir més informació sobre els productes a mesura que s’afegeixen a la base de dades. Es tracta d’una API pública, però per utilitzar-la cal que us registreu i obtingueu una clau API. Registrar-se és senzill; aneu aquí i seguiu els passos per registrar-vos per obtenir una clau.

Un cop obtingueu la vostra clau, copieu-la. La necessitareu en un pas posterior.

Pas 4: Instal·leu i configureu Node-Red

Instal·la i configura Node-Red
Instal·la i configura Node-Red
Instal·la i configura Node-Red
Instal·la i configura Node-Red

Node-Red ve preinstal·lat a totes les versions del sistema operatiu Raspbian des de finals del 2015. Per saber si teniu node-red instal·lat, simplement executeu l'ordre següent al terminal.

vermell de node

Si es mostra un missatge "Comanda no trobada", haureu d'instal·lar el vermell del node. Per fer-ho, executeu les ordres següents.

sudo apt-get update sudo apt-get install va assenyalar

Després d’iniciar node-vermell, podeu accedir a node-vermell des de l’adreça que es mostra a la sortida.

L'única configuració que queda és instal·lar els nodes MySQL. Podeu fer-ho a través del navegador. Feu clic al símbol situat a l'extrem superior dret de la pàgina i, a continuació, feu clic a l'opció "Gestiona la paleta". Des d'allà, simplement cerqueu "mysql" i feu clic al botó d'instal·lació.

Ara estem a punt per importar l'API.

Pas 5: configureu l'API

Configureu l'API
Configureu l'API
Configureu l'API
Configureu l'API
Configureu l'API
Configureu l'API

A continuació es mostra tota l'API vermell de node que vaig escriure. Simplement copieu tot el que hi ha a continuació, feu clic al símbol que hi ha a l'extrem superior dret i aneu a importar → del porta-retalls.

[{"id": "ef09537e.8b96d", "type": "subflux", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "wires": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "wires": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "sol·licitud http", "z": "ef09537e.8b96d", "nom ":" Sol·licitud panoràmica de sortida "," mètode ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":

Ara teniu tota l'API que farem servir per inserir i actualitzar dades. Només cal fer un parell d’ajustos abans que estiguem preparats per utilitzar-lo.

  1. Primer, aneu a tots els nodes de la base de dades MySQL i canvieu el nom d’usuari i la contrasenya pels que heu creat per a la base de dades al pas anterior.
  2. En segon lloc, editeu el subfluix mineOutPanData de manera que la sol·licitud HTTP que s’utilitza per obtenir les dades d’Open Pan utilitzi la vostra pròpia clau API.

Ara ja podeu utilitzar l'API. Aquest flux crea una API REST senzilla que us permet enviar dades des de qualsevol dispositiu connectat a Internet mitjançant sol·licituds

Pas 6: (opcional) Descripció de l'API

Connecteu el commutador de commutació
Connecteu el commutador de commutació

L'últim que hem de fer és connectar un commutador al GPIO perquè puguem escanejar en dos modes, afegir i eliminar.

Això és bastant senzill, simplement configureu un commutador alternatiu per llegir-lo des del pin 21 de GPIO al Pi i ja esteu bé. Mitjançant el circuit de la imatge adjunta (conegut com a circuit PUD DOWN), l'script enviarà una sol·licitud d'addició quan el commutador de commutació estigui tancat i una sol·licitud d'eliminació quan el commutador de commutació estigui obert.

Després d’això, simplement enganxem els cables a l’interior de la caixa i ja estem bé.

Pas 9: (Opcional) Creeu una interfície d'usuari

(Opcional) Creeu una interfície d'usuari
(Opcional) Creeu una interfície d'usuari

Aquest darrer pas no és necessari, però sens dubte útil si voleu aprofitar tot el potencial del sistema. He preparat una interfície d’usuari molt senzilla que mostrava totes les dades que tenim a la nostra base de dades en una taula fàcil de navegar. La taula es pot ordenar per columnes i també es pot cercar, cosa que facilita la visualització del que teniu a mà.

La IU és bastant senzilla; He tornat a proposar algun exemple de codi que he trobat en línia per treballar amb la nostra API (si us interessa, aquest codi d'exemple es pot trobar aquí).

Per executar la IU, feu el següent …

  1. Deseu el fitxer index.txt adjunt com a index.html (per algun motiu no he pogut carregar el fitxer com a fitxer HTML).
  2. Col·loqueu els dos fitxers al mateix directori de l'ordinador.
  3. Executeu el fitxer "index.html" al vostre navegador web preferit.

Ara podem veure i ordenar fàcilment el vostre inventari.

Pas 10: Comenceu a escanejar

Comenceu a escanejar
Comenceu a escanejar

Ara ja esteu a punt per començar a escanejar. Si teniu alguna pregunta, deixeu-los als comentaris i segur que respondré quan pugui.

Per últim, els vostres vots al concurs serien molt apreciats. Gràcies per llegir!

Recomanat: