Innholdsfortegnelse:
- Trinn 1: Hva du trenger
- Trinn 2: Installer og konfigurer databasen
- Trinn 3: Skaff OutPan API -nøkkel
- Trinn 4: Installer og konfigurer Node-Red
- Trinn 5: Sett opp API
- Trinn 6: (Valgfritt) Forstå API
- Trinn 9: (Valgfritt) Lag et brukergrensesnitt
- Trinn 10: Start skanning
Video: Integrert lagerstyringssystem: 10 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Jeg har alltid ønsket en rimelig måte å holde oversikt over alt i pantryet mitt, så for et par måneder siden begynte jeg å jobbe med et prosjekt som ville gjøre nettopp det. Målet var å lage et enkelt, rimelig system som var veldig enkelt å bruke samtidig som det lagret nok informasjon til å være verdt den ekstra innsatsen. Det jeg til slutt bygde er et lagerstyringssystem som kan lagre og oppdatere informasjon om ethvert element som har en strekkode, samt min grunnleggende data om disse elementene fra internett.
Kort sagt, systemet fungerer slik.
- En strekkode skannes.
- Et Python -skript leser dataene fra skanneren.
- Forespørselen sendes til et REST API som kjører på node-red.
- API -et behandler forespørselen, bryter ytterligere data fra internett og redigerer databasen deretter.
Alt dette er gjort på en enkelt Raspberry Pi, noe som gir deg muligheten til å oppdatere og lagre data om hele beholdningen din i et lite, bærbart system. Dette prosjektet er litt teknisk og en grunnleggende forståelse av databaser, HTTP og Python vil være veldig nyttig, men jeg vil gjøre mitt beste for å gjøre det enkelt nok for en nybegynner å forstå. La oss komme i gang!
Trinn 1: Hva du trenger
Delene du trenger for dette prosjektet er …
- Bringebær Pi
- USB strekkodeskanner (lenke til den jeg bruker)
- WiFi -adapter (hvis Pi ikke har innebygd WiFi)
- Vekslebryter
- Jumper Wires
- Etui til din Raspberry Pi (valgfritt)
Trinn 2: Installer og konfigurer databasen
MySQL er databasesystemet som vil lagre alle dataene vi trekker inn fra strekkodeskanningene. Dette er veldig enkelt å gjøre på Pi, enkelt kjøre følgende kommando i terminalen til deg Pi.
sudo apt-get install mysql-server
Du blir deretter gjennomgått installasjonsprosessen, og du blir bedt om å opprette et passord. Det er det. Med MySQL installert, kan din Pi fungere som sin egen lille databaseserver. Nå må vi lage tabellene som inneholder dataene våre. Logg deg først på. Etter installasjonen er den eneste MySql -brukeren root (brukeren som har tilgang til alle tabeller og systemer). Du kan logge på som root ved å kjøre følgende kommando.
mysql -uroot -p
Snart setter vi opp en annen bruker som systemet vårt skal bruke, men først må vi opprette databasen vår og tabellene i databasen. For å gjøre dette, kjør følgende kommandoer.
lage databaselager;
bruk inventar; opprett tabell upc_count (upc varchar (15) ikke null, teller heltall (3) ikke null standard 0, navn varchar (255), størrelse varchar (40), produsent varchar (80), primærnøkkel (upc));
Nå har vi en enkel tabell med fem kolonner upc (som vil være hovednøkkelen), antall, navn, størrelse og produsent. Merk: En upc er et tall som unikt identifiserer et produkt. Det tallet er det som leses fra strekkodelappen når den skannes.
Til slutt skal vi sette opp den brukeren vi trenger. Jeg kommer til å ringe min, for å gjøre dette, kjør følgende kommandoer, med hvilket brukernavn og passord du måtte ønske:
gi alt på lager.* til ''@'localhost' identifisert av;
Nå som vi har databasen vår, kan vi begynne å bygge systemet!
Trinn 3: Skaff OutPan API -nøkkel
OutPan er et API som kan brukes til å få informasjon om et produkt ved å bruke upc -nummeret. Vi kommer til å bruke dette til å utvinne mer informasjon om produktene etter hvert som de legges til i databasen. Dette er en offentlig api, men for å bruke den må du registrere deg og få en api -nøkkel. Det er ganske enkelt å registrere seg, bare gå hit og følg trinnene for å registrere deg for en nøkkel.
Når du har fått nøkkelen din, kopierer du den ned. Du trenger det i et senere trinn.
Trinn 4: Installer og konfigurer Node-Red
Node-Red er forhåndsinstallert på alle versjoner av Raspbian OS siden slutten av 2015. For å finne ut om du har node-red installert, bare kjør følgende kommando i terminalen.
node-rød
Hvis meldingen "kommando ikke funnet" vises, må du installere node-rød. For å gjøre dette, kjør følgende kommandoer.
sudo apt-get oppdatering sudo apt-get install nodered
Etter at du har startet node-rød, kan du få tilgang til node-red fra adressen som vises i utgangen.
Det eneste oppsettet som er igjen, er å installere MySQL -noder. Du kan gjøre dette gjennom nettleseren. Klikk på symbolet øverst til høyre på siden, og klikk deretter på alternativet 'Administrer palett'. Derfra bare søk etter 'mysql' og klikk på installeringsknappen.
Vi er nå klare til å importere API.
Trinn 5: Sett opp API
Nedenfor er hele den node-røde API-en som jeg skrev. Bare kopier alt nedenfor, klikk på symbolet øverst til høyre og gå til import → fra utklippstavlen.
[{"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" ":" Forespørsel om utgående panering "," metode ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":
Nå har du hele API -et som vi bruker til å sette inn og oppdatere data. Bare et par justeringer må gjøres før vi er klare til å bruke den.
- Gå først inn i alle MySQL -databasenoder og endre brukernavn og passord til de du opprettet for databasen i forrige trinn.
- For det andre, rediger mineOutPanData -underflyten slik at HTTP -forespørselen som brukes til å hente Open Pan -dataene bruker din egen API -nøkkel.
Nå er du klar til å bruke API. Denne flyten skaper en enkel REST API som lar deg sende data fra alle enheter som er koblet til internett ved hjelp av HTTP -forespørsler.
Trinn 6: (Valgfritt) Forstå API
Det siste vi må gjøre er å koble en bryter til GPIO slik at vi kan skanne i to moduser, legge til og fjerne.
Dette er ganske rett frem, bare sett opp en vippebryter for å lese fra GPIO pin 21 på Pi, så er du i gang. Ved å bruke kretsen på det vedlagte bildet (kjent som en PUD DOWN -krets) sender skriptet en tilleggsforespørsel når vippebryteren er lukket og en forespørsel om fjerning når vippebryteren er åpen.
Etter at vi bare teiper ledningene på innsiden av saken, er vi i gang.
Trinn 9: (Valgfritt) Lag et brukergrensesnitt
Dette siste trinnet er ikke nødvendig, men absolutt nyttig hvis du vil utnytte systemets fulle potensial. Jeg rigget opp et veldig enkelt brukergrensesnitt som viste alle dataene vi har i databasen vår i en tabell som er lett å navigere. Tabellen kan sorteres etter kolonne og også søkes, noe som gjør det enkelt å se hva du har tilgjengelig.
Grensesnittet er ganske enkelt; Jeg foreslo noen eksempler på kode jeg fant på nettet for å fungere med vårt API (hvis du er interessert, kan du finne eksemplet på koden her).
Gjør følgende for å kjøre brukergrensesnittet …
- Lagre den vedlagte index.txt -filen som index.html (jeg kunne ikke laste opp filen som en HTML -fil av en eller annen grunn).
- Sett de to filene i samme katalog på datamaskinen.
- Kjør filen 'index.html' i din favoritt nettleser.
Nå kan vi enkelt se og sortere gjennom beholdningen din!
Trinn 10: Start skanning
Nå er du klar til å begynne å skanne! Hvis du har spørsmål, legg dem i kommentarene, og jeg svarer sikkert når jeg kan.
Til slutt vil dine stemmer i konkurransen bli satt stor pris på. Takk for at du leste!
Anbefalt:
3 CHANNEL AUDIO MIXER Integrert med en FM -radiosender: 19 trinn (med bilder)
3 CHANNEL AUDIO MIXER Integrert med en FM -radiosender: Hei alle sammen, i denne artikkelen vil jeg guild deg til å bygge din egen 3 CHANNEL AUDIO MIXER integrert med en FM -radiosender
Vertikal Bartop -arkade med integrert PIXEL LED -skjerm: 11 trinn (med bilder)
Vertikal Bartop -arkade med integrert PIXEL LED -skjerm: **** Oppdatert med ny programvare juli 2019, detaljer her ****** En bartop -arkade med den unike funksjonen som LED -matrisemarkedet endres for å matche det valgte spillet. Karakterkunsten på skapets sider er laserskåret innlegg og ikke stikk
Nest Hello UK Install med integrert transformator: 5 trinn
Nest Hello UK Install With Integrated Transformer: Alle som finner dette innlegget vet at installering av en Nest hello -dørklokke i Storbritannia er langt mer kompleks enn det burde være, så jeg bestemte meg for å legge ut oppsettet mitt. Inspirert av mange andre som enten hadde hacket strømnettet drevet transformator eller brukt en egen tra
Music Assembler: Integrert virtuelt musikkinstrument med blocktypet berøringssensor: 4 trinn
Music Assembler: Integrated Virtual Musical Instrument With Block-Typed Touch Sensor: Det er mange mennesker som ønsker å lære å spille musikkinstrument. Dessverre starter noen av dem ikke på grunn av høy pris på instrumenter. Basert på det bestemte vi oss for å lage et integrert virtuelt musikkinstrumentsystem for å redusere budsjettet for å starte nye
FoldTronics: Lag 3D -objekter med integrert elektronikk ved hjelp av sammenleggbare HoneyComb -strukturer: 11 trinn
FoldTronics: Lage 3D-objekter med integrert elektronikk ved hjelp av sammenleggbare HoneyComb-strukturer: I denne opplæringen presenterer vi FoldTronics, en 2D-skjæringsbasert fabrikasjonsteknikk for å integrere elektronikk i 3D-brettede objekter. Nøkkeltanken er å kutte og perforere et 2D -ark ved hjelp av en skjæreplotter for å gjøre det sammenleggbart til en 3D -bikakestruktur