Появилась задача фиксировать отгрузку полуфабрикатов в ночное время, когда кладовщика нет на месте.Стандартных аксессуаров для СКУД, закрывающих мои потребности, я не нашёл.Я решил собрать свою систему, используя одноплатный компьютер Repka‑PI 3.Для вывода информации я использовал дисплей 12864 МЭЛТ. Готового драйвера для дисплея не было — пришлось разобраться, как работает вывод на такое устройство.

Самые большие сложности возникли с кодировкой: я долго экспериментировал со строками, чтобы на дисплее не появлялись паразитные символы. Также я реализовал возможность вывода простых картинок.

Драйвер я выложил в репозиторий: https://gitflic.ru/project/vit00lya/wiring-repka-fork. К сожалению, в основную ветку его не приняли.

Затем я разработал переходной шилд и создал корпус в программе «Компас 3D».
Корпус получился составным. На выходе установлены транзисторы, которые управляют блокировкой и закрытием ворот. Позже я добавил отдельным модулем блок реле: напряжение на контроллере ворот составляет 24 В, что значительно превышает рабочее напряжение одноплатного компьютера.



В качестве устройства ввода я использовал сканер штрихкодов в режиме COM‑порта.
Для отладки и разработки программы я применял VS Code с установленным расширением Remote — SSH. Оно позволяет удалённо отлаживать программу. Единственный минус — расширение довольно ресурсоёмкое: 600 МБ оперативной памяти ему недостаточно. Даже при отключённой оболочке во время отладки программы компьютер зависает.
Я пробовал устанавливать более легковесные дистрибутивы — Armbian и DietPi. Однако там возникает другая проблема: WiringRP нельзя просто установить — её необходимо собирать под выбранную ОС. Поэтому для такого вида разработки удобнее использовать 2‑ГБ версию Repka. Отладку я выполнял с помощью GDB и терминала.
Подключение сканера штрихкодов прошло без проблем: при подключении он сразу определяется как TTY‑устройство. Нужно лишь настроить сам сканер для эмуляции COM‑порта — по умолчанию была установлена эмуляция клавиатуры.
Дополнительно я выполнил интеграцию с системой «1С:ERP». На одноплатный компьютер выгружаются наименования продукции и штрихкоды, а в учётную систему передаются списки кодов, отсканированных за ночь. На основании штрихкодов создаётся документ «Перемещение товаров», который автоматически перемещает товары на другой склад. Обмен данными осуществляется через REST API — это позволяет подключить систему к любой учётной платформе.


Устройство прошло испытания и было установлено на своё место. Мы подготовили инструкцию по использованию данного устройства.
https://rutube.ru/shorts/b60345e8f56fe0d5d89f97a320d94fc1/
Возможно, со временем я сделаю вторую итерацию. На переходной плате нужно вывести два пина для возможности подключения отладчика. На месте возникали проблемы с Wi‑Fi, из‑за чего приходилось откручивать компьютер от стены и нести его в ближайший кабинет для отладки.
Все файлы проекта можно просмотреть здесь: https://github.com/vit00lya/elevator-control
Обложка сгенерирована нейросетью Кандинский.