По договоренности
Разработка серверной части системы удалённого управления контроллерами
Требуется разработать, протестировать и внедрить серверную программу для работы с несколькими (до 10 000 шт.) удалёнными программируемыми логическими контроллерами Oven ПЛК160 по протоколу ModBusTCP.
Сам контроллер получает данные и управляет несколькими слаботочными системами. Может получать данные о темпаратуре освещенности, открывать турникет, включать и выключать электрические нагрузки.
Программа контроллера уже разработана и протестирована.
Требуется разработать систему шифрования и ключей, для обмена данных сервер контроллер.
Основной информацией для обмена будет база данных 9ти значных номеров, которая хранится и обновляется на сервере.
Система должна эпизодически опрашивать все известные контроллеры считывая информацию датчиков, и обновляя базу данных 9ти значных номеров.
Система должна быть интегрировна с сайтом и иметь возможность получать информацию о новых "пользователях".
Система должна уметь отправлять и получать СМС
Основная суть работы контроллера и серверной системы:
Система в целом должна обеспечивать возможность пользователям ввести код на кодонаборной панели (предварительно 9-значный цифровой код), после чего контроллер разрешает доступ на территорию, подав импульс на турникет, либо не разрешает доступ, если код недействителен.
Управляет доступом контроллер Овен ПЛК160.
Подключен к Интернет, имеет статический IP адрес. Умеет отправлять запросы по протоколу ModBusTCP.
Контроллер будет отправлять несколько типов информации:
1. Введён неверный код. (Сервер фиксирует попытку)
2. Прошёл человек, введя код.
Сервер должен уменьшить количество оставшихся посещений для этого пользователя на 1 и завести в лог проход по коду. Сервер должен увеличить количество людей на площадке на 1.
3. Человек вышел. Сервер должен уменьшить количество людей на площадке (счётчик) на 1.
4. Контроллер пересылает статус типа «ок», температуру, время, показатели датчиков, состояние включенных приборов, последнюю дату синхронизации кодов.
Сервер должен уметь «пинговать» контроллер, а контроллер посылать запрос на сервер.
В панели администратора создаем различные варианты режима доступа.
Для каждого режима работы задаются параметры:
1. Название абонемента
2. Стоимость абонемента
3. Количество посещений (либо неограниченно)
4. Время посещения в будни (либо неограниченно)
5. Время посещения в выходные и праздники (либо неограниченно)
6. Срок действия
Создаём точки доступа, для каждой задаём название, адрес и IP адрес контроллера.
В панели администрирования для каждой точки можно выбрать один или несколько режимов доступа.
При нажатии кнопки "Купить доступ на площадку" должно быть окно с выбором режима одного из доступных для этой площадки. С отображением всех параметров.
В панели администрирования надо чтобы была возможность вручную добавить код доступа и режим доступа, без отправки смс. Для обслуживающего персонала и тех, кто покупает через телефонный звонок или как-то ещё. По безналу, например, от юрлица.
При любой покупке прохода (любым способом, через сайт или просто отправив смс) в базу добавляется новая запись с новым пользователем. Уникальное поле для каждого пользователя его телефон. Человек, однажды купивший код доступа через сайт, а затем зарегистрировавшийся на сайте с тем же телефоном, должен увидеть историю своих посещений. Для регистрации нужно подтверждение телефона обязательно.
При покупке абонемента или посещения человеку на телефон падает смс с кодом. Если человек оставлял в личном кабинете на сайте или при оплате на сайте свой email, то на почту тоже должно падать письмо.
У администратора должна быть возможность видеть полный список клиентов, которые когда-либо покупали что-то, и выгружать список в Excel. В Excel должны быть поля: имя, телефон, email, дата последнего посещения, активный абонемент.
По любому пользователю администратор должен уметь смотреть всю историю покупок и посещений.
По окончании срока действия абонемента код удаляется из числа разрешённых, в логах появляется соответствующая запись. Это может быть какой-то скрипт, который раз в сутки проходится по записям с активным кодом и удаляет устаревшие.
Нужно сделать так, чтобы на сайте можно было редактировать как можно больше информации: картинки, тексты, абонементы, добавление и удаление точек и их описаний.
В свойствах точки должен быть, ещё часовой пояс точки. Чтобы система умела работать с точками в разных часовых поясах, где время отличается от времени сервера.