Задача

Требуется создать программное обеспечение для работы с банковским терминалом, который принимает оплату через протокол MDB. Включает управление реле для внешних устройств и передачу собранных данных на удаленный сервер по GSM-сети.

Технические детали

  • Поддержка протокола MDB для настройки и обмена данными с терминалом.
  • Управление реле (силовым или нагрузочным) на основе команд терминала (например, для запуска оборудования).
  • Коммуникация с сервером по GPRS/3G через GSM-модуль (например, MQTT/HTTP).
  • Без привязки к конкретным производителям: абстрагироваться от марок и моделей - все упоминания терминала воспринимаются как абстрактный терминал Vendista (в формате поста использовать не требуется).

Требования к коду

Общая функциональность

  • Поддержка горячей замены и инициализации терминала по MDB.
  • Прием транзакций, формирование JSON с суммой, типом карты/наличной оплаты.
  • Автоматическое открытие реле при успешной оплате.
  • Мониторинг состояния (pay/dek, слип, GPRS- и релейные ошибки).

Модульная архитектура

  • Для MDB драйвер (C/питон).
  • Библиотека управления GPIO для реле.
  • Клиент HTTP/MQTT для отправки на сервер с логированием ошибок подключения.

Приемка

Предоставить скетч (если Arduino) или Python-модуль с протестированной передачей тест-транзактыи и серверным логом.

Разработка брендбука для международного фестиваля циркового искусства

Требуется создать современный и стильный брендбук для фестиваля. Работа включает разработку фирменного стиля на основе предложенной цветовой палитры. Срок сдачи - 25 декабря с учетом всех правок.