Taula de continguts:
- Pas 1: què necessiteu
- Pas 2: instal·leu i configureu la base de dades
- Pas 3: Obteniu la clau d'API OutPan
- Pas 4: Instal·leu i configureu Node-Red
- Pas 5: configureu l'API
- Pas 6: (opcional) Descripció de l'API
- Pas 9: (Opcional) Creeu una interfície d'usuari
- Pas 10: Comenceu a escanejar
Vídeo: Sistema de gestió d'inventaris integrat: 10 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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í.
- S'escaneja un codi de barres.
- Un script Python llegeix les dades de l'escàner.
- La sol·licitud s'envia a una API REST que s'executa en vermell de node.
- 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
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
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
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
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.
- 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.
- 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
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
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 …
- Deseu el fitxer index.txt adjunt com a index.html (per algun motiu no he pogut carregar el fitxer com a fitxer HTML).
- Col·loqueu els dos fitxers al mateix directori de l'ordinador.
- 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
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:
Nest Hello - Campaneta de campanar amb transformador integrat Regne Unit (220-240V CA - 16V CA): 7 passos (amb imatges)
Nest Hello - Campaneta de campanar amb transformador integrat Regne Unit (220-240V CA - 16V CA): volia instal·lar un timbre Nest Hello a casa, un aparell que funciona amb 16V-24V CA (NOTA: una actualització de programari el 2019 va canviar Europa gamma de versions a 12V-24V AC). Els timbres de timbre estàndard amb transformadors integrats disponibles al Regne Unit a
Gestor de tasques: un sistema de gestió de tasques domèstiques: 5 passos (amb imatges)
Gestor de tasques: un sistema de gestió de les tasques de la llar: volia intentar abordar un problema real a què s’enfronta la nostra llar (i, imagino, el de molts altres lectors), que és com assignar, motivar i premiar els meus fills per ajudar-los amb les feines domèstiques. Fins ara hem conservat un full laminat
Gestió de plantes basades en el pes solar amb ESP32: 7 passos (amb imatges)
Gestió de plantes basades en el pes solar amb ESP32: fer créixer les plantes és divertit i regar-les i cuidar-les no és realment una molèstia. Les aplicacions de microcontroladors per controlar la seva salut es troben a tot Internet i la inspiració del seu disseny prové de la naturalesa estàtica de la planta i de la facilitat de monitora
Alimentador de gats IoT amb fotó de partícules integrat amb Alexa, SmartThings, IFTTT, Fulls de càlcul de Google: 7 passos (amb imatges)
Alimentador de gats IoT que utilitza fotó de partícules integrat amb Alexa, SmartThings, IFTTT, Fulls de càlcul de Google: la necessitat d’un alimentador automàtic de gats s’explica per si mateixa. Els gats (el nostre gat es diu Bella) poden ser desagradables quan tenen gana i, si el vostre gat és com el meu, menjarà el bol sec cada vegada. Necessitava una manera de distribuir automàticament una quantitat controlada d'aliments
Sistema de gestió de motors per a aplicacions d’elevació mitjançant Arduino Mega 2560 i IoT: 8 passos (amb imatges)
Sistema de gestió de motors per a l’elevació d’aplicacions que utilitzen Arduino Mega 2560 i IoT: ara el microcontrolador basat en IoT és molt utilitzat a l’aplicació industrial. Econòmicament s’utilitzen en lloc d’un ordinador. L'objectiu del projecte és fer un control totalment digitalitzat, registrador de dades i supervisar el motor d'inducció trifàsic w