Sommario:

Sistema di gestione dell'inventario integrato: 10 passaggi (con immagini)
Sistema di gestione dell'inventario integrato: 10 passaggi (con immagini)

Video: Sistema di gestione dell'inventario integrato: 10 passaggi (con immagini)

Video: Sistema di gestione dell'inventario integrato: 10 passaggi (con immagini)
Video: Sistema di Gestione dei servizi IT secondo il modello ISO/IEC 20000 2024, Luglio
Anonim
Sistema di gestione dell'inventario integrato
Sistema di gestione dell'inventario integrato

Ho sempre voluto un modo conveniente per tenere traccia di tutto nella mia dispensa, quindi un paio di mesi fa ho iniziato a lavorare a un progetto che avrebbe fatto proprio questo. L'obiettivo era quello di creare un sistema semplice ed economico che fosse molto facile da usare e allo stesso tempo memorizzasse abbastanza informazioni per valere lo sforzo extra. Quello che alla fine ho costruito è un sistema di gestione dell'inventario in grado di archiviare e aggiornare le informazioni su qualsiasi articolo che ha un codice a barre, nonché i miei dati di base su quegli articoli da Internet.

In breve, il sistema funziona così.

  1. Viene scansionato un codice a barre.
  2. Uno script Python legge i dati dallo scanner.
  3. La richiesta viene inviata a un'API REST in esecuzione su node-red.
  4. L'API elabora la richiesta, estrae dati aggiuntivi da Internet e modifica il database di conseguenza.

Tutto questo viene fatto su un singolo Raspberry Pi, dandoti la possibilità di aggiornare e memorizzare i dati sull'intero inventario in un piccolo sistema portatile. Questo progetto è un po' tecnico e una conoscenza di base di database, HTTP e Python sarà molto utile, ma farò del mio meglio per renderlo abbastanza facile da capire per un principiante. Iniziamo!

Passaggio 1: cosa ti servirà

Cosa ti servirà
Cosa ti servirà

Le parti di cui avrai bisogno per questo progetto sono…

  • Lampone Pi
  • Scanner di codici a barre USB (link a quello che sto usando)
  • Adattatore WiFi (se il tuo Pi non ha il WiFi integrato)
  • Interruttore a levetta
  • Cavi per ponticelli
  • Custodia per il tuo Raspberry Pi (opzionale)

Passaggio 2: installa e configura il database

Installa e configura il database
Installa e configura il database

MySQL è il sistema di gestione del database che conterrà tutti i dati che estraiamo dalle scansioni dei codici a barre. Questo è molto facile da fare sul Pi, esegui semplicemente il seguente comando nel terminale del tuo Pi.

sudo apt-get install mysql-server

Verrai quindi guidato attraverso il processo di installazione e ti verrà chiesto di creare una password. Questo è tutto. Con MySQL installato, il tuo Pi può fungere da piccolo server di database. Ora dobbiamo creare le tabelle che conterranno i nostri dati. Per prima cosa, accedi. Dopo l'installazione, l'unico utente MySql è root (l'utente che ha accesso a ogni tabella e sistema). Puoi accedere come root eseguendo il seguente comando.

mysql -uroot -p

Presto configureremo un altro utente che il nostro sistema utilizzerà, ma prima dobbiamo creare il nostro database e le tabelle all'interno di quel database. Per fare ciò, esegui i seguenti comandi.

creare un inventario del database;

utilizzare l'inventario; crea tabella upc_count(upc varchar(15) not null, count integer(3) not null default 0, name varchar(255), size varchar(40), producer varchar(80), primary key (upc));

Ora abbiamo una semplice tabella con cinque colonne upc (che sarà la chiave primaria), conteggio, nome, dimensione e produttore. Nota: un upc è un numero che identifica in modo univoco un prodotto. Quel numero è ciò che viene letto dall'etichetta del codice a barre quando viene scansionato.

Infine, configureremo l'utente di cui abbiamo bisogno. Chiamerò il mio, per farlo, esegui i seguenti comandi, usando qualsiasi nome utente e password desideri:

concedere tutto sull'inventario.* a ''@'localhost' identificato da;

Ora che abbiamo il nostro database, possiamo iniziare a costruire il sistema!

Passaggio 3: ottenere la chiave API OutPan

OutPan è un'API che può essere utilizzata per ottenere informazioni su un prodotto utilizzando il suo numero upc. Lo useremo per estrarre ulteriori informazioni sui prodotti man mano che vengono aggiunti al database. Questa è un'API pubblica, ma per utilizzarla è necessario registrarsi e ottenere una chiave API. La registrazione è piuttosto semplice, basta andare qui e seguire i passaggi per registrarsi per una chiave.

Una volta ottenuta la chiave, copiala. Ne avrai bisogno in un passaggio successivo.

Passaggio 4: installa e configura Node-Red

Installa e configura Node-Red
Installa e configura Node-Red
Installa e configura Node-Red
Installa e configura Node-Red

Node-Red è preinstallato su tutte le versioni del sistema operativo Raspbian dalla fine del 2015. Per scoprire se hai installato node-red, esegui semplicemente il seguente comando nel terminale.

nodo-rosso

Se viene visualizzato un messaggio "comando non trovato", dovrai installare node-red. Per fare ciò, esegui i seguenti comandi.

sudo apt-get update sudo apt-get install nodered

Dopo aver avviato node-red, è possibile accedere a node-red dall'indirizzo visualizzato nell'output.

L'unica configurazione rimasta è installare i nodi MySQL. Puoi farlo tramite il browser. Fare clic sul simbolo nell'angolo in alto a destra della pagina e quindi fare clic sull'opzione "Gestisci tavolozza". Da lì, cerca semplicemente "mysql" e fai clic sul pulsante di installazione.

Ora siamo pronti per importare l'API.

Passaggio 5: imposta l'API

Imposta l'API
Imposta l'API
Imposta l'API
Imposta l'API
Imposta l'API
Imposta l'API

Di seguito è riportata l'intera API node-red che ho scritto. Basta copiare tutto sotto, fare clic sul simbolo nell'angolo in alto a destra e andare su importa → dagli appunti.

[{"id":"ef09537e.8b96d", "type":"subflow", "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":"richiesta http", "z":"ef09537e.8b96d", "name ":"Richiesta Out Pan", "method":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "wires":

Ora hai l'intera API che useremo per inserire e aggiornare i dati. È necessario apportare solo un paio di modifiche prima di poterlo utilizzare.

  1. Innanzitutto, accedi a tutti i nodi del database MySQL e modifica il nome utente e la password con quelli creati per il database nel passaggio precedente.
  2. In secondo luogo, modifica il sottoflusso mineOutPanData in modo che la richiesta HTTP utilizzata per ottenere i dati Open Pan utilizzi la tua chiave API.

Ora sei pronto per utilizzare l'API. Questo flusso crea una semplice API REST che consente di inviare dati da qualsiasi dispositivo connesso a Internet tramite richieste

Passaggio 6: (Facoltativo) Comprendere l'API

Collega l'interruttore a levetta
Collega l'interruttore a levetta

L'ultima cosa che dobbiamo fare è collegare uno switch al GPIO in modo da poter eseguire la scansione in due modalità, aggiungere e rimuovere.

Questo è abbastanza semplice, basta impostare un interruttore a levetta per leggere dal pin 21 GPIO sul Pi e sei a posto. Utilizzando il circuito sull'immagine allegata (noto come circuito PUD DOWN) lo script invierà una richiesta di aggiunta quando l'interruttore a levetta è chiuso e una richiesta di rimozione quando l'interruttore a levetta è aperto.

Dopodiché fissiamo semplicemente i fili all'interno della custodia e siamo a posto.

Passaggio 9: (Facoltativo) Crea un'interfaccia utente

(Facoltativo) Crea un'interfaccia utente
(Facoltativo) Crea un'interfaccia utente

Quest'ultimo passaggio non è necessario ma sicuramente utile se si vuole sfruttare al massimo le potenzialità del sistema. Ho creato un'interfaccia utente molto semplice che mostrava tutti i dati che abbiamo nel nostro database in una tabella di facile navigazione. La tabella può essere ordinata per colonna e anche cercata, rendendo più facile vedere cosa hai a portata di mano.

L'interfaccia utente è piuttosto semplice; Ho riproposto un codice di esempio che ho trovato online per funzionare con la nostra API (se sei interessato, quel codice di esempio può essere trovato qui).

Per eseguire l'interfaccia utente, procedi come segue…

  1. Salva il file index.txt allegato come index.html (non ho potuto caricare il file come file HTML per qualche motivo).
  2. Metti i due file nella stessa directory sul tuo computer.
  3. Esegui il file "index.html" nel tuo browser web preferito.

Ora possiamo vedere e ordinare facilmente il tuo inventario!

Passaggio 10: avvia la scansione

Inizia la scansione!
Inizia la scansione!

Ora sei pronto per iniziare la scansione! Se hai domande, lasciale nei commenti e sarò sicuro di rispondere quando posso.

Infine, i tuoi voti nel concorso sarebbero molto apprezzati. Grazie per aver letto!

Consigliato: