Автоматизированная парковка
Система представляет собой комплекс оборудования для упорядочивания въезда автомобилей на парковку, расчета суммы, автоматического приема оплаты, выдачи сдачи и последующего выезда с парковки.
Система функционирует под операционной системой Линукс.
В процессе создания системы была использована концепция «прикладных драйверов», когда на драйвер оборудования возлагаются не только функции связи с оборудованием, но и частично «бизнес-логика» связанная с данным устройством.
Для взаимодействия компонентов системы между собой были использованы протоколы внутри-кластерного взаимодействия (AMQ / ZMQ).
Данное решение позволило достичь следующих попутных результатов:
- Возможность запуска вместо основной управляющей программы запускать тестировочный комплекс;
- Возможность запуска вместо оконечных драйверов оборудования запускать диагностические эмуляторы оборудования.
- Возможность сделать распределенный комплекс и соединения между компонентами пустить по стандартному TCP/IP.
В процессе автоматизации были созданы драйверы для следующего оборудования:
- Купюроприемник;
- Диспенсер сдачи;
- LCD экран;
- Принтер чеков;Заголовок
- Кнопки на передней панели;
- Сканер штрихкода;
- Шлагбаумный объект;
- Светофорный объект;
- Индуктивные датчики подъезжающего/отъезжающего автомобиля;
- Датчик оптопары машины под шлагбаумом.
Кроме этого была запрограммирована бизнес-логика для различных вариантов взаимодействия частей системы.
Все созданные драйверы устройств являются сетевыми и могут взаимодействовать с программой, обеспечивающей бизнес-логику, по TCP/IP протоколу, что позволяет создавать нестандартные схемы расположения компонентов.
Также реализована администраторская часть, позволяющая получать учетные итоги, и разрешение нештатных ситуаций.
Была придумана концепция прикладных драйверов, для всех устройств были написаны драйвера под Линукс. Инструменты: библиотеки NTL, библиотеки кластерного взаимодействия ZMQ, стандартные средства криптографии.