Умный дом на то и умный, что бы сам знал когда что делать. Хочу начать с простой функции: включение света по простому алгоритму: темно и в заданном помещении есть человек. Со светом вроде бы все понятно - берем датчик и готово. А вот с детектированием человека все сложней. Популярный дешевый способ поставить PIR-детектор не подходит, т.к. кол-во ложных срабатываний очень большое: замерли и он выключился, может реагировать на домашних животных. Так же можно поставить оптическую систему из лазеров, которая будет детектировать вход и выход из помещения. Но так же существует проблема с ложными срабатываниями: развернулся назад на уровне датчика и он будет считать, что вход совершен. Думаю, идеально было бы повесть камеру-тепловизор, и по его данным определять силуэт человека. Но это во первых очень дорого, а во вторых где взять такой алгоритм распознования? Как компромисс - использовать обычную камеру подключенную к RaspberryPi и установленном OpenCV. Но вот примеров и информации по распознованию именно людей на видео не нашел. Лиц - полно, людей - одна статья на хабре, и то с неудачным результатом.
Есть еще какие-то варианты детектировать человека в помещении? Или у кого-то опыт использования OpenCV для этих целей?
"умный дом" это система автоматизации процессов, сопутствующих жизни умных и не очень приматов. функция управления светом может быть реализована только для кладовки или подобных каморок. для жилой комнаты - на данный момент не решаема адекватными методами ни в каком виде.
для начала лучше сделать "умную" вентиляцию ванной комнаты и затем попытаться оценить, чем она лучше/проще/надёжнее "тупой" вентиляции по таймеру. затем можно таким же образом оценить потенциал реализации затей в стандартном клоповнике на 50м без проведения капитального ремонта.
Исхожу из того, что на знании машиной нахождения человека завязано довльно много умных вещей и без реализации этой базовой вещи, проектирование умного дома сведётся как раз к вентеляции ванной комнаты. А с ней можно обрабатывать команды как минимум в контексте того помещения, где находится человек. А далее развивать идею вплоть до "точек интереса" (poi).
Sergey Yamskoy, исходить нужно из поставленной задачи и искать решение для неё, но не лепить "решение" из костылей и пытаться придумать под что его подстроить.
если управление светом, значит сценарий для вечернего времени. бот с машинным зрением не знает когда я захочу посмотреть фильм с/без света. бот не определит что я засыпаю и свет не нужен, хотя изначально был нужен. бот не определит, включить или не включить свет если зашёл второй человек. если бот определит что свет нужен то как он учтёт что я спал или не спал?
если хорошо поискать, собрать в кучу все найденные статьи по успешной реализации "умного дома", затем честно отбросить откровенную дичь и бестолковый бред - абсолютно всё сведётся к установке в стену китайского планшета с отображением температуры/погоды. для всего остального есть вытяжки с таймерами, люстры/ночники с пультами и климатическая техника с своими датчиками.
а в целом удачи в начинаниях. тезис для начала работы над "точками интереса" - радиосвязь это неприменимый на практике онанизм. можно начать с планов по прокладке сети к всем будущим узлам.
n12eq3, все верно, в текущих реализациях ниодин бот всего этого не знает и не умеет. Почему бы не попробовать сделать такого бота, который будет предугадывать? В этом и есть вся задача. Мне не лень пользоваться выключателем, мне интересно попробовать реализовать такую систему. Ну и реализовываю все это в квартире в которой идет капитальный ремонт - проводка практически везде уже заложена, никакой радиосвязи. RS485 по витухе. Протокол скорее всего ModBus, более подходящего не вижу.
В принципе не обязательно же делать сразу абсолютно весь умный свет, к предложенному алгоритму автора можно добавить кнопку которая будет "говорить" системе что сейчас "свет не нужен" и если вы ушли из комнаты допустим на более чем пять минут обнулять состояние "свет не нужен", а остальной алгоритм оставить такой как был предложен ранее!
Василий Ф, рассмотрите задачу в более широком применении. Тогда реализовав это, можно будет двигаться в сторону реализации таких алгоритмов:
1) Камера умеет распознавать человека
2) Умеет видеть точки интереса (POI)
3) Умеет распознавать объекты
И с ходу можно придумать такой кейс использования:
Человек подходит к выходной двери и собирается выходить из квартиры. Система же, умея вышеописанные алгоритмы сможет сообщить человеку что он не взял зонт если планируется дождь.
Пока что нашел данную реализацию через TensorFlow буду пробовать
Если бы человек подходил к двери для того чтобы выйти, то может быть этот алгоритм и подходил бы - а если кому-то звонит в квартиру и надо открыть дверь?