Obsah:

Integrovaný systém správy zásob: 10 kroků (s obrázky)
Integrovaný systém správy zásob: 10 kroků (s obrázky)

Video: Integrovaný systém správy zásob: 10 kroků (s obrázky)

Video: Integrovaný systém správy zásob: 10 kroků (s obrázky)
Video: TOP 10 JAK SI LÉPE ZAPAMATOVAT UČIVO nebo cokoliv jiného 2024, Červenec
Anonim
Integrovaný systém správy zásob
Integrovaný systém správy zásob

Vždycky jsem chtěl dostupný způsob, jak sledovat vše ve své komoře, a tak jsem před pár měsíci začal pracovat na projektu, který by to udělal. Cílem bylo vytvořit jednoduchý a dostupný systém, který by se velmi snadno používal a zároveň by měl ukládat dostatek informací, které by stály za další úsilí. To, co jsem nakonec vybudoval, je systém správy zásob, který může ukládat a aktualizovat informace o jakékoli položce s čárovým kódem, stejně jako moje základní data o těchto položkách z internetu.

Stručně řečeno, systém funguje takto.

  1. Naskenuje se čárový kód.
  2. Skript Pythonu čte data ze skeneru.
  3. Požadavek je odeslán do REST API běžícího na uzlu-red.
  4. Rozhraní API zpracuje požadavek, vytěží další data z internetu a odpovídajícím způsobem upraví databázi.

To vše se děje na jediném Raspberry Pi, což vám dává možnost aktualizovat a ukládat data o celém vašem inventáři v jednom malém přenosném systému. Tento projekt je trochu technický a základní znalost databází, HTTP a Pythonu bude velmi nápomocná, ale udělám vše pro to, aby byl pro začátečníka dostatečně jednoduchý na pochopení. Začněme!

Krok 1: Co budete potřebovat

Co budete potřebovat
Co budete potřebovat

Části, které budete pro tento projekt potřebovat, jsou…

  • Raspberry Pi
  • USB čtečka čárových kódů (odkaz na ten, který používám)
  • WiFi adaptér (Pokud váš Pi nemá vestavěný WiFi)
  • Přepnout spínač
  • Propojovací dráty
  • Pouzdro pro váš Raspberry Pi (volitelně)

Krok 2: Nainstalujte a nastavte databázi

Nainstalujte a nastavte databázi
Nainstalujte a nastavte databázi

MySQL je systém pro správu databází, který bude uchovávat všechna data, která získáme ze skenů čárových kódů. To je velmi snadné na Pi, jednoduše spusťte následující příkaz na terminálu vašeho Pi.

sudo apt-get install mysql-server

Poté vás provede procesem instalace a budete vyzváni k vytvoření hesla. A je to. S nainstalovanou MySQL může váš Pi fungovat jako malý databázový server. Nyní musíme vytvořit tabulky, které budou uchovávat naše data. Nejprve se přihlaste. Po instalaci je jediným uživatelem MySql root (uživatel, který má přístup ke každé tabulce a systému). Můžete se přihlásit jako root spuštěním následujícího příkazu.

mysql -uroot -p

Brzy nastavíme dalšího uživatele, kterého bude náš systém používat, ale nejprve musíme vytvořit naši databázi a tabulky v této databázi. Chcete -li to provést, spusťte následující příkazy.

vytvořit inventář databáze;

používat inventář; vytvořit tabulku upc_count (upc varchar (15) null, count integer (3) not null default 0, name varchar (255), size varchar (40), výrobce varchar (80), primary key (upc));

Nyní máme jednoduchou tabulku s pěti sloupci upc (což bude primární klíč), počtem, názvem, velikostí a výrobcem. Poznámka: UPC je číslo, které jednoznačně identifikuje produkt. Toto číslo je načteno ze štítku s čárovým kódem při jeho skenování.

Nakonec nastavíme uživatele, kterého potřebujeme. Zavolám svému, abych to udělal, spusťte následující příkazy pomocí libovolného uživatelského jména a hesla, které chcete:

udělit vše na inventáři.* na ''@'localhost' identifikované;

Nyní, když máme naši databázi, můžeme začít budovat systém!

Krok 3: Získejte klíč API OutPan

OutPan je API, které lze použít k získání informací o produktu pomocí čísla upc. Použijeme to k těžbě dalších informací o produktech, které jsou přidávány do databáze. Toto je veřejné rozhraní API, ale abyste jej mohli používat, musíte se zaregistrovat a získat klíč API. Registrace je velmi jednoduchá, jednoduše přejděte sem a podle pokynů se zaregistrujte pro klíč.

Jakmile získáte klíč, zkopírujte jej. Budete to potřebovat v pozdějším kroku.

Krok 4: Node-Red nainstalujte a nastavte

Nainstalujte a nastavte Node-Red
Nainstalujte a nastavte Node-Red
Nainstalujte a nastavte Node-Red
Nainstalujte a nastavte Node-Red

Node-Red je předinstalován ve všech verzích operačního systému Raspbian od konce roku 2015. Chcete-li zjistit, zda máte nainstalovaný node-red, jednoduše spusťte následující příkaz v terminálu.

uzlově červená

Pokud se zobrazí zpráva „příkaz nenalezen“, budete muset nainstalovat node-red. Chcete -li to provést, spusťte následující příkazy.

sudo apt-get update sudo apt-get install nodered

Po spuštění node-red můžete přistupovat k node-red z adresy zobrazené na výstupu.

Zbývá jediné nastavení - instalace uzlů MySQL. To lze provést prostřednictvím prohlížeče. Klikněte na symbol v pravém horním rohu stránky a poté klikněte na možnost „Spravovat paletu“. Odtud jednoduše vyhledejte 'mysql' a klikněte na tlačítko nainstalovat.

Nyní jsme připraveni importovat API.

Krok 5: Nastavení rozhraní API

Nastavte API
Nastavte API
Nastavte API
Nastavte API
Nastavte API
Nastavte API

Níže je celé API pro uzel-červené, které jsem napsal. Jednoduše zkopírujte vše níže, klikněte na symbol v pravém horním rohu a přejděte na import → ze schránky.

[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "dráty": [{"id": "b8b6d2e4.169e7"}]}}], "out": [{"x": 755, "y": 58, "dráty": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http request", "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," Wire ":

Nyní máte k dispozici celé API, které použijeme k vkládání a aktualizaci dat. Než budeme připraveni ji použít, je třeba provést jen několik úprav.

  1. Nejprve přejděte do všech uzlů databáze MySQL a změňte uživatelské jméno a heslo na ty, které jste pro databázi vytvořili v předchozím kroku.
  2. Za druhé, upravte podtok mineOutPanData tak, aby požadavek HTTP použitý k získání dat Open Pan používal váš vlastní klíč API.

Nyní jste připraveni používat API. Tento tok vytváří jednoduché REST API, které vám umožňuje odesílat data z jakéhokoli zařízení připojeného k internetu pomocí požadavků

Krok 6: (Volitelné) Porozumění API

Připojte přepínač
Připojte přepínač

Poslední věc, kterou musíme udělat, je připojit přepínač k GPIO, abychom mohli skenovat ve dvou režimech, přidávat a odebírat.

To je docela přímočaré, jednoduše nastavte přepínací přepínač pro čtení z GPIO pin 21 na Pi a můžete vyrazit. Pomocí obvodu na přiloženém obrázku (známý jako obvod PUD DOWN) skript odešle požadavek na přidání, když je přepínač přepnut, a požadavek na odebrání, když je přepínač otevřený.

Poté jednoduše přilepíme dráty k vnitřku pouzdra a můžeme vyrazit.

Krok 9: (Volitelné) Vytvořte uživatelské rozhraní

(Volitelné) Vytvořte uživatelské rozhraní
(Volitelné) Vytvořte uživatelské rozhraní

Tento poslední krok není nutný, ale rozhodně užitečný, pokud chcete využít plný potenciál systému. Vybavil jsem velmi jednoduché uživatelské rozhraní, které zobrazovalo všechna data, která máme v naší databázi, ve snadno navigovatelné tabulce. Tabulku lze třídit podle sloupců a také prohledávat, takže je snadné zjistit, co máte po ruce.

Uživatelské rozhraní je velmi jednoduché; Přepracoval jsem nějaký ukázkový kód, který jsem našel online, aby fungoval s naším API (pokud vás zajímá, tento ukázkový kód najdete zde).

Chcete -li spustit uživatelské rozhraní, proveďte následující…

  1. Uložte připojený soubor index.txt jako index.html (soubor se mi z nějakého důvodu nepodařilo nahrát jako soubor HTML).
  2. Umístěte dva soubory do stejného adresáře v počítači.
  3. Spusťte soubor 'index.html' ve svém oblíbeném webovém prohlížeči.

Nyní můžeme váš inventář snadno vidět a třídit!

Krok 10: Spusťte skenování

Začněte skenovat!
Začněte skenovat!

Nyní jste připraveni začít skenovat! Pokud máte nějaké otázky, zanechte je v komentářích a já vám určitě odpovím, až budu moci.

A konečně, vaše hlasy v soutěži budou velmi oceněny. Děkuji za přečtení!

Doporučuje: