Sadržaj:

Integrirani sustav upravljanja zalihama: 10 koraka (sa slikama)
Integrirani sustav upravljanja zalihama: 10 koraka (sa slikama)

Video: Integrirani sustav upravljanja zalihama: 10 koraka (sa slikama)

Video: Integrirani sustav upravljanja zalihama: 10 koraka (sa slikama)
Video: Program for the sports 2024, Srpanj
Anonim
Integrirani sustav upravljanja zalihama
Integrirani sustav upravljanja zalihama

Oduvijek sam želio pristupačan način praćenja svega u svojoj smočnici, pa sam prije par mjeseci počeo raditi na projektu koji bi upravo to i učinio. Cilj je bio napraviti jednostavan, pristupačan sustav koji je bio vrlo jednostavan za korištenje, a istodobno je pohranio dovoljno podataka kako bi bio vrijedan dodatnog napora. Ono što sam na kraju izgradio je sustav za upravljanje inventarom koji može pohraniti i ažurirati podatke o bilo kojoj stavci koja ima crtični kod, kao i moje osnovne podatke o tim stavkama s interneta.

Ukratko, sustav radi ovako.

  1. Skenira se crtični kod.
  2. Python skripta čita podatke sa skenera.
  3. Zahtjev se šalje na REST API koji radi na node-red-u.
  4. API obrađuje zahtjev, minira dodatne podatke s interneta i prema tome uređuje bazu podataka.

Sve se to radi na jednom Raspberry Pi -u, što vam daje mogućnost ažuriranja i pohrane podataka o cijelom vašem inventaru u jednom malom, prijenosnom sustavu. Ovaj je projekt malo tehnički i osnovno razumijevanje baza podataka, HTTP -a i Pythona bit će od velike pomoći, ali potrudit ću se da početniku bude dovoljno lako razumjeti. Započnimo!

Korak 1: Što će vam trebati

Što će vam trebati
Što će vam trebati

Dijelovi koji će vam trebati za ovaj projekt su…

  • Malina Pi
  • USB skener bar koda (veza do onog koji koristim)
  • WiFi adapter (ako vaš Pi nema ugrađen WiFi)
  • Prekidač za uključivanje / isključivanje
  • Žice za kratkospojnike
  • Torbica za vaš Raspberry Pi (izborno)

Korak 2: Instalirajte i postavite bazu podataka

Instalirajte i postavite bazu podataka
Instalirajte i postavite bazu podataka

MySQL je sustav za upravljanje bazom podataka koji će čuvati sve podatke koje izvučemo iz skeniranja crtičnog koda. To je vrlo jednostavno za Pi, jednostavno pokrenite sljedeću naredbu na terminalu vašeg Pi.

sudo apt-get install mysql-server

Zatim ćete proći kroz postupak instalacije i od vas će se zatražiti da stvorite lozinku. To je to. S instaliranim MySQL -om, vaš Pi može djelovati kao vlastiti mali poslužitelj baze podataka. Sada moramo stvoriti tablice koje će držati naše podatke. Prvo se prijavite. Nakon instalacije jedini korisnik MySql -a je root (korisnik koji ima pristup svakoj tablici i sustavu). Možete se prijaviti kao root izvršavanjem sljedeće naredbe.

mysql -uroot -p

Uskoro ćemo postaviti drugog korisnika kojeg će naš sustav koristiti, ali prvo moramo stvoriti našu bazu podataka i tablice u toj bazi. Da biste to učinili, pokrenite sljedeće naredbe.

izraditi inventar baze podataka;

koristiti inventar; stvoriti tablicu upc_count (upc varchar (15) nije null, broj integer (3) nije null zadano 0, naziv varchar (255), veličina varchar (40), proizvođač varchar (80), primarni ključ (upc));

Sada imamo jednostavnu tablicu s pet stupaca upc (koji će biti primarni ključ), brojem, imenom, veličinom i proizvođačem. Napomena: Upc je broj koji jedinstveno identificira proizvod. Taj se broj očitava s naljepnice crtičnog koda prilikom skeniranja.

Konačno, postavit ćemo tog korisnika koji nam je potreban. Pozvat ću svoje, da biste to učinili, pokrenite sljedeće naredbe, koristeći bilo koje korisničko ime i lozinku koje želite:

dodijeli sve na popisu.* za ''@'localhost' identificirano od;

Sada kada imamo našu bazu podataka, možemo početi graditi sustav!

Korak 3: Dobijte OutPan API ključ

OutPan je API koji se može koristiti za dobivanje informacija o proizvodu pomoću njegova upc broja. Koristit ćemo ovo za pronalaženje više informacija o proizvodima koji se dodaju u bazu podataka. Ovo je javni api, ali da biste ga mogli koristiti, morate se prijaviti i nabaviti api ključ. Prijava je prilično jednostavna, jednostavno idite ovdje i slijedite korake za registraciju ključa.

Nakon što dobijete ključ, kopirajte ga. Trebat će vam u kasnijem koraku.

Korak 4: Instalirajte i postavite Node-Red

Instalirajte i postavite Node-Red
Instalirajte i postavite Node-Red
Instalirajte i postavite Node-Red
Instalirajte i postavite Node-Red

Node-Red dolazi unaprijed instaliran na svim verzijama OS-a Raspbian od kraja 2015. Da biste saznali imate li instaliran node-red, jednostavno pokrenite sljedeću naredbu u terminalu.

čvor-crven

Ako se prikaže poruka "naredba nije pronađena", morat ćete instalirati node-red. Da biste to učinili, pokrenite sljedeće naredbe.

sudo apt-get update sudo apt-get install nodered

Nakon pokretanja node-red, možete pristupiti node-red-u s adrese prikazane u izlazu.

Jedino preostalo podešavanje je instaliranje čvorova MySQL. To možete učiniti putem preglednika. Pritisnite simbol u gornjem desnom kutu stranice, a zatim kliknite opciju 'Upravljanje paletom'. Odatle jednostavno potražite 'mysql' i kliknite gumb za instalaciju.

Sada smo spremni za uvoz API -ja.

Korak 5: Postavite API

Postavite API
Postavite API
Postavite API
Postavite API
Postavite API
Postavite API

Ispod je cijeli API čvor koji sam napisao. Jednostavno kopirajte sve ispod, kliknite simbol u gornjem desnom kutu i idite na uvoz → iz međuspremnika.

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

Sada imate cijeli API koji ćemo koristiti za umetanje i ažuriranje podataka. Potrebno je napraviti samo par prilagodbi prije nego što ga budemo spremni koristiti.

  1. Prvo idite na sve čvorove baze podataka MySQL i promijenite korisničko ime i lozinku na one koje ste stvorili za bazu podataka u prethodnom koraku.
  2. Drugo, uredite podtok mineOutPanData tako da HTTP zahtjev koji se koristi za dobivanje podataka Open Pan koristi vaš vlastiti API ključ.

Sada ste spremni za korištenje API -ja. Ovaj tok stvara jednostavan REST API koji vam omogućuje slanje podataka s bilo kojeg uređaja spojenog na internet pomoću HTTP zahtjeva.

Korak 6: (Izborno) Razumijevanje API -ja

Spojite prekidač za uključivanje / isključivanje
Spojite prekidač za uključivanje / isključivanje

Posljednje što moramo učiniti je spojiti prekidač na GPIO kako bismo mogli skenirati u dva načina, dodavati i uklanjati.

Ovo je prilično jednostavno, jednostavno postavite prekidač za čitanje s GPIO pina 21 na Pi i spremni ste. Koristeći sklop na priloženoj slici (poznat kao sklop PUD DOWN) skripta će poslati zahtjev za dodavanjem kada je prekidač zatvoren i zahtjev za uklanjanje kada je prekidač otvoren.

Nakon toga jednostavno zalijepimo žice na unutrašnjost kućišta i spremni smo.

Korak 9: (Izborno) Izradite korisničko sučelje

(Izborno) Izradite korisničko sučelje
(Izborno) Izradite korisničko sučelje

Ovaj posljednji korak nije nužan, ali svakako koristan ako želite iskoristiti puni potencijal sustava. Sastavio sam vrlo jednostavno korisničko sučelje koje je prikazalo sve podatke koje imamo u bazi podataka u tablici za jednostavno kretanje. Tablica se može sortirati po stupcu i pretraživati, što olakšava pregled onoga što imate pri ruci.

Korisničko sučelje je prilično jednostavno; Ponovno sam namjerio neki primjer koda koji sam pronašao na internetu za rad s našim API-jem (ako vas zanima, taj primjer koda možete pronaći ovdje).

Da biste pokrenuli korisničko sučelje, učinite sljedeće …

  1. Spremite priloženu datoteku index.txt kao index.html (iz nekog razloga nisam mogao prenijeti datoteku kao HTML datoteku).
  2. Stavite dvije datoteke u isti direktorij na svom računalu.
  3. Pokrenite datoteku 'index.html' u svom omiljenom web pregledniku.

Sada možemo lako vidjeti i sortirati vaš inventar!

Korak 10: Započnite skeniranje

Započni skeniranje!
Započni skeniranje!

Sada ste spremni za početak skeniranja! Ako imate pitanja, ostavite ih u komentarima, a ja ću vam odgovoriti kad god mogu.

I na kraju, vaši glasovi na natjecanju bili bi iznimno zahvalni. Hvala na čitanju!

Preporučeni: