Inhoudsopgave:

Geïntegreerd voorraadbeheersysteem: 10 stappen (met afbeeldingen)
Geïntegreerd voorraadbeheersysteem: 10 stappen (met afbeeldingen)

Video: Geïntegreerd voorraadbeheersysteem: 10 stappen (met afbeeldingen)

Video: Geïntegreerd voorraadbeheersysteem: 10 stappen (met afbeeldingen)
Video: Webinar voorraadbeheer door Olivier Corluy 2024, Juli-
Anonim
Geïntegreerd voorraadbeheersysteem
Geïntegreerd voorraadbeheersysteem

Ik heb altijd een betaalbare manier gewild om alles in mijn voorraadkast bij te houden, dus een paar maanden geleden begon ik aan een project te werken dat precies dat zou doen. Het doel was om een eenvoudig, betaalbaar systeem te maken dat zeer gebruiksvriendelijk was en tegelijkertijd voldoende informatie opsloeg om de extra moeite waard te zijn. Wat ik uiteindelijk heb gebouwd, is een voorraadbeheersysteem dat informatie over elk item met een streepjescode kan opslaan en bijwerken, evenals basisgegevens over die items van internet.

Kortom, het systeem werkt als volgt.

  1. Er wordt een streepjescode gescand.
  2. Een Python-script leest de gegevens van de scanner.
  3. Het verzoek wordt verzonden naar een REST API die draait op node-red.
  4. De API verwerkt het verzoek, haalt aanvullende gegevens van internet en bewerkt de database dienovereenkomstig.

Dit alles wordt gedaan op een enkele Raspberry Pi, waardoor je de mogelijkheid hebt om gegevens over je hele inventaris bij te werken en op te slaan in één klein, draagbaar systeem. Dit project is een beetje technisch en een basiskennis van databases, HTTP en Python zal zeer nuttig zijn, maar ik zal mijn best doen om het gemakkelijk genoeg te maken voor een beginner om te begrijpen. Laten we beginnen!

Stap 1: Wat heb je nodig

Wat je nodig hebt
Wat je nodig hebt

De onderdelen die je nodig hebt voor dit project zijn…

  • Raspberry Pi
  • USB-barcodescanner (link naar degene die ik gebruik)
  • WiFi-adapter (als uw Pi geen ingebouwde WiFi heeft)
  • Tuimelschakelaar
  • Doorverbindingsdraden
  • Case voor je Raspberry Pi (optioneel)

Stap 2: Installeer en stel de database in

De database installeren en instellen
De database installeren en instellen

MySQL is het databasebeheersysteem dat alle gegevens bevat die we uit de streepjescodescans halen. Dit is heel gemakkelijk te doen op de Pi, voer eenvoudig het volgende commando uit in de terminal van je Pi.

sudo apt-get install mysql-server

U wordt dan door het installatieproces geleid en gevraagd om een wachtwoord aan te maken. Dat is het. Als MySQL is geïnstalleerd, kan uw Pi fungeren als zijn eigen kleine databaseserver. Nu moeten we de tabellen maken die onze gegevens bevatten. Log eerst in. Na installatie is de enige MySql-gebruiker root (de gebruiker die toegang heeft tot elke tafel en elk systeem). U kunt inloggen als root door de volgende opdracht uit te voeren.

mysql -uroot -p

Binnenkort zullen we een andere gebruiker instellen die ons systeem moet gebruiken, maar eerst moeten we onze database en de tabellen in die database maken. Voer hiervoor de volgende opdrachten uit.

database-inventaris maken;

inventaris gebruiken; tabel aanmaken upc_count(upc varchar(15) not null, count integer(3) not null default 0, naam varchar(255), grootte varchar(40), fabrikant varchar(80), primaire sleutel (upc));

Nu hebben we een eenvoudige tabel met vijf kolommen upc (wat de primaire sleutel zal zijn), aantal, naam, grootte en fabrikant. Opmerking: een upc is een nummer dat een product op unieke wijze identificeert. Dat nummer wordt bij het scannen van het streepjescodelabel afgelezen.

Ten slotte gaan we die gebruiker instellen die we nodig hebben. Ik ga de mijne bellen, om dit te doen, voer je de volgende opdrachten uit, met de gebruikersnaam en het wachtwoord die je maar wilt:

verleen alles op inventaris.* aan ''@'localhost' geïdentificeerd door;

Nu we onze database hebben, kunnen we beginnen met het bouwen van het systeem!

Stap 3: Verkrijg de OutPan API-sleutel

OutPan is een API die kan worden gebruikt om informatie over een product te krijgen met behulp van het upc-nummer. We gaan dit gebruiken om meer informatie over de producten te verzamelen wanneer ze aan de database worden toegevoegd. Dit is een openbare api, maar om deze te gebruiken, moet je je aanmelden en een api-sleutel krijgen. Aanmelden is vrij eenvoudig, ga gewoon hierheen en volg de stappen om u aan te melden voor een sleutel.

Zodra u uw sleutel hebt, kopieert u deze naar beneden. Je hebt het in een latere stap nodig.

Stap 4: Installeer en stel Node-Red in

Installeren en instellen Node-Red
Installeren en instellen Node-Red
Installeren en instellen Node-Red
Installeren en instellen Node-Red

Node-Red is voorgeïnstalleerd op alle versies van het Raspbian-besturingssysteem sinds eind 2015. Om erachter te komen of node-red is geïnstalleerd, voert u eenvoudig de volgende opdracht uit in de terminal.

knoop-rood

Als het bericht "opdracht niet gevonden" wordt weergegeven, moet u node-red installeren. Voer hiervoor de volgende opdrachten uit.

sudo apt-get update sudo apt-get install nodered

Nadat u node-red hebt gestart, hebt u toegang tot node-red vanaf het adres dat in de uitvoer wordt weergegeven.

De enige instelling die nog over is, is het installeren van de MySQL-knooppunten. Dit doe je via de browser. Klik op het symbool in de rechterbovenhoek van de pagina en klik vervolgens op de optie 'Palet beheren'. Van daaruit zoekt u eenvoudig naar 'mysql' en klikt u op de knop Installeren.

We zijn nu klaar om de API te importeren.

Stap 5: Stel de API in

Stel de API in
Stel de API in
Stel de API in
Stel de API in
Stel de API in
Stel de API in

Hieronder staat de volledige node-red API die ik heb geschreven. Kopieer eenvoudig alles hieronder, klik op het symbool in de rechterbovenhoek en ga naar importeren → van klembord.

[{"id":"ef09537e.8b96d", "type":"subflow", "name":"mineOpenPanData", "info":"", "in":[{"x":64, "y":57, "draden":[{"id":"b8b6d2e4.169e7"}]}], "out":[{"x":755, "y":58, "draden":[{"id":"8dc2d52b.6a6fd8", "poort":0}]}]}, {"id":"b8b6d2e4.169e7", "type":"http-verzoek", "z":"ef09537e.8b96d", "naam ":"Out Pan Request", "method":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "wires":

Nu heb je de volledige API die we zullen gebruiken om gegevens in te voegen en bij te werken. Er hoeven slechts een paar aanpassingen te worden gedaan voordat we klaar zijn om het te gebruiken.

  1. Ga eerst naar alle MySQL-databaseknooppunten en wijzig de gebruikersnaam en het wachtwoord in degene die u in de vorige stap voor de database hebt gemaakt.
  2. Ten tweede, bewerk de mineOutPanData-substroom zodat het HTTP-verzoek dat wordt gebruikt om de Open Pan-gegevens op te halen, uw eigen API-sleutel gebruikt.

Nu bent u klaar om de API te gebruiken. Deze stroom creëert een eenvoudige REST-API waarmee u gegevens kunt verzenden vanaf elk apparaat dat is verbonden met internet met behulp van

Stap 6: (Optioneel) De API begrijpen

Sluit de tuimelschakelaar aan
Sluit de tuimelschakelaar aan

Het laatste dat we hoeven te doen, is een schakelaar op de GPIO aansluiten, zodat we in twee modi kunnen scannen, toevoegen en verwijderen.

Dit is vrij eenvoudig, stel gewoon een tuimelschakelaar in om van GPIO-pin 21 op de Pi te lezen en je bent klaar om te gaan. Met behulp van het circuit op de bijgevoegde afbeelding (bekend als een PUD DOWN-circuit) zal het script een toevoegverzoek verzenden wanneer de tuimelschakelaar is gesloten en een verwijderverzoek wanneer de tuimelschakelaar open is.

Daarna plakken we de draden gewoon aan de binnenkant van de behuizing en zijn we klaar om te gaan.

Stap 9: (Optioneel) Maak een gebruikersinterface

(Optioneel) Maak een gebruikersinterface
(Optioneel) Maak een gebruikersinterface

Deze laatste stap is niet noodzakelijk maar zeker nuttig als u het volledige potentieel van het systeem wilt benutten. Ik heb een heel eenvoudige gebruikersinterface opgezet die alle gegevens die we in onze database hebben weergeeft in een gemakkelijk te navigeren tabel. De tabel kan per kolom worden gesorteerd en ook worden doorzocht, zodat u gemakkelijk kunt zien wat u bij de hand hebt.

De gebruikersinterface is vrij eenvoudig; Ik heb een voorbeeldcode die ik online vond opnieuw gebruikt om met onze API te werken (als je geïnteresseerd bent, kun je die voorbeeldcode hier vinden).

Ga als volgt te werk om de gebruikersinterface uit te voeren…

  1. Sla het bijgevoegde index.txt-bestand op als index.html (ik kon het bestand om de een of andere reden niet uploaden als HTML-bestand).
  2. Zet de twee bestanden in dezelfde map op uw computer.
  3. Voer het bestand 'index.html' uit in uw favoriete webbrowser.

Nu kunnen we uw inventaris gemakkelijk bekijken en sorteren!

Stap 10: Begin met scannen

Begin met scannen!
Begin met scannen!

Nu ben je klaar om te beginnen met scannen! Als je vragen hebt, laat ze dan achter in de reacties en ik zal zeker antwoorden wanneer ik kan.

Tot slot zouden uw stemmen in de wedstrijd zeer op prijs worden gesteld. Bedankt voor het lezen!

Aanbevolen: