Длинный фотоприемник (LSensor, Long sensor)
![]() |
Основное устройство, создающее в паре с Moving систему “Движущийся лазер” |
|---|---|
| Подключение | 12V, Wi-Fi |
| Поддержка | SensPlate x24, Moving с аналогичным поколением прошивки |
Данное устройство может работать только в связке с Moving ##
##
Вид платы
(На разъемах подписан порядок сенсоров, в котором данные с них отображаются в интерфейсе )
Физические возможности
Подключение: - 12V - WiFi - UART
Подключается в паре с движущимся лазером. (Требуется сопряжение)
Функциональные возможности
Связь с сервером осуществляется через WebSocket по протоколу TCP с базовой handshake-инициализацией. Адрес сервера: 192.168.50.2
Список обрабатываемых WebSocket событий:
| Событие | Параметры | Реакция |
|---|---|---|
| connect | - | Регистрация устройства |
| registered | Подтверждение регистрации | |
| calibration | - | Начало калибровки |
| step-calibration | :int1,2 - Выключение лазера3 - Включение лазера на движение0 - Завершение калибровки |
Калибровка по событиям |
| moving-status-server | — | Отправка текущего состояния |
| hstate | state - Номер статуса игры :intis_play - Игра запущена :booleanlevel - Уровень сложности :int |
Смена текущего статуса игры |
| set-ssid | “Laser_maze” - SSID сети :string |
Изменение WiFi сети, к которой подключаться |
| link | :int0 - Замер КТequal DeviceID- Сопряжение сенсора |
Сопряжение с сенсором |
| unlink | :intequal DeviceId,0 - номер сенсора, на котором сбрасываем линковку |
Сброс сопряжения |
| setBeam | id - Логический номер сопряженного лазера* :stringvalue - Значение :int<ul>0 - Выключить |
Выключение лазера |
| confirmed-setBeam | id - Логический номер сопряженного лазера* :stringvalue - 1cmdid - порядковый номер команды :int |
Включение отслеживания пересечений |
| scan-room | val - :int - 1-вкл. / 0-выкл.cmdid - порядковый номер команды :int time - время сканирования (мс) :int |
Управление сканированием комнаты |
| editDef | `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` - `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- Логический номер сопряженного Movingserial-: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- Номер movingvalue-:int- Значение освещенности в момент сопряжения
| Результаты калибровки КТ
(по событиям) | calibrated-kt |
`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** |
`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** |
`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
