Контроллер (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 | `laser` - Логический номер первого лазера `button` - Логический номер первой кнопки |
Подтверждение регистрации |
| calibration | - | Начало калибровки |
| step-calibration | 0-31 - Проверка КТ2 - Проверка ПС3 - Проверка светлого состояния0 - Завершение калибровки |
Калибровка по событиям |
| moving-status-server | — | Отправка текущего состояния |
| hstate | state - Номер статуса игры :intis_play - Игра запущена :booleanlevel - Уровень сложности :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-7times - Количество миганий :intafter - Цвет после мигания :int 0-7 |
Управление светодиодной лентой |
| setCheckpoint | id - Логический номер кнопки :intvalue - Значение :int<ul>0- Выключить1- Вкл. кнопку3- Вкл. режиме жетоно-/купюроприемника4- Выкл. режим жетоно-/купюроприемника |
Управление кнопками/ жетоно-/купюроприемниками |
| setSensetiv | 2-100 - Значение чувствительности :int |
Изменение чувствительности |
| scan-room | val - 1-старт / 0-стоп - :inttime - время сканирования (мс) :int |
Начало сканирования комнаты |
| confirm-credits | 23518 - Идентификатор купюры:int , который пришел в |
Подтверждение получения кредитов |
| 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
