Страница 1 из 1

Последовательное срабатывание датчиков

Добавлено: Вс ноя 11, 2018 9:53 am
maksimka
Выручайте други! Перерыл весь форум и не нашел решения вопроса.
Есть длинный коридор, в нем установлено 3 датчика движения. Соответственно есть 3 Простых устройства.
Человек идет по коридору. Срабатывает датчик1, потом датчик2, потом датчик3.
Так вот как реализовать алгоритм (сценарий), чтобы в MDM отобразить направление движения человека.
Вроде все просто, и в то же время непросто )))

Re: Последовательное срабатывание датчиков

Добавлено: Вс ноя 11, 2018 10:58 am
xor
Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2, если сработал дд2 и (время-время последней сработки дд3)<5с, то движение от дд3 к дд2
Главное, чтобы человек не передумал на середине))

Отправлено с моего Redmi 4X через Tapatalk



Re: Последовательное срабатывание датчиков

Добавлено: Вс ноя 11, 2018 11:22 am
maksimka
xor писал(а):
Вс ноя 11, 2018 10:58 am
Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2...
Логика ясна, а вот как ее реализовать в коде сценария? Время последней активности в свойствах датчика пишется в неудобоваримом формате (к примеру 1541923427).

Re: Последовательное срабатывание датчиков

Добавлено: Вс ноя 11, 2018 8:53 pm
xor
maksimka писал(а):
Вс ноя 11, 2018 11:22 am
xor писал(а):
Вс ноя 11, 2018 10:58 am
Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2...
Логика ясна, а вот как ее реализовать в коде сценария? Время последней активности в свойствах датчика пишется в неудобоваримом формате (к примеру 1541923427).
Это тупо количество секунд с определенной даты. На взгляд неудобоваримо, но складывать и отнимать удобно

Код: Выделить всё

//сюда попадаем, если сработал дд2 
//проверим, что сработало перед этим
if((time()-gg('дд1.lastUpdated))<5){ //move from дд1 to дд2}
if((time()-gg('дд3.lastUpdated))<5){ //move from дд3 to дд2}
Надо понимать, что это работает только в случае одиночного прохода