Рейтинг: 167
не верифицирован
Всего отзывов: 0
  • Работ в портфолио: 5
  • Типовых услуг: 0
  • Работ на продажу: 0
  • Стаж работы: 10 лет
  • Зарегистрирован: 11.08.2016
  • Образование: Бакалавриат
Был на сайте:

Industrial IoT Monitoring: Шлюз-перехватчик событий для печатного оборудования (Python/Flask)

Описание

В изолированном техническом контуре (Air-gapped network) архитектурного бюро функционирует парк промышленных плоттеров HP DesignJet. Проблема: Устройства относятся к классу legacy-оборудования и умеют сообщать об ошибках (замятие, чернила, износ головок) исключительно через протокол SMTP (отправка Email). Ограничения:

Отсутствие доступа в интернет исключает использование облачных SMTP (Gmail/Outlook).

Разворачивание полноценного корпоративного почтового сервера (Exchange/Postfix) внутри контура ради одних лишь логов — избыточно ресурсоемкая задача.

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

Решение

Реализовано гибридное Standalone-приложение на Python, объединяющее в себе эмулятор SMTP-сервера и веб-интерфейс мониторинга.

Бэкенд (Python Core):

SMTP Emulation: Использована библиотека aiosmtpd. Скрипт слушает порт 25, притворяясь для плоттеров стандартным почтовым сервером. При поступлении пакета происходит перехват (без реальной отправки писем).

MIME-Parsing & Analytics: Система «на лету» разбирает структуру письма, отсеивает технический мусор и извлекает суть проблемы.

Многопоточность: Связка asyncio + threading позволяет одновременно принимать потоки данных от десятка устройств и отдавать веб-интерфейс без задержек.

Zero-Deployment: Для хранения данных используется Flat-file архитектура (структурированные логи). Это позволяет развернуть систему простым копированием папки, без установки SQL-баз данных.

Фронтенд (UI/UX):

Веб-сервер: Легковесный Flask отдает интерфейс во внутреннюю сеть.

Smart Semantic Highlighting: Реализован парсинг содержимого ошибок. Если плоттер сообщает «Empty Cartridge: Cyan», система динамически окрашивает карточку уведомления в соответствующий циан (#00FFFF). Это позволяет инженерам периферийным зрением оценивать тип проблемы.

Dual Theme System: Поддержка фирменных режимов отображения:

Cyberpunk Mode: Для вывода на настенные мониторы в темном помещении (высокая контрастность, неон).

Corporate Mode: Для просмотра с рабочих станций менеджеров.

Результат

Внедрение системы трансформировало процесс обслуживания техники:

Скорость реакции: Время обнаружения критической ошибки (например, замятия бумаги при ночной печати) сократилось с нескольких часов до мгновенных Push-уведомлений в браузере.

Экономия ресурсов: Отпала необходимость в лицензировании и поддержке почтового сервера. Приложение потребляет минимум RAM и работает на любом офисном ПК.

Визуальный контроль: Создана «единая точка правды» (Single Pane of Glass) для мониторинга 10+ устройств в реальном времени.

Презентация проекта

dllhost_3DzuZh8kEt.png

Оценили проект:

0