Indholdsfortegnelse:
- Trin 1: Hvad skal du bruge
- Trin 2: Installer og konfigurer databasen
- Trin 3: Hent OutPan API -nøgle
- Trin 4: Installer og konfigurer Node-Red
- Trin 5: Konfigurer API
- Trin 6: (Valgfrit) Forståelse af API
- Trin 9: (Valgfrit) Opret en brugergrænseflade
- Trin 10: Start scanning
Video: Integreret lagerstyringssystem: 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Jeg har altid ønsket en overkommelig måde at holde styr på alt i mit spisekammer, så for et par måneder siden begyndte jeg at arbejde på et projekt, der ville gøre netop det. Målet var at lave et enkelt, overkommeligt system, der var meget let at bruge, samtidig med at det lagrede nok information til at være den ekstra indsats værd. Det, jeg til sidst har bygget, er et lagerstyringssystem, der kan gemme og opdatere oplysninger om ethvert element, der har en stregkode, samt mine grundlæggende data om disse varer fra internettet.
Kort sagt fungerer systemet sådan.
- En stregkode scannes.
- Et Python -script læser dataene fra scanneren.
- Anmodningen sendes til en REST API, der kører på node-red.
- API'et behandler anmodningen, miner yderligere data fra internettet og redigerer databasen i overensstemmelse hermed.
Alt dette sker på en enkelt Raspberry Pi, hvilket giver dig mulighed for at opdatere og gemme data om hele din beholdning i et lille, bærbart system. Dette projekt er lidt teknisk og en grundlæggende forståelse af databaser, HTTP og Python vil være meget nyttigt, men jeg vil gøre mit bedste for at gøre det let nok for en nybegynder at forstå. Lad os komme igang!
Trin 1: Hvad skal du bruge
De dele, du skal bruge til dette projekt, er …
- Hindbær Pi
- USB stregkodescanner (link til den jeg bruger)
- WiFi -adapter (hvis din Pi ikke har indbygget WiFi)
- Toggle Switch
- Jumper Wires
- Etui til din Raspberry Pi (valgfri)
Trin 2: Installer og konfigurer databasen
MySQL er databasesystemet, der gemmer alle de data, vi henter fra stregkodescanninger. Dette er meget let at gøre på Pi, simpelthen køre følgende kommando i terminalen på din Pi.
sudo apt-get installer mysql-server
Du bliver derefter gennemgået installationsprocessen og bedt om at oprette en adgangskode. Det er det. Med MySQL installeret kan din Pi fungere som sin egen lille databaseserver. Nu skal vi oprette tabellerne, der skal indeholde vores data. Log først på. Efter installationen er den eneste MySql -bruger root (den bruger, der har adgang til alle tabeller og systemer). Du kan logge ind som root ved at køre følgende kommando.
mysql -uroot -p
Snart opretter vi en anden bruger, som vores system skal bruge, men først skal vi oprette vores database og tabellerne i denne database. For at gøre dette skal du køre følgende kommandoer.
oprette database opgørelse;
bruge beholdning; oprette tabel upc_count (upc varchar (15) ikke null, tæl heltal (3) ikke null standard 0, navn varchar (255), størrelse varchar (40), producent varchar (80), primær nøgle (upc));
Nu har vi en simpel tabel med fem kolonner upc (som vil være den primære nøgle), tælling, navn, størrelse og producent. Bemærk: A upc er et tal, der entydigt identificerer et produkt. Det tal er det, der læses fra stregkodemærkaten, når det scannes.
Endelig vil vi oprette den bruger, vi har brug for. Jeg vil ringe til min, for at gøre dette skal du køre følgende kommandoer ved hjælp af det brugernavn og den adgangskode, du gerne vil have:
give alt på lager.* til ''@'localhost' identificeret af;
Nu hvor vi har vores database, kan vi begynde at bygge systemet!
Trin 3: Hent OutPan API -nøgle
OutPan er en API, der kan bruges til at få oplysninger om et produkt ved hjælp af dets upc -nummer. Vi kommer til at bruge dette til at udvinde flere oplysninger om produkterne, når de tilføjes til databasen. Dette er en offentlig api, men for at bruge den skal du tilmelde dig og få en api -nøgle. Tilmelding er ret ligetil, bare gå her og følg trinene for at tilmelde dig en nøgle.
Når du har fået din nøgle, skal du kopiere den ned. Du får brug for det i et senere trin.
Trin 4: Installer og konfigurer Node-Red
Node-Red er forudinstalleret på alle versioner af Raspbian OS siden slutningen af 2015. For at finde ud af, om du har node-red installeret, skal du blot køre følgende kommando i terminalen.
knude-rød
Hvis meddelelsen "kommando ikke fundet" vises, skal du installere knude-rød. For at gøre dette skal du køre følgende kommandoer.
sudo apt-get opdatering sudo apt-get installation nodered
Efter start af knude-rød, kan du få adgang til knude-rød fra adressen vist i output.
Den eneste opsætning, der er tilbage, er at installere MySQL -noder. Du kan gøre dette via browseren. Klik på symbolet i øverste højre hjørne af siden, og klik derefter på 'Administrer palet'. Derfra skal du blot søge efter 'mysql' og klikke på installationsknappen.
Vi er nu klar til at importere API'en.
Trin 5: Konfigurer API
Nedenfor er hele den knude-røde API, som jeg skrev. Du skal blot kopiere alt herunder, klikke på symbolet i øverste højre hjørne og gå til import → fra udklipsholder.
[{"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 -forespørgsel", "z": "ef09537e.8b96d", "navn ":" Anmodning om panering "," method ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{cup}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":
Nu har du hele API'en, som vi vil bruge til at indsætte og opdatere data. Der skal kun foretages et par justeringer, før vi er klar til at bruge det.
- Først skal du gå ind i alle MySQL -databaseknuderne og ændre brugernavn og adgangskode til dem, du oprettede til databasen i det foregående trin.
- For det andet, rediger mineOutPanData -underflowet, så HTTP -anmodningen, der bruges til at hente Open Pan -data, bruger din egen API -nøgle.
Nu er du klar til at bruge API'en. Dette flow skaber en simpel REST API, som giver dig mulighed for at sende data fra enhver enhed, der er forbundet til internettet ved hjælp af HTTP -anmodninger.
Trin 6: (Valgfrit) Forståelse af API
Den sidste ting, vi skal gøre, er at tilslutte en switch til GPIO, så vi kan scanne i to tilstande, tilføje og fjerne.
Dette er ret ligetil. Du skal blot oprette en vippekontakt for at læse fra GPIO pin 21 på Pi, og du er klar til at gå. Ved hjælp af kredsløbet på det vedhæftede billede (kendt som et PUD DOWN -kredsløb) sender scriptet en tilføjelsesanmodning, når vippekontakten er lukket, og en anmodning om fjernelse, når vippekontakten er åben.
Derefter tape vi simpelthen ledningerne på indersiden af sagen, og vi er godt i gang.
Trin 9: (Valgfrit) Opret en brugergrænseflade
Dette sidste trin er ikke nødvendigt, men bestemt nyttigt, hvis du vil udnytte systemets fulde potentiale. Jeg oprettede en meget enkel brugergrænseflade, der viste alle de data, vi har i vores database, i en let at navigere tabel. Tabellen kan sorteres efter kolonne og også søges, hvilket gør det let at se, hvad du har ved hånden.
UI'et er ret simpelt; Jeg omformulerede en eksempelkode, jeg fandt online, til at fungere med vores API (hvis du er interesseret, kan denne eksempelkode findes her).
Gør følgende for at køre brugergrænsefladen …
- Gem den vedhæftede index.txt -fil som index.html (jeg kunne af en eller anden grund ikke uploade filen som en HTML -fil).
- Læg de to filer i det samme bibliotek på din computer.
- Kør filen 'index.html' i din foretrukne webbrowser.
Nu kan vi let se og sortere din beholdning!
Trin 10: Start scanning
Nu er du klar til at begynde at scanne! Hvis du har spørgsmål, så lad dem stå i kommentarerne, og jeg vil helt sikkert svare, når jeg kan.
Endelig vil dine stemmer i konkurrencen blive værdsat meget. Tak fordi du læste!
Anbefalede:
3 CHANNEL AUDIO MIXER Integreret med en FM -radiosender: 19 trin (med billeder)
3 CHANNEL AUDIO MIXER Integreret med en FM -radiosender: Hej alle sammen, i denne artikel vil jeg guild dig til at bygge din egen 3 CHANNEL AUDIO MIXER integreret med en FM -radiosender
Lodret Bartop Arcade Med Integreret PIXEL LED Display: 11 trin (med billeder)
Vertikal Bartop Arcade Med Integreret PIXEL LED Display: **** Opdateret med ny software juli 2019, detaljer her ****** En bartop arkade bygget med den unikke funktion, som LED matrixteltet ændrer for at matche det valgte spil. Karakterkunsten på skabets sider er laserskårne indlæg og ikke stikkende
PIXELCADE - Mini Bartop Arcade Med Integreret PIXEL LED Display: 13 trin (med billeder)
PIXELCADE - Mini Bartop Arcade Med Integreret PIXEL LED Display: **** Forbedret version med Integreret LED Marquee Here **** En bartop arkade bygget med den unikke funktion i et integreret LED display, der matcher det valgte spil. Karakterkunsten på skabets sider er laserskårne indlæg og ikke klistermærker. En enorm
IoT Cat Feeder Brug Particle Photon Integreret Med Alexa, SmartThings, IFTTT, Google Sheets: 7 trin (med billeder)
IoT Cat Feeder ved hjælp af Particle Photon Integreret med Alexa, SmartThings, IFTTT, Google Sheets: Behovet for en automatisk kattefoder er selvforklarende. Katte (vores kats navn er Bella) kan være modbydelige, når de er sultne, og hvis din kat er som min, vil den spise skålen tør hver gang. Jeg havde brug for en måde til automatisk at dosere en kontrolleret mængde mad
Hjemmesikkerhed med integreret system: 12 trin (med billeder)
Hjemmesikkerhed med integreret system: Hej læsere, dette er en instruks til konstruktion af et hjemmesikkerhedssystem i modsætning til alle andre sikkerhedssystemer. Dette system har en forbedret funktion TRAP og PANIC -tilstand, der forbinder offerhjemets ejer, nabo og politistation over netværk. I