Оглавление:
- Шаг 1. Что вам понадобится
- Шаг 2: Установите и настройте базу данных
- Шаг 3. Получите ключ API OutPan
- Шаг 4: Установите и настройте Node-Red
- Шаг 5. Настройте API
- Шаг 6. (Необязательно) Знакомство с API
- Шаг 9: (Необязательно) Создайте пользовательский интерфейс
- Шаг 10: Начните сканирование
Видео: Интегрированная система управления запасами: 10 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Мне всегда был нужен доступный способ отслеживать все в моей кладовой, поэтому пару месяцев назад я начал работать над проектом, который бы делал именно это. Цель заключалась в том, чтобы создать простую и доступную систему, которая была бы очень простой в использовании и в то же время хранила достаточно информации, чтобы стоить дополнительных усилий. В конечном итоге я создал систему управления запасами, которая может хранить и обновлять информацию о любом предмете со штрих-кодом, а также собирать основные данные об этих предметах из Интернета.
Короче система работает так.
- Сканируется штрих-код.
- Скрипт Python считывает данные со сканера.
- Запрос отправляется в REST API, работающий на красном узле.
- API обрабатывает запрос, добывает дополнительные данные из Интернета и соответствующим образом редактирует базу данных.
Все это делается на одном Raspberry Pi, что дает вам возможность обновлять и хранить данные обо всем своем инвентаре в одной небольшой портативной системе. Этот проект носит немного технический характер, и базовое понимание баз данных, HTTP и Python будет очень полезным, но я сделаю все возможное, чтобы сделать его достаточно простым для понимания новичком. Давайте начнем!
Шаг 1. Что вам понадобится
Детали, которые вам понадобятся для этого проекта:
- Raspberry Pi
- USB-сканер штрих-кода (ссылка на тот, который я использую)
- Адаптер Wi-Fi (если на вашем Pi нет встроенного Wi-Fi)
- Переключить переключатель
- Провода перемычки
- Чехол для Raspberry Pi (необязательно)
Шаг 2: Установите и настройте базу данных
MySQL - это система управления базой данных, которая будет хранить все данные, которые мы получаем при сканировании штрих-кода. Это очень легко сделать на Pi, просто запустите следующую команду в терминале вашего Pi.
sudo apt-get установить mysql-server
Затем вы пройдете через процесс установки и предложите создать пароль. Вот и все. С установленным MySQL ваш Pi может действовать как собственный небольшой сервер базы данных. Теперь нам нужно создать таблицы, в которых будут храниться наши данные. Сначала войдите в систему. После установки единственным пользователем MySql будет root (пользователь, имеющий доступ к каждой таблице и системе). Вы можете войти в систему как root, выполнив следующую команду.
mysql -uroot -p
Вскоре мы настроим другого пользователя, которого будет использовать наша система, но сначала нам нужно создать нашу базу данных и таблицы в этой базе данных. Для этого выполните следующие команды.
создать инвентаризацию базы данных;
использовать инвентарь; создать таблицу upc_count (upc varchar (15) не null, count integer (3) not null по умолчанию 0, имя varchar (255), размер varchar (40), производитель varchar (80), первичный ключ (upc));
Теперь у нас есть простая таблица с пятью столбцами upc (которые будут первичным ключом), количеством, именем, размером и производителем. Примечание. UPC - это номер, который однозначно идентифицирует продукт. Этот номер считывается на этикетке со штрих-кодом при сканировании.
Наконец, мы собираемся настроить того пользователя, который нам нужен. Я собираюсь позвонить своему, для этого выполните следующие команды, используя любое имя пользователя и пароль, которые вам нравятся:
предоставить все в инвентаре. * '' @ 'localhost', идентифицированному;
Теперь, когда у нас есть база данных, мы можем приступить к построению системы!
Шаг 3. Получите ключ API OutPan
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, "провода": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "провода": [{"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, который позволяет отправлять данные с любого устройства, подключенного к Интернету, с помощью
Шаг 6. (Необязательно) Знакомство с API
Последнее, что нам нужно сделать, это подключить переключатель к GPIO, чтобы мы могли сканировать в двух режимах, добавлять и удалять.
Это довольно просто, просто установите тумблер для чтения с контакта 21 GPIO на Pi, и все готово. Используя схему на прикрепленном изображении (известную как схема PUD DOWN), сценарий отправит запрос на добавление, когда тумблер закрыт, и запрос на удаление, когда тумблер открыт.
После этого мы просто приклеиваем провода к внутренней части корпуса, и все готово.
Шаг 9: (Необязательно) Создайте пользовательский интерфейс
Этот последний шаг не обязателен, но, безусловно, полезен, если вы хотите использовать весь потенциал системы. Я создал очень простой пользовательский интерфейс, который отображал все данные, которые есть в нашей базе данных, в удобной для навигации таблице. Таблицу можно отсортировать по столбцам, а также выполнить поиск, что позволяет легко увидеть, что у вас есть под рукой.
Пользовательский интерфейс довольно прост; Я переработал некоторый пример кода, который нашел в Интернете, для работы с нашим API (если вам интересно, этот пример кода можно найти здесь).
Чтобы запустить пользовательский интерфейс, сделайте следующее…
- Сохраните прикрепленный файл index.txt как index.html (по какой-то причине мне не удалось загрузить файл в виде HTML-файла).
- Поместите два файла в один каталог на вашем компьютере.
- Запустите файл index.html в своем любимом веб-браузере.
Теперь мы можем легко просмотреть и отсортировать ваш инвентарь!
Шаг 10: Начните сканирование
Теперь вы готовы начать сканирование! Если у вас есть вопросы, оставьте их в комментариях, и я обязательно отвечу, когда смогу.
Наконец, мы будем очень признательны за ваши голоса в конкурсе. Спасибо за прочтение!
Рекомендуемые:
Диспетчер задач - система управления домашними делами: 5 шагов (с изображениями)
Диспетчер задач - система управления домашними делами: я хотел попытаться решить реальную проблему, с которой сталкивается наша семья (и, я полагаю, проблема многих других читателей), а именно то, как распределять, мотивировать и вознаграждать моих детей за помощь с домашними делами. До сих пор у нас сохранился ламинированный лист
Система управления занавесками Alexa - возможность 3D-печати и низкая стоимость: 19 шагов (с изображениями)
Система управления занавесками Alexa - возможность 3D-печати и низкая стоимость: Здравствуйте, я давно пытаюсь автоматизировать как можно большую часть нашего дома. С приходом зимы в Великобританию, я решил избавиться от рутинной работы по закрытию всех штор вечером и их открытию утром. Это означает, что я
Интеллектуальная система рулевого управления для машин-роботов с использованием шагового двигателя от старого дисковода для гибких дисков / компакт-дисков: 8 шагов (с изображениями)
Интеллектуальная система рулевого управления для автомобилей-роботов с использованием шагового двигателя старого дисковода для гибких дисков / компакт-дисков: интеллектуальная система рулевого управления для автомобилей-роботов Вы беспокоитесь о создании хорошей системы рулевого управления для своего автомобиля-робота? Вот отличное решение, просто используя ваши старые дисководы для гибких дисков / CD / DVD. следите за этим и получите представление о нем. Посетите georgeraveen.blogspot.com
Система управления двигателем для подъемного оборудования с использованием Arduino Mega 2560 и IoT: 8 шагов (с изображениями)
Система управления двигателем для подъемного оборудования с использованием Arduino Mega 2560 и IoT: в настоящее время микроконтроллеры на основе IoT широко используются в промышленных приложениях. Экономически они используются вместо компьютера. Целью проекта является полностью оцифрованное управление, регистратор данных и мониторинг трехфазного асинхронного двигателя с
Отпуск кабеля дистанционного управления Olympus Evolt E510 (версия 2 с автофокусом на пульте дистанционного управления): 6 шагов (с изображениями)
Отпуск кабеля дистанционного управления Olympus Evolt E510 (версия 2 с автофокусом на пульте дистанционного управления): Вчера я построил простой пульт с одной кнопкой для своего Olympus E510. У большинства камер есть кнопка спуска затвора (та, которую вы нажимаете, чтобы сделать снимок), которая имеет два режима. Если слегка нажать кнопку, камера автоматически сфокусируется и измерит свет