Всем привет!
Прошу помощи или направления для копания.
Немного понимаю в php и js. Задача такая: рядом с моим домом есть светофор, который горит 5 минут красным светом для пешехода и 20 секунд зеленым. Как я могу запилить на сайте информер или виджет, который будет показывать текущее состояние светофора?
Другими словами я хочу открыть страницу сайта и узнать, в каком состоянии сейчас находится светофор, чтобы не стоять перед ним по 5 минут, а приходить к зеленому участку.
Моя логика такая, я знаю в секундах все его циклы (красный, желтый, зеленый).
Взяв точку отсчета, например 01.01.2018 00:00:00 я могу математически посчитать сколько циклов прошло и какой сейчас цикл и в каком он состоянии.
Правильно ли я рассуждаю, есть ли у кого какие наработки и может уже есть что то готовое, или что почитать?
Проще поставить вебку и смотреть вживую, с математикой все равно не выйдет, поломки, профилактику, погрешность работы никто не отменял, постоянно калиброваться будете
С некоторой периодичностью брать снимок с камеры. Кропать его в известном месте (само "табло"). Пробегая по пикселам искать наиболее яркие участки и классифицировать относительно искомых эталонных цветов (красный, желтый и зеленый) удобным способом (допустим, искать кратчайшее расстояние в трехмерном пространстве RGB). Всё.
Учитывая, что нам известны все параметры и изображение будет +/- одинаковое, то не нужны тут никакие нейросети, оценка формы и всего такого. Даже оценка в динамике не нужна.
Сергей Сергеев, а как вы рассчитываете получать состояние?
Отсчет времени - штука непростая из-за возможных ошибок + светофор может переключать режимы (ночью по выходным работать с большими интервалами). Поэтому вам скорее всего нужно будет понаблюдать за ним круглосуточно пару недель...
Это же не платный сервис, это всего лишь поделка, хотел разобраться в том, как сделать такую вещь в принципе, исходя из того, что светофор работает без сбоев и погрешностей
Сергей Сергеев, светофоры могут быть сложнее, чем кажутся) От ручного управления в часы пик и до автоматического подстраивания интервалов под обстановку. Советую вам изучить прикладную область. По крайней мере правда периодически, в разные моменты времени постоять рядом со светофором с секундомером, чтобы определить его интеллектуальность.
Если упростить все до модели, что светофор горит 3 минуты зеленым и 5 - красным, то несложно для каждой точки времени найти текущее состояние: если начали отсчет (0) от включения зеленого, то через N секунд у него будет уже K = N / (3+5) циклов включения зеленого. Целое значение K * (3 + 5) = D (количеству секунд, на помент включения). Теперь если N - D > 3, то горит зеленый. Иначе - красный.
Пусть N = 78, светофор горит зеленым 3 секунды и переключается на красный, который горит 5 секунд.
Тогда K = 78 / (5 + 3) = 9.75,
отсюда D = 9 * (5 + 3) = 75. N - D = 78 - 75 = 3, 3 = 3значит, светофор сейчас как раз включит красный.
Если все так просто, то зачем заморачиваться на вебки, ИИ и прочее. Сделайте мини-программку - таймер. Которая будет считать по принципу - 5 мин прошло - пишет "зеленый", 20 сек прошло - пишет "красный". Раз Вам калибровка не важна, то это идеальный вариант. Главное самый первый раз нажать на кнопку "старт" в момент, когда красный загорится (ну или зеленый) и все, таймер готов. Заодно и выведите "осталось Х:ХХ до смены цвета"
Сделай нейросеть, даже на пхп, которая принимает с камеры картинку и по ранее загруженному датасету определяет состояние
Ну или, Как вариант, пока никто не заметит, разобрать светофор и подключить к нему какой-то свисток, который бы сигналы передавал