Контроллер (Board, Game switch)

Основное устройство, управляющее статичными лазерами, кнопками и светодиодными сенсорами.
Подключение 2 х 12V, Wi-Fi
Поддержка стат. лазер х6, сенсор х6, LED RGB, кнопки/жетоно-/купюроприёмники х3

Для работы лабиринта необходимо, чтобы был подключен как минимум 1 контроллер. ##

##

Вид платы

Физические возможности

Подключение: - 2 х 12V - WiFi - UART

Можно подключить: - 6 лазерных модулей - 6 статичных фотоприемников - 1 светодиодную ленту RGB - 3 кнопки/жетоноприемника/купюроприемника

Функциональные возможности

Связь с сервером осуществляется через WebSocket по протоколу TCP с базовой handshake-инициализацией. Адрес сервера: 192.168.50.2

Список обрабатываемых WebSocket событий:

Событие Параметры Реакция
connect - Регистрация устройства
registered `id` - Порядковый номер контроллера (`DeviceId`)
`laser` - Логический номер первого лазера
`button` - Логический номер первой кнопки
Подтверждение регистрации
calibration - Начало калибровки
step-calibration 0-3
1 - Проверка КТ
2 - Проверка ПС
3 - Проверка светлого состояния
0 - Завершение калибровки
Калибровка по событиям
moving-status-server Отправка текущего состояния
hstate state - Номер статуса игры :int
is_play - Игра запущена :boolean
level - Уровень сложности :int
Смена текущего статуса игры
set-ssid “Laser_maze” - SSID сети :string Изменение WiFi сети, к которой подключаться
setBeam id - Логический номер лазера :int (-1 для всех)
value - Значение :int
<ul>0 - Выключить
1 - Включить с отслеживанием пересечений
2 - Включить
</ul> с версии прошивки 612fxmorris добавлен Blinking
int - интервал мерцания
t - через сколько выключится
off - offset задержка включения
Управление лазерами
setLight val - Цвет (цвет мигания) :int 0-7
times - Количество миганий :int
after - Цвет после мигания :int 0-7
Управление светодиодной лентой
setCheckpoint id - Логический номер кнопки :int
value - Значение :int<ul>0- Выключить
1- Вкл. кнопку
3- Вкл. режиме жетоно-/купюроприемника
4- Выкл. режим жетоно-/купюроприемника
Управление кнопками/ жетоно-/купюроприемниками
setSensetiv 2-100 - Значение чувствительности :int Изменение чувствительности
scan-room val - 1-старт / 0-стоп - :int
time - время сканирования (мс) :int
Начало сканирования комнаты
confirm-credits 23518 - Идентификатор купюры:int , который пришел в **add-credits** Подтверждение получения кредитов
static-link - Линковка статичных лазеров
static-link-clear - Сброс линковки статичных лазеров
disconnected - Потеря связи с сервером

Список отправляемых WebSocket событий:

Условие Событие Параметры
Подключение SocketIO register ip-:string - IP-адрес платы
id-:string- MAC-адрес
type-"board"- Тип устройства
lasers-6- Кол-во адресуемых лазеров
buttons-3- Кол-во адресуемых кнопок
serial-:int- Серийный номер устройства
version-:string- Версия прошивки
ssid-:string- Название первичной WiFi-сети
Запрос текущего состояния now-status Sensors-:int[6] - значения сенсоров
Calibration-:int[6] - Пороговые значения срабатывания
Lasers-:int[6] 0-2 - Состояние лазеров
Buttons-:boolean[3] - Состояние кнопок
ButtonsConnected-:int[3] 0-3 - Режим работы кнопок
Sensetiv-:int 10-99 - Чувствительность
Ошибка/Информационное сообщение errorMsg device.type-"board" - Тип устройства
device.did-:string - MAC-адрес платы
device.id-:int - Лог. номер устройства
device.ip-:string - IP-адрес платы
type-:string - Тип ошибки
error-:string - Текст ошибки
Завершение калибровки calibration_finished2 hw.id-:int - Лог. номер контроллера
dark-:int[6]- Значения сенсоров в темноте
light-:int[6]- Значения сенсоров при свете лазеров
x-:int[6]- Пороговые значения срабатывания
calibrated-:boolean[6]- Скалиброванные лазеры
Завершение калибровки КТ по событиям calibrated-kt status-:int 0-1 - результат
KT-:int[6] - значения КТ
Пересечение луча beam_crossed id-:int - Лог. номер лазера
Пересечение при сканировании комнаты scan-result crossed-:int - Лог. номер лазера
Нажатие/отжатие кнопки в 1 режиме checkpoint_pressed id-:int - Лог. номер кнопки
state-0-1- Положение кнопки
Завершение линковки static-linked
OR
static-unlinked
Lasers-:int[0-6] - Последовательность лог. номеров слинкованных лазеров
Sensors-:int[0-6] - Соответствующие лог. номера слинкованных сенсоров
errLasers-:int[0-6] - Лог. номера не слинкованных лазеров
errSensors-:int[0-6] - Лог. номера не слинкованных сенсеров
Каждые 3 сек, если есть не отправленные кредиты add-credits time-:int* - Последовательность идентификаторов купюр(время внесения)
coins-:int*- Соответствующая последовательность номиналов купюр

Changelog

08.02.2019 epicstrike add transition mode
19.06.2018 epicstrike add links
12.06.2018 epicstrike init

Posts

subscribe via RSS