Съдържание:

Интегрирана система за управление на запасите: 10 стъпки (със снимки)
Интегрирана система за управление на запасите: 10 стъпки (със снимки)

Видео: Интегрирана система за управление на запасите: 10 стъпки (със снимки)

Видео: Интегрирана система за управление на запасите: 10 стъпки (със снимки)
Видео: Мутра показва как се става БОРЕЦ в Сливен на младеж 2024, Юли
Anonim
Интегрирана система за управление на запасите
Интегрирана система за управление на запасите

Винаги съм искал достъпен начин да проследя всичко в килера си, така че преди няколко месеца започнах да работя по проект, който ще направи точно това. Целта беше да се направи проста и достъпна система, която да бъде много лесна за използване, като същевременно съхранява достатъчно информация, за да си струва допълнителните усилия. Това, което в крайна сметка изградих, е система за управление на инвентара, която може да съхранява и актуализира информация за всеки елемент, който има баркод, както и да извлича основни данни за тези елементи от интернет.

Накратко, системата работи по този начин.

  1. Сканира се баркод.
  2. Скрипт на Python чете данните от скенера.
  3. Заявката се изпраща до REST API, работещ на node-red.
  4. API обработва заявката, извлича допълнителни данни от интернет и съответно редактира базата данни.

Всичко това се прави на един Raspberry Pi, което ви дава възможност да актуализирате и съхранявате данни за целия си инвентар в една малка, преносима система. Този проект е малко технически и основното разбиране на базите данни, HTTP и Python ще бъде много полезно, но ще направя всичко възможно да го направя достатъчно лесно за начинаещия да го разбере. Да започваме!

Стъпка 1: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва

Частите, които ще ви трябват за този проект, са …

  • Малина Пи
  • USB скенер за баркод (връзка към този, който използвам)
  • WiFi адаптер (ако вашият Pi няма вграден WiFi)
  • Превключвател за превключване
  • Джъмперни проводници
  • Калъф за вашия Raspberry Pi (по избор)

Стъпка 2: Инсталирайте и настройте базата данни

Инсталирайте и настройте базата данни
Инсталирайте и настройте базата данни

MySQL е система за управление на база данни, която ще съхранява всички данни, които извличаме от сканирането на баркод. Това е много лесно да се направи на Pi, просто изпълнете следната команда в терминала на Pi.

sudo apt-get install mysql-server

След това ще преминете през процеса на инсталиране и ще бъдете подканени да създадете парола. Това е. С инсталиран MySQL вашият Pi може да действа като свой собствен малък сървър на база данни. Сега трябва да създадем таблици, които да съхраняват нашите данни. Първо, влезте. След инсталацията единственият потребител на MySql е root (потребителят, който има достъп до всяка таблица и система). Можете да влезете като root, като изпълните следната команда.

mysql -uroot -p

Скоро ще настроим друг потребител, който нашата система да използва, но първо трябва да създадем нашата база данни и таблиците в тази база данни. За да направите това, изпълнете следните команди.

създаване на инвентаризация на база данни;

използвайте инвентара; създайте таблица upc_count (upc varchar (15) не е нула, бройте цяло число (3) не е нула по подразбиране 0, име varchar (255), размер varchar (40), производител varchar (80), първичен ключ (upc));

Сега имаме проста таблица с пет колони upc (която ще бъде първичен ключ), брой, име, размер и производител. Забележка: Upc е число, което уникално идентифицира продукт. Този номер се чете от етикета на баркода, когато се сканира.

И накрая, ще настроим този потребител, от който се нуждаем. Ще се обадя на моя, за да направя това, изпълнете следните команди, използвайки каквото потребителско име и парола искате:

предоставят всички за инвентар.* на ''@'localhost', идентифициран от;

Сега, когато имаме нашата база данни, можем да започнем изграждането на системата!

Стъпка 3: Получете OutPan API ключ

OutPan е API, който може да се използва за получаване на информация за продукт, като се използва неговият upc номер. Ще използваме това, за да добием повече информация за продуктите, тъй като те се добавят в базата данни. Това е публичен api, но за да го използвате, трябва да се регистрирате и да получите api ключ. Регистрацията е доста проста, просто отидете тук и следвайте стъпките, за да се регистрирате за ключ.

След като получите ключа си, копирайте го. Ще ви трябва в по -късна стъпка.

Стъпка 4: Инсталирайте и настройте Node-Red

Инсталирайте и настройте Node-Red
Инсталирайте и настройте Node-Red
Инсталирайте и настройте Node-Red
Инсталирайте и настройте Node-Red

Node-Red идва предварително инсталиран на всички версии на Raspbian OS от края на 2015 г. За да разберете дали имате инсталиран node-red, просто изпълнете следната команда в терминала.

възел-червен

Ако се покаже съобщение „команда не е намерена“, ще трябва да инсталирате node-red. За да направите това, изпълнете следните команди.

sudo apt-get update sudo apt-get install nodered

След стартиране на node-red, можете да получите достъп до node-red от адреса, показан в изхода.

Остава само да инсталирате MySQL възлите. Можете да направите това чрез браузъра. Кликнете върху символа в горния десен ъгъл на страницата и след това върху опцията „Управление на палитрата“. Оттам просто потърсете „mysql“и щракнете върху бутона за инсталиране.

Вече сме готови да импортираме API.

Стъпка 5: Настройте API

Настройте API
Настройте API
Настройте API
Настройте API
Настройте API
Настройте API

По-долу е целият API на node-red, който написах. Просто копирайте всичко по -долу, щракнете върху символа в горния десен ъгъл и отидете на импортиране → от клипборда.

[{"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", "порт": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http заявка", "z": "ef09537e.8b96d", "име ":" Out Pan Request "," method ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," проводници ":

Сега имате целия API, който ще използваме за вмъкване и актуализиране на данни. Трябва да се направят само няколко корекции, преди да сме готови да го използваме.

  1. Първо, отидете във всички възли на базата данни на MySQL и променете потребителското име и паролата на тези, които сте създали за базата данни в предишната стъпка.
  2. Второ, редактирайте подпотока mineOutPanData, така че HTTP заявката, използвана за получаване на данните от Open Pan, да използва вашия собствен API ключ.

Сега сте готови да използвате API. Този поток създава прост REST API, който ви позволява да изпращате данни от всяко устройство, свързано към интернет, използвайки HTTP заявки.

Стъпка 6: (По избор) Разбиране на API

Свържете превключвателя
Свържете превключвателя

Последното нещо, което трябва да направим, е да свържете превключвател към GPIO, за да можем да сканираме в два режима, да добавяме и премахваме.

Това е доста право напред, просто настройте превключвател за четене от GPIO пин 21 на Pi и сте готови. Използвайки веригата на приложеното изображение (известна като верига PUD DOWN), скриптът ще изпрати заявка за добавяне, когато превключвателят е затворен, и заявка за премахване, когато превключвателят е отворен.

След това просто залепваме кабелите от вътрешната страна на кутията и сме готови.

Стъпка 9: (По избор) Създайте потребителски интерфейс

(По избор) Създайте потребителски интерфейс
(По избор) Създайте потребителски интерфейс

Тази последна стъпка не е необходима, но със сигурност е полезна, ако искате да използвате пълния потенциал на системата. Създадох много прост потребителски интерфейс, който показваше всички данни, които имаме в нашата база данни, в лесна за навигация таблица. Таблицата може да бъде сортирана по колона и също така да се търси, което улеснява да видите какво имате под ръка.

Потребителският интерфейс е доста прост; Пренасочих примерния код, който намерих онлайн, за да работи с нашия API (ако проявявате интерес, този примерен код може да бъде намерен тук).

За да стартирате потребителския интерфейс, направете следното …

  1. Запазете прикачения файл index.txt като index.html (не можах да кача файла като HTML файл по някаква причина).
  2. Поставете двата файла в една и съща директория на вашия компютър.
  3. Стартирайте файла 'index.html' в любимия си уеб браузър.

Сега лесно можем да видим и сортираме вашия инвентар!

Стъпка 10: Започнете сканирането

Започнете сканирането!
Започнете сканирането!

Сега сте готови да започнете сканирането! Ако имате въпроси, оставете ги в коментарите и със сигурност ще отговоря, когато мога.

И накрая, вашите гласове в конкурса ще бъдат високо оценени. Благодаря за четенето!

Препоръчано: