Съдържание:
- Стъпка 1: Какво ще ви трябва
- Стъпка 2: Инсталирайте и настройте базата данни
- Стъпка 3: Получете OutPan API ключ
- Стъпка 4: Инсталирайте и настройте Node-Red
- Стъпка 5: Настройте API
- Стъпка 6: (По избор) Разбиране на API
- Стъпка 9: (По избор) Създайте потребителски интерфейс
- Стъпка 10: Започнете сканирането
Видео: Интегрирана система за управление на запасите: 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Винаги съм искал достъпен начин да проследя всичко в килера си, така че преди няколко месеца започнах да работя по проект, който ще направи точно това. Целта беше да се направи проста и достъпна система, която да бъде много лесна за използване, като същевременно съхранява достатъчно информация, за да си струва допълнителните усилия. Това, което в крайна сметка изградих, е система за управление на инвентара, която може да съхранява и актуализира информация за всеки елемент, който има баркод, както и да извлича основни данни за тези елементи от интернет.
Накратко, системата работи по този начин.
- Сканира се баркод.
- Скрипт на Python чете данните от скенера.
- Заявката се изпраща до REST API, работещ на node-red.
- 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 идва предварително инсталиран на всички версии на 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 на 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, който ще използваме за вмъкване и актуализиране на данни. Трябва да се направят само няколко корекции, преди да сме готови да го използваме.
- Първо, отидете във всички възли на базата данни на MySQL и променете потребителското име и паролата на тези, които сте създали за базата данни в предишната стъпка.
- Второ, редактирайте подпотока mineOutPanData, така че HTTP заявката, използвана за получаване на данните от Open Pan, да използва вашия собствен API ключ.
Сега сте готови да използвате API. Този поток създава прост REST API, който ви позволява да изпращате данни от всяко устройство, свързано към интернет, използвайки HTTP заявки.
Стъпка 6: (По избор) Разбиране на API
Последното нещо, което трябва да направим, е да свържете превключвател към GPIO, за да можем да сканираме в два режима, да добавяме и премахваме.
Това е доста право напред, просто настройте превключвател за четене от GPIO пин 21 на Pi и сте готови. Използвайки веригата на приложеното изображение (известна като верига PUD DOWN), скриптът ще изпрати заявка за добавяне, когато превключвателят е затворен, и заявка за премахване, когато превключвателят е отворен.
След това просто залепваме кабелите от вътрешната страна на кутията и сме готови.
Стъпка 9: (По избор) Създайте потребителски интерфейс
Тази последна стъпка не е необходима, но със сигурност е полезна, ако искате да използвате пълния потенциал на системата. Създадох много прост потребителски интерфейс, който показваше всички данни, които имаме в нашата база данни, в лесна за навигация таблица. Таблицата може да бъде сортирана по колона и също така да се търси, което улеснява да видите какво имате под ръка.
Потребителският интерфейс е доста прост; Пренасочих примерния код, който намерих онлайн, за да работи с нашия API (ако проявявате интерес, този примерен код може да бъде намерен тук).
За да стартирате потребителския интерфейс, направете следното …
- Запазете прикачения файл index.txt като index.html (не можах да кача файла като HTML файл по някаква причина).
- Поставете двата файла в една и съща директория на вашия компютър.
- Стартирайте файла 'index.html' в любимия си уеб браузър.
Сега лесно можем да видим и сортираме вашия инвентар!
Стъпка 10: Започнете сканирането
Сега сте готови да започнете сканирането! Ако имате въпроси, оставете ги в коментарите и със сигурност ще отговоря, когато мога.
И накрая, вашите гласове в конкурса ще бъдат високо оценени. Благодаря за четенето!
Препоръчано:
Superstock (запасите се контролират от скенер за баркод): 5 стъпки
Superstock (Контрол на склад от скенер за баркод): В това ръководство ще ви разкажа как да изградите Superstock, моя училищен проект за 1MCT в Howest. Концепцията прави лесна за ползване база данни, до която можете да получите достъп чрез уебсайт, за да следите какво имате на склад (в моя случай облекло за моите
Task Manager - система за управление на домакинските задължения: 5 стъпки (със снимки)
Task Manager - Система за управление на домакинските задължения: Исках да се опитам да се справя с реалния проблем, с който се сблъскваме в нашето домакинство (и си представям, че на много други читатели), как да разпределя, мотивирам и възнаграждавам децата си за помощ с домакински задължения. Досега сме запазили ламиниран лист
FoldTronics: Създаване на 3D обекти с интегрирана електроника с помощта на сгъваеми структури от HoneyComb: 11 стъпки
FoldTronics: Създаване на 3D обекти с интегрирана електроника с помощта на сгъваеми HoneyComb структури: В този урок представяме FoldTronics, техника за изработка, базирана на 2D рязане, за интегриране на електроника в 3D сгънати обекти. Ключовата идея е да изрежете и перфорирате 2D лист с помощта на режещ плотер, за да го сгънете в 3D структура от пчелна пита
8 Релейно управление с NodeMCU и IR приемник, използващ WiFi и IR дистанционно управление и приложение за Android: 5 стъпки (със снимки)
8 Релейно управление с NodeMCU и IR приемник, използващ WiFi и IR дистанционно и приложение за Android: Управление на 8 релейни превключвателя с помощта на nodemcu и IR приемник през wifi и дистанционно и приложение за android. Дистанционното работи независимо от wifi връзката. ТУК
Направете своя собствена клавиатура с интегрирана мишка за тракбол: 5 стъпки
Направете своя собствена клавиатура с интегрирана мишка за тракбол: Настройката на домашния ми компютър е много подобна на компютър с медиен център. Имам малък компютър Shuttle, свързан към голям 37 "1080p LCD панел като основен монитор. Като ерген, който наема къща с приятели, компютърът ми е в същата стая с леглото ми и има много