Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Installera och konfigurera databasen
- Steg 3: Skaffa OutPan API -nyckel
- Steg 4: Installera och konfigurera Node-Red
- Steg 5: Konfigurera API: et
- Steg 6: (Valfritt) Förstå API
- Steg 9: (Valfritt) Skapa ett användargränssnitt
- Steg 10: Börja skanna
Video: Integrerat lagerhanteringssystem: 10 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Jag har alltid velat ha ett prisvärt sätt att hålla reda på allt i mitt skafferi, så för ett par månader sedan började jag arbeta med ett projekt som skulle göra just det. Målet var att göra ett enkelt, prisvärt system som var mycket lätt att använda samtidigt som det lagrade tillräckligt med information för att vara värt den extra ansträngningen. Vad jag så småningom byggde är ett lagerhanteringssystem som kan lagra och uppdatera information om alla objekt som har en streckkod, samt min grundläggande data om dessa artiklar från internet.
Kort sagt, systemet fungerar så här.
- En streckkod skannas.
- Ett Python -skript läser data från skannern.
- Begäran skickas till ett REST-API som körs på nod-röd.
- API: et behandlar begäran, bryter ytterligare data från internet och redigerar databasen i enlighet därmed.
Allt detta görs på en enda Raspberry Pi, vilket ger dig möjlighet att uppdatera och lagra data om hela ditt lager i ett litet, bärbart system. Detta projekt är lite tekniskt och en grundläggande förståelse för databaser, HTTP och Python kommer att vara till stor hjälp, men jag kommer att göra mitt bästa för att göra det lätt nog för en nybörjare att förstå. Låt oss börja!
Steg 1: Vad du behöver
Delarna du behöver för detta projekt är …
- Raspberry Pi
- USB -streckkodsläsare (länk till den jag använder)
- WiFi -adapter (om din Pi inte har inbyggd WiFi)
- Brytare
- Jumper Wires
- Fodral till din Raspberry Pi (tillval)
Steg 2: Installera och konfigurera databasen
MySQL är databashanteringssystemet som kommer att lagra all data vi drar in från streckkodsskanningarna. Detta är mycket enkelt att göra på Pi, kör enkelt följande kommando i terminalen på din Pi.
sudo apt-get installera mysql-server
Du går sedan igenom installationsprocessen och uppmanas att skapa ett lösenord. Det är allt. Med MySQL installerat kan din Pi fungera som sin egen lilla databasserver. Nu måste vi skapa tabellerna som innehåller våra data. Logga in först. Efter installationen är den enda MySql -användaren root (användaren som har åtkomst till varje bord och system). Du kan logga in som root genom att köra följande kommando.
mysql -uroot -p
Snart kommer vi att skapa en annan användare som vårt system ska använda men först måste vi skapa vår databas och tabellerna i databasen. För att göra detta, kör följande kommandon.
skapa databasinventering;
använd inventering; skapa tabell upc_count (upc varchar (15) inte null, räkna heltal (3) inte null standard 0, namn varchar (255), storlek varchar (40), tillverkare varchar (80), primärnyckel (upc));
Nu har vi en enkel tabell med fem kolumner uppc (som blir huvudnyckeln), antal, namn, storlek och tillverkare. Obs: A upc är ett tal som unikt identifierar en produkt. Det numret är det som läses från streckkodsetiketten när den skannas.
Slutligen kommer vi att ställa in den användaren vi behöver. Jag kommer att ringa min, för att göra detta, kör följande kommandon, med vilket användarnamn och lösenord du vill:
bevilja allt på lager.* till ''@'localhost' identifierad av;
Nu när vi har vår databas kan vi börja bygga systemet!
Steg 3: Skaffa OutPan API -nyckel
OutPan är ett API som kan användas för att få information om en produkt med dess upc -nummer. Vi kommer att använda detta för att få mer information om produkterna när de läggs till i databasen. Detta är en offentlig API, men för att kunna använda den måste du registrera dig och få en API -nyckel. Registrering är ganska enkelt, helt enkelt gå hit och följ stegen för att registrera dig för en nyckel.
När du fått din nyckel, kopiera ner den. Du behöver det i ett senare steg.
Steg 4: Installera och konfigurera Node-Red
Node-Red är förinstallerat på alla versioner av Raspbian OS sedan slutet av 2015. För att ta reda på om du har nod-röd installerat, kör helt enkelt följande kommando i terminalen.
nod-röd
Om meddelandet "kommando hittades inte" visas måste du installera nod-röd. För att göra detta, kör följande kommandon.
sudo apt-get uppdatering sudo apt-get install nodered
Efter att ha startat nod-rött kan du komma åt nod-röd från adressen som visas i utdata.
Den enda inställningen som återstår är att installera MySQL -noder. Du kan göra detta via webbläsaren. Klicka på symbolen i det övre högra hörnet av sidan och klicka sedan på alternativet 'Hantera palett'. Därifrån söker du bara efter 'mysql' och klickar på installationsknappen.
Vi är nu redo att importera API: et.
Steg 5: Konfigurera API: et
Nedan finns hela nod-röda API: et som jag skrev. Kopiera helt enkelt allt nedan, klicka på symbolen i det övre högra hörnet och gå till import → från Urklipp.
[{"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": "http request", "z": "ef09537e.8b96d", "name ":" Begäran om panering "," method ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":
Nu har du hela API: et som vi ska använda för att infoga och uppdatera data. Endast ett par justeringar behöver göras innan vi är redo att använda det.
- Gå först in i alla MySQL -databasnoder och ändra användarnamn och lösenord till dem du skapade för databasen i föregående steg.
- För det andra, redigera mineOutPanData -underflödet så att HTTP -begäran som används för att hämta Open Pan -data använder din egen API -nyckel.
Nu är du redo att använda API: et. Detta flöde skapar ett enkelt REST API som låter dig skicka data från alla enheter som är anslutna till internet med hjälp av HTTP -förfrågningar.
Steg 6: (Valfritt) Förstå API
Det sista vi behöver göra är att ansluta en switch till GPIO så att vi kan skanna i två lägen, lägga till och ta bort.
Detta är ganska rakt fram, helt enkelt ställa in en växelströmbrytare för att läsa från GPIO pin 21 på Pi och du är klar att gå. Med hjälp av kretsen på den bifogade bilden (känd som en PUD DOWN -krets) kommer skriptet att skicka en tilläggsbegäran när omkopplaren är stängd och en begäran om att ta bort när vippomkopplaren är öppen.
Därefter tejpar vi helt enkelt fast trådarna på insidan av fodralet och vi är igång.
Steg 9: (Valfritt) Skapa ett användargränssnitt
Detta sista steg är inte nödvändigt men verkligen användbart om du vill utnyttja hela potentialen i systemet. Jag riggade upp ett mycket enkelt användargränssnitt som visade all data vi har i vår databas i en tabell som är lätt att navigera. Tabellen kan sorteras efter kolumn och även sökas, vilket gör det enkelt att se vad du har till hands.
UI är ganska enkelt; Jag tänkte om några exempelkoder som jag hittade på nätet för att fungera med vårt API (om du är intresserad kan den här exempelkoden hittas här).
Gör följande för att köra användargränssnittet …
- Spara den bifogade index.txt -filen som index.html (jag kunde inte ladda upp filen som en HTML -fil av någon anledning).
- Lägg de två filerna i samma katalog på din dator.
- Kör filen 'index.html' i din favoritwebbläsare.
Nu kan vi enkelt se och sortera igenom ditt lager!
Steg 10: Börja skanna
Nu är du redo att börja skanna! Om du har några frågor lämna dem i kommentarerna och jag kommer säkert att svara när jag kan.
Slutligen skulle dina röster i tävlingen uppskattas mycket. Tack för att du läser!
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Music Assembler: Integrerat virtuellt musikinstrument med blocktypad beröringssensor: 4 steg
Music Assembler: Integrated Virtual Musical Instrument With Block-Typed Touch Sensor: Det finns många människor som vill lära sig spela musikinstrument. Tyvärr startar några av dem inte på grund av högt pris på instrument. Baserat på det bestämde vi oss för att göra ett integrerat virtuellt musikinstrumentsystem för att minska budgeten för att börja
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen
IoT -kattmatare med partikelfoton integrerat med Alexa, SmartThings, IFTTT, Google Sheets: 7 steg (med bilder)
IoT -kattmatare med partikelfoton integrerat med Alexa, SmartThings, IFTTT, Google Sheets: Behovet av en automatisk kattmatare är självförklarande. Katter (vår katt heter Bella) kan vara vidriga när de är hungriga och om din katt är som min kommer den att äta skålen torr varje gång. Jag behövde ett sätt att automatiskt dosera en kontrollerad mängd mat