Длинный фотоприемник (LSensor, Long sensor)

Основное устройство, создающее в паре с Moving систему “Движущийся лазер”
Подключение 12V, Wi-Fi
Поддержка SensPlate x24, Moving с аналогичным поколением прошивки

Данное устройство может работать только в связке с Moving ##

##

Вид платы

(На разъемах подписан порядок сенсоров, в котором данные с них отображаются в интерфейсе )

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

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

Подключается в паре с движущимся лазером. (Требуется сопряжение)

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

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

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

Событие Параметры Реакция
connect - Регистрация устройства
registered `id` - Порядковый номер (`DeviceId`) `:int` Подтверждение регистрации
calibration - Начало калибровки
step-calibration :int
1,2 - Выключение лазера
3 - Включение лазера на движение
0 - Завершение калибровки
Калибровка по событиям
moving-status-server Отправка текущего состояния
hstate state - Номер статуса игры :int
is_play - Игра запущена :boolean
level - Уровень сложности :int
Смена текущего статуса игры
set-ssid “Laser_maze” - SSID сети :string Изменение WiFi сети, к которой подключаться
link :int
0 - Замер КТ
equal DeviceID- Сопряжение сенсора
Сопряжение с сенсором
unlink :int
equal DeviceId,0 - номер сенсора, на котором сбрасываем линковку
Сброс сопряжения
setBeam id - Логический номер сопряженного лазера* :string
value - Значение :int
<ul>0 - Выключить
Выключение лазера
confirmed-setBeam id - Логический номер сопряженного лазера* :string
value - 1
cmdid - порядковый номер команды :int
Включение отслеживания пересечений
scan-room val - :int - 1-вкл. / 0-выкл.
cmdid - порядковый номер команды :int
time - время сканирования (мс) :int
Управление сканированием комнаты
editDef `MaxKT` - `:int 50-2000` - Максимальное значение КТ
`MaxdPS` - `:int 100-1500` - Максимальное значение паразитной прибавки
`MinLDiff` - `:int 50-1200` - Минимальная разница тьмы и света
`mMSDiff` - `:int 50-2000` - Максимальное значение дэльты света
`Sensetiv` - `:int 20-90` - Чувствительность
`Parazitiv` - `:int 30-100` - Влияние паразитной засветки
`Xdiff` - `:int <3000` - Значение защиты от самопересечений
Настройка параметров
enabled-request - Список программно подключенных/отключенных пластин
moving-enable Для каждого пина `A0` - `A7`, `B0` - `B7`, `C0` - `C7`
`A0` - `0-1` - Значение пина (0-отключен / 1- активен)
Программное подключение/отключение пластин
disconnected - Потеря связи с сервером
* - Логический номер лазера считается принадлежащим плате в случаях:
1. "m5" (где вместо 5 логический номер лазера)
2. "m0" - логический номер для всех движущихся лазеров
3. -1 - логический номер для всех устройств

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

| Условие | Событие | Параметры | ——————————————————— | ————————| —————– | Подключение SocketIO | register | ip-:string - IP-адрес платы
id-:string- MAC-адрес
type-"longsens"- Тип устройства
linkTo-:int- Логический номер сопряженного Moving
serial-:int- Серийный номер устройства
version-:string- Версия прошивки
ssid-:string- Название первичной WiFi-сети | Запрос текущего состояния | moving-status | A-:int[8]- Значения освещенности на пинах 1 мультиплексора
B-:int[8]- Значения освещенности на пинах 2 мультиплексора
C-:int[8]- Значения освещенности на пинах 3 мультиплексора
DEF.MaxKT-:int- Максимальная граница КТ
DEF.MaxdPS-:int- Максимальная граница паразит. прибавки
DEF.MinLDiff-:int- Минимальная разница тьмы и света
DEF.mMSDiff-:int- Максимальная дельта света
DEF.Sensetiv-:int- Чувствительность
DEF.Parazitiv-:int- Влияние паразитной засветки
DEF.Xdiff-:int- Защита от самопересечений | Отправка последовательности пластин
(в конце калибровки) | plate-positions | PlateId-:int[]-Порядок номеров пластин
PlateLeft-:int 1-500- Последовательность левых границ пластин
PlateRight-:int 1-500- Последовательность правых границ пластин | Ошибка/Информационное сообщение | errorMsg | device.type-"moving7" - Тип устройства
device.did-:string - MAC-адрес платы
device.id-:int - Лог. номер устройства
device.ip-:string - IP-адрес платы
type-:string - Тип ошибки
error-:string - Текст ошибки | Пересечение луча | beam_crossed | id-:string "m4"- Номер moving
cmdid-:int- Порядковый номер команды setBeam | Подтверждение сопряжения | linked | hwid-:string- MAC-адрес
linkedTo-:int- Номер moving
value-:int- Значение освещенности в момент сопряжения | Результаты калибровки КТ
(по событиям) | calibrated-kt | `status`-`false`- UNUSED
`Active.A`,`Active.B`,`Active.C`- `false[8]`- UNUSED
`Enabled.A`,`Enabled.B`,`Enabled.C`- `:boolean[8]`- программно подключенные пластины
`KT.A`,`KT.B`,`KT.C`- `:int[8]`- Значение КТ
`dPS.A`,`dPS.B`,`dPS.C`- `0[8]`- UNUSED
`mMS.A`,`mMS.B`,`mMS.C`- `5000[8]`- UNUSED
`MS.A`,`MS.B`,`MS.C`- `0[8]`- UNUSED
`X.A`,`X.B`,`X.C`- `0[8]`- UNUSED | Результаты калибровки ПС
*(по событиям)* | **calibrated-ps** |
`status`-`false`- UNUSED калибровки
`Active.A`,`Active.B`,`Active.C`- `false[8]`- UNUSED
`Enabled.A`,`Enabled.B`,`Enabled.C`- `:boolean[8]`- программно подключенные пластины
`KT.A`,`KT.B`,`KT.C`- `:int[8]`- Значение КТ
`dPS.A`,`dPS.B`,`dPS.C`- `:int[8]`- Значение ППС
`mMS.A`,`mMS.B`,`mMS.C`- `5000[8]`- UNUSED
`MS.A`,`MS.B`,`MS.C`- `0[8]`- UNUSED
`X.A`,`X.B`,`X.C`- `0[8]`- UNUSED | Завершение калибровки
*(по таймерам, либо по событиям)* | **moving-calibrated** |
`status`-`:boolean`- Флаг успешно завершенной калибровки
`Active.A`,`Active.B`,`Active.C`- `:int[8]`- участвующие в игре пластины
`Enabled.A`,`Enabled.B`,`Enabled.C`- `:boolean[8]`- программно подключенные пластины
`KT.A`,`KT.B`,`KT.C`- `:int[8]`- Значение КТ
`dPS.A`,`dPS.B`,`dPS.C`- `:int[8]`- Значение ППС
`mMS.A`,`mMS.B`,`mMS.C`- `:int[8]`- Значение минимума света
`MS.A`,`MS.B`,`MS.C`- `:int[8]`- Значение максимума света
`X.A`,`X.B`,`X.C`- `:int[8]`- Пороговые значения срабатывания | Отправка списка программно подключенных/отключенных пинов | **moving-enabled** | `Enabled.A`,`Enabled.B`,`Enabled.C`- `:boolean[8]`- порядок состояний пластин | Разрешение выключить лазер
*(после setBeam 0)* | **confirm-setBeam** | `dst`-`:string`-ID движ. лазера
`gid`-`:int`- Номер игры
`data.id`-`:string`-ID движ. лазера
`data.value` - `0`
`data.cmdid` - `:int` - Порядковый номер команды setBeam | Пересечение при сканировании| **scan-result** |`cmdid` - `:int` - Порядковый номер команды setBeam
`crossed` - `1 const`
Список отправляемых WebSocket p2p событий:

Условие Получатель Событие Параметры
Переход лазерного луча на другую пластину linked Moving moving-save-position 0-23 - Номер пластины, на которую перешел свет

Changelog

08.02.2019 epicstrike add transition mode
04.02.2019 epicstrike edit control beam events
19.06.2018 epicstrike init

Posts

subscribe via RSS