Мы уже рассказывали о том, что такое Tibbo Project System. В комментариях нас попросили собрать простое устройство, такой себе «Hello World», чтобы продемонстрировать на практике нашу платформу автоматизации. Мы решили собрать универсальный терминал учета рабочего времени, интегрировать его с 1С, а также профессиональным ПО AggreGate Time and Attendance.
На рынке представлена довольно обширная номенклатура терминалов учета рабочего времени. Основные отличия моделей заключаются в типах считывателей, интерфейсах связи, возможности создания распределенных систем, обработке данных и т.д. Мы решили собрать гибкий универсальный терминал, который смог бы сочетать различные требования заказчиков.
С аппаратной точки зрения терминалы учета рабочего времени строятся достаточно просто:
- Вычислительная плата (контроллер, память, интерфейсы связи и т.д.);
- Считыватель карт или биометрический считыватель;
- Реле (в некоторых проектах используется для открывания электромагнитных замков);
- Дисплей и кнопки для взаимодействия с пользователем.
Аппаратная часть
Так как терминал строим на Tibbo Project System, то в качестве вычислительной основы системы выбрана плата TPP2. Как мы писали в нашей предыдущей статье, на плате уже имеется микроконтроллер, 1MБ flash-памяти, реализован интерфейс Ethernet и опционально WiFi, присутствует стабилизатор питания. Отладка приложения и загрузка прошивки осуществляются прямо через локальную сеть. Характеристики вполне удовлетворяют требованиям к терминалам учета рабочего времени. Для старта работы с платой нам достаточно подключить к ней витую пару и подать питание.
Для нашего терминала мы будем использовать внешние считыватели карт. Обычно они подключаются по интерфейсам RS232, либо по Wiegand, Clock/Data. В устройстве может использоваться один считыватель, при этом тип события приход/уход определяется нажатием соответствующих кнопок пользователем. Может применяться два считывателя, один из которых ориентирован на «приход», второй на «уход». Для базовой версии мы выбрали вариант с одним считывателем, подключаемым по интерфейсу RS232. Поэтому установим на плату тиббит #01 на площадку S5.
Стоит отметить, что в прошивке предусмотрена работа с двумя считывателями и поддержка интерфейсов Wiegand, Clock/data. Для такой модификации терминала потребуется лишь установить соответствующие тиббиты (#01 или #08) на площадки S3 и S5 и выбрать нужный режим работы терминала в настройках.
При необходимости, на площадку S9 устанавливается реле. Тогда при выборе соответствующего режима работы наш терминал сможет управлять электромагнитным замком, т.е. открытием двери или турникета.
В качестве корпуса для нашего терминала выберем модификацию TPB2L, которая включает в себя графический дисплей и сенсорные клавиши. Корпус является универсальным для плат TPP2 и может использоваться вне зависимости от выбранной конфигурации терминала. На дисплей будет выводиться пользовательская информация. Сенсорные клавиши используются для определения типа события (приход/уход) в случае использования одного считывателя. Корпус снабжается комплектом для настенного монтажа, что позволяет легко установить устройство в точке прохода. Учитывая, что терминал сетевой и способен удаленно синхронизироваться с сервером, возможна инсталляция распределенной системы (на каждую точку прохода устанавливается по терминалу).
Прошивка
Логика терминала очень простая. При срабатывании считывателя формируется запись вида: номер карты, дата, время, id терминала, тип события (определяется клавишей или считывателем). В локальной версии данные записываются во внутреннюю память системы и по запросу выгружаются на сервер или управляющий ПК. В сетевой версии данные сразу отправляются на сервер, а при потере связи записываются локально. Всего в памяти может храниться до 16 000 строк, после чего начинается перезапись устаревших значений. В прошивке реализован веб-интерфейс для настройки терминала и выгрузки данных. Предусмотрено 2 режима управления электромагнитным замком с различным уровнем доступа: без контроля валидности (замок открывается при любой идентификации) и режим контроля доступа (в терминал заносится список сотрудников, кому разрешен проход).
Связь с терминалом осуществляется по интерфейсам Ethernet, опционально WiFi или RS485. На объекте может устанавливаться как один терминал, так и множество терминалов на разных точках прохода.
Исходный код прошивки открыт и пользователь может корректировать его под свои задачи. Например, используя нашу библиотеку, выгружать данные напрямую в MySQL базу.
Интеграция с 1С: Предприятие 8
У множества компаний требования к системам учета рабочего времени просты: установить один-два терминала, формировать отчет фактически отработанного времени по сотрудникам и на основе этих данных начислять зарплату (штрафы). В таких условиях нецелесообразно устанавливать тяжелый профессиональный софт, достаточно использовать уже установленные приложения, например, одну из конфигураций 1С: Предприятие.
Мы создали простую обработку для 1С: Предприятие 8 конфигурация «1С: Розница 2». Список сотрудников загружается из основной базы, позволяя присваивать им идентификационные (карта-бейдж) номера. На основании данных, полученных из нашего терминала, создает отчет по сотрудникам. Решение получилось удобным и сейчас мы портируем его на другие конфигурации («1С: Управление торговлей», «1С: Бухгалтерия», «1С: Зарплата и кадры»). Исходный код открыт и его можно корректировать под собственные задачи. Обработка распространяется бесплатно.
Интеграция с AggreGate
В случаях, когда требуется специализированное ПО для работы с учетом рабочего времени, мы предлагаем профессиональное решение AggreGate Time and Attendance. Система способна работать с терминалами в режимах онлайн и оффлайн. С помощью AggreGate вы можете удаленно настраивать терминалы, выгружать данные, обновлять список доступа, настраивать зоны прохода, расписания, структуру компании и т.д. А за счет встроенного генератора отчетов – формировать собственные отчеты на основании исходных данных.
Какой терминал у нас получился в итоге:
- Возможность работы с разными типами внешних считывателей, а именно RFID (разных стандартов), NFC, с магнитной полосой, штрих кодов, биометрические;
- Подключение считывателей по интерфейсам Wiegand, Clock/data, RS232;
- Возможность работы с одним считывателем (тип события приход/уход определяется кнопками ) или двумя (события приход/уход завязаны на разные считыватели);
- Возможность фиксации перерывов;
- Визуализация событий через дисплей;
- Поддержка интерфейсов связи: Ethernet, RS232, RS485;
- Опционально интерфейс WiFi;
- Работа в автономном режиме;
- Работа в сетевом режиме;
- Поддержка элементарного контроля доступа сотрудников (с помощью White List+реле);
- Возможность создания распределенных систем (установка на различные точки прохода);
- Поддержка различных отчетов: общее отработанное время, опоздания, отчеты по сотрудникам, по дням, по отделам и т.д.
- Поддержка начисления ЗП по отработанному времени;
- Интеграция с 1С;
- Интеграция с AggreGate;
- Простой монтаж и интуитивно-понятная настройка;
- Конкурентная цена.
Разработка аппаратной части заняла несколько минут, написание прошивки (включая интеграцию с внешним ПО) заняла не более двух недель. На данном примере видно, как легко можно создавать собственные устройства на платформе Tibbo Project System.
Ссылки:
Страничка терминала учета рабочего времени на нашем сайте.
Создание комнатной метеостанции
Контроль доступа на TPS.
Обзор Tibbo Project System.