Инфраструктура системы (части - Управляющий клиент, Хранение ПИМ на сервере) Функции управляющего клиента Управляющий клиент - программа, имеющая графический интерфейс, необходимая для: загрузки геометрии здания; указания проектных мест расположения узлов; привязки узлов в процессе реального развертывания системы в здании; управления параметрами ПИМ и параметрами узлов, а также режимами системы. Пользователи: проектировщики, служба безопасности (пульт). Управляющее приложение (Java-applet или Web-приложение), работающее на ноутбуке или на планшете, должно выполнять следующие функции: 1. загружает JSON-файл здания, отображает графически здание, реализовывает пользовательский графический интерфейс; 2. позволяет проектировать будущее расположение узлов, приписывать им id, индивидуальную конфигурацию, роль и т.д.; 3. связывается с «Сервером» по IP/CORBA (возможно с localhost, если сервер работает на пользовательском устройстве); 4. сохраняет на «Сервере» базу данных структуры здания, спроектированные/задействованные места расположений узлов по зданию, будущую/текущую конфигурацию прошивки узлов; 5. получает от «Сервера» сигнал и информацию о новом узле, появившемся в сети. Позволяет сопоставить этот новый узел со спроектированным узлом из базы данных (привязать); 6. дает «Серверу» команду на заливку индивидуальной конфигурации новому узлу; 7. дает «Серверу» команду на отправку узлу информации о его соседях; 8. может отправлять команды узлу о смене его параметров – статус, направление стрелок, блокировка, вес, плотность и т.п.; 9. отправляет команды для всей RFA-сети на смену режима - конфигурационный/боевой; 10. получает информацию от «Сервера» о текущем состоянии/параметрах любого узла или всей сети целиком. Порядок работы клиента 1. Подключаемся к сети (IP/CORBA) или запускаем сервер на локальной машине. Во втором случае подцепляем «Медиатор» к локальной машине по USB. 2. Подгружаем JSON-файл здания. 3. Задаем/проектируем будущие места расположений узлов. 4. Задаем все параметры/роли узлов. 5. Сохраняем все в базе на «Сервере». 6. Достаем из мешка первый узел с дефолтной (по-умолчанию) конфигурацией, включаем его, дожидаемся ответа от Сервера, что новый узел обнаружен RFAсетью. Принимаем его уникальный железный идентификатор. 7. Привязываем узел к спроектированному месту. 8. Даем команду «Серверу» отослать узлу соответствующие параметры/роль/конфигурацию. 9. Даем команду «Серверу» отослать узлу информацию о его соседях (возможно будущих). Этот шаг можно выполнить потом, после установки всех узлов. 10. После установки всех узлов посылаем команду всей сети на смену режима на боевой. 11. В боевом режиме слушаем/запрашиваем/принимаем команды от датчиков и всей сети. Это уже больше функции «Пульта». Функции "Сервера" Помимо функций, описанных Морозовым О.А., "Сервер" должен: хранить ПИМ здания; хранить параметры и места расположения (проектные/задействованные) беспроводных узлов, привязанные к ПИМ; предоставлять API доступа к ПИМ здания и параметрам привязанных к ПИМ беспроводных узлов - в частности, для программ моделирования эвакуации; реплицировать свои данные между несколькими "Серверами", присутствующими в сети. Общая инфраструктура