Группы Socket.io
Компьютер является сокет-сервером, к которому подключаются клиенты. Чтобы разделить клиентов, существуют группы, которым можно посылать события.
Взаимодействие с лабиринтом
Взаимодействовать с лабиринтом могут как устройства, так и владельцы лабиринта или игроки. Рассмотрим все группы, которые могут взаимодействовать с лабиринтом.
Администраторы
Администраторы - это покупатели лабиринта, в эту группу входят, как владельцы лабиринта, так и нанятые работники.
Администраторы могут взаимодействовать с настройками лабиринта. Для администратора есть определенный скрипт работы (после установки и настройки лабиринта).
- Включить питание лабиринта
- Дождаться загрузки лабиринта
- Зайти в админ панель
- С телефона
- С сенсорного экрана
- Надымить и подождать пока дым рассеится
- Включить калибровку
- Активировать игру (активируется автоматически в автоматическом режиме)
- Периодически поддымливать и ждать, что дым рассеится.
- Производить инструктаж для игрока
Игроки
Игроки - это непосредственные участники игрового процесса.
- Игрок платит за игру (администратору или gamekeeper, coin system, bill acceptor)
- Игрок выбирает уровень сложности
- Нажимает кнопку старт
- Заходит в комнату
- Нажимает на кнопки и старается не задеть лучи
- Проигрыш:
- Если игрок задевает лучей, чем позволено игрой
- Если игрок не успевает нажать все кнопки за отведенное время
- Победа:
- Если игрок не задел лучи и нажал на все кнопки за отведенное время
- Может попробовать уровень по-сложнее.
Устройства
Устройства - это внутренние устройства внутри лабиринта, которые могут взаимодействовать с ним.
- При включение питания, загружается роутер, компьютер и все устройства.
- Когда загружается роутер - к нему подключается компьютер по LAN и устройства по Wifi.
- Роутер выдает IP адреса:
192.168.50.2- серверу192.168.50.3- камере192.168.50.4…192.168.54.254- остальным устройствам
- Компьютер поднимает HTTP и WEBSOCKET (socket.io) сервер по порту
1856. - Функциональные устройства подключаются к websocket серверу, открывают соединение и отправляют регистрационную команду (
register). - ПО компьютера записывает (добавляет или обновляет) в файл maze.json информацию пришедшую при регистрации. Это обычно:
did- device id устройства, MAC адрес устройстваsid- socket.io (websocket) idserial- серийный номер платыversion- версия ПО платыip- IP адресid- id присвоенный ранее
- В ответ ПО отправляет устройствам команду
registeredс необходимой для них информацией. TODO прикрепить ссылку на инфу - Во время калибровки всем уйстройствам отсылается
calibration. - В ответ приходит
calibration_finishedот контроллеров иmoving-calibratedот движ лазеров.
Posts
subscribe via RSS