Windows — самая популярная ОС на персональных компьютерах. Она хорошо знакома многим, поэтому MiMiSmart разработала приложение, позволяющее подключить к вашему компьютеру систему «умный дом».
Вне зависимости от вашей компетенции с использованием устройств на Android или iOS, мы решили, что приложение на Windows должно быть обязательно. Упор при разработке делался на максимальную интуитивность и легкость управлением «умного дома» людям любого возраста.
«Умный дом» на Windows способен:
- эффективно контролировать периметр;
- управлять климатом и бытовой техникой;
- выполнять заданные вами сценарии работы освещения, ворот, систем противообледенения;
- отключать неиспользуемые розетки и технику;
- эффективно ликвидировать утечки воды и газа, бороться с возгораниями.
Любой ваш компьютер или ноутбук на Windows подойдет для использования приложения. Разработчики MiMiSmart учли все нюансы на стадии проектирования и сделали его интуитивно понятным, простым, но функциональным. Один клик, и ваш дом уже выполняет команду.
Умный дом — детская мечта миллениалов, которую еще лет 20 назад можно было увидеть только в фильмах. Лампочки загораются без нажатия на выключатель, жалюзи поднимутся с наступлением утра, а умный чайник согреет воду, когда вы приходите с работы.
Сегодня собрать дом мечты возможно, на рынке уже есть множество компаний, которые предлагают потребителям «умные» устройства и программные обеспечения для него. Например, «Дом с Алисой» — это программное обеспечение для управления устройствами умного дома, разработанное компанией Яндекс. Этот инструмент предоставляет пользователям возможность легко и удобно контролировать различные аспекты их умного дома.
Источник: play.google.com / Превью приложения «Дом с Алисой»
«Дом с Алисой» дает возможность управлять умным домом и всеми устройствами, доступными для подключения. Пользователи могут:
- управлять своими устройствами с помощью голосовых команд через Алису, что делает процесс контроля простым и удобным;
- программа поддерживает множество умных устройств, обеспечивая их интеграцию и централизованное управление;
- интерфейс программы интуитивно понятен и не требует специальных навыков для начала работы.
Давайте разберемся, как настроить умный дом с Алисой на ПК. Спойлер: все просто и быстро. Главное — иметь бесперебойный доступ устройств к сети Интернет.
Обзор функционала программы «Дом с Алисой»
Источник: trashbox.ru / Иллюстрация приложения «Дом с Алисой»
Программа предоставляет доступ к различным сценариям, которые можно легко изменять и адаптировать под свои нужды. Сценарий — это последовательность действий, которую вы сами можете задавать для умных устройств. Работают они по принципу «должно произойти что-то, чтобы сделать что-то». Например, вы сноб с английскими корнями и каждые «файв о-клок» любите проводить с чашечкой чая. Создайте сценарий, который будет запускать нагрев воды в 16:55 и традиционное чаепитие будет проходить точно в срок.
Настройка сценариев
Одной из самых привлекательных функций является возможность настройки команды сразу для нескольких устройств. Вы можете использовать уже готовые сценарии или создавать свои собственные. Например, на команду «Доброе утро» можно настроить включение чайника и проигрывание бодрой песни. Все зависит от того, сколько устройств подключено к вашему умному дому.
Если вы успешно настроили первый сценарий, стоит обратить внимание на установку пауз между действиями. Это поможет обеспечить более плавное выполнение команд. Например, можно прописать паузу между включением света и запуском кофеварки.
Просмотр и планирование сценариев
Источник: datchikidoma.ru / Фразы для запуска сценарриев в «Дом с Алисой»
Все созданные сценарии можно просматривать и изменять в любой момент. Программа особенно понравится тем, кто любит планировать и иметь контроль над всеми аспектами своего дома. Благодаря виджетам, которые можно поместить на рабочий стол устройства, управление техническими предметами становится еще проще.
Управление временем работы устройств
Источник: webdonsk.ru / Настройка умного дома
Одним из положительных моментов является возможность выбора времени для включения или отключения различных устройств, таких как пылесос или колонка. Вы сами настраиваете расписание для каждого устройства и решаете, когда оно должно работать или отдыхать.
Установка «Дома с Алисой» на компьютер или ноутбук
Для установки приложения «Дом с Алисой» на Windows рекомендуется воспользоваться эмулятором, например, Nox App Player. Этот софт позволяет открывать мобильные приложения на портативный компьютер. Можете использовать его не только для того, чтобы включить расслабляющую музыку после руина катки в Dota 2, но и поставить любимые мобилки на компьютер.
Давайте пошагово пройдемся по процессу установки приложения на ваш компьютер:
- Скачайте Nox App Player с официального сайта или из надежного источника.
- Установите файл на ваш ПК, следуя инструкциям установщика.
- Запустите Nox App Player.
- Пройдите авторизацию с помощью вашей учетной записи Google.
- Посетите раздел Play Маркета в Nox App Player. Используйте поиск, чтобы найти приложение «Дом с Алисой».
- Зайдите на страницу приложения и приступите к его установке.
Источник: 4pda.to / Интерфейс Nox App Player
Теперь вам доступен весь функционал приложения «Дом с Алисой» на персональном компьютере. Настройте все процессы в доме под себя, чтобы сделать жизнь еще более комфортной.
Заглавное фото: rbc.ru
Это приложение для Windows под названием «Яндекс Умный дом», последнюю версию которого можно скачать как v0.6.5sourcecode.zip. Его можно запустить онлайн в бесплатном хостинг-провайдере OnWorks для рабочих станций.
Загрузите и бесплатно запустите онлайн это приложение под названием «Яндекс Умный Дом с OnWorks».
Следуйте этим инструкциям, чтобы запустить это приложение:
— 1. Загрузил это приложение на свой компьютер.
— 2. Введите в нашем файловом менеджере https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 3. Загрузите это приложение в такой файловый менеджер.
— 4. Запустите любой онлайн-эмулятор OS OnWorks с этого сайта, но лучше онлайн-эмулятор Windows.
— 5. В только что запущенной ОС Windows OnWorks перейдите в наш файловый менеджер https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 6. Скачайте приложение и установите его.
— 7. Загрузите Wine из репозиториев программного обеспечения вашего дистрибутива Linux. После установки вы можете дважды щелкнуть приложение, чтобы запустить его с помощью Wine. Вы также можете попробовать PlayOnLinux, необычный интерфейс поверх Wine, который поможет вам установить популярные программы и игры для Windows.
Wine — это способ запустить программное обеспечение Windows в Linux, но без Windows. Wine — это уровень совместимости с Windows с открытым исходным кодом, который может запускать программы Windows непосредственно на любом рабочем столе Linux. По сути, Wine пытается заново реализовать Windows с нуля, чтобы можно было запускать все эти Windows-приложения, фактически не нуждаясь в Windows.
СКРИНШОТЫ
Яндекс Умный дом
ОПИСАНИЕ
Добавляет поддержку Яндекс Умного Дома (голосового помощника Алисы) в Home Assistant. Компонент позволяет добавлять устройства из Home Assistant на платформу умного дома Яндекса и управлять ими с любого устройства с помощью Алисы. Компонент работает на Home Assistant версии 2023.2 или новее.
Особенности
- Умные колонки (Яндекс Станция и другие)
- Мобильное приложение Дом с Алисой
- Веб-интерфейс Квазара
- Компонент работает на Home Assistant версии 2023.2 или новее.
- Компонент позволяет добавлять устройства из Home Assistant на платформу умного дома Яндекса.
- В именах устройств разрешены только русские символы и цифры.
Язык программирования
Питон
Категории
Голосовые помощники
Это приложение также можно загрузить с https://sourceforge.net/projects/yandex-smart-home.mirror/. Он размещен в OnWorks, чтобы его можно было проще запускать в Интернете из одной из наших бесплатных операционных систем.
Скачать приложения для Windows и Linux
- Приложения для Linux
- Приложения для Windows
-
1
- Жар-птица
- СУБД Firebird предлагает функции ANSI SQL
& работает на Linux, Windows и
несколько Unix-платформ. Функции
отличный параллелизм и производительность
& сила… - Скачать Firebird
-
2
- KompoZer
- KompoZer — это wysiwyg HTML-редактор, использующий
кодовая база Mozilla Composer. В виде
Разработка Нву остановлена
в 2005 году KompoZer исправляет множество ошибок и
добавляет ф… - Скачать Композер
-
3
- Бесплатная загрузка манги
- Free Manga Downloader (FMD) — это
приложение с открытым исходным кодом, написанное на
Object-Pascal для управления и
скачивание манги с разных сайтов.
Это зеркало… - Скачать бесплатный загрузчик манги
-
4
- UNetbootin
- UNetbootin позволяет создавать загрузочные
Живые USB-накопители для Ubuntu, Fedora и
другие дистрибутивы Linux без
запись компакт-диска. Работает на Windows, Linux,
и … - Скачать UNetbootin
-
5
- Долибарр ERP — CRM
- Dolibarr ERP — CRM проста в использовании
Пакет программного обеспечения ERP и CRM с открытым исходным кодом
(запускается с веб-сервером php или как
автономное программное обеспечение) для бизнеса,
фундамент… - Скачать Dolibarr ERP — CRM
-
6
- Клиент SQuirreL SQL
- SQuirreL SQL Client — это графический SQL
клиент, написанный на Java, который позволит
вы, чтобы просмотреть структуру JDBC
совместимая база данных, просматривайте данные в
столы … - Скачать SQL-клиент SQuirreL
- Больше »
Команды Linux
-
1
- размер aarch64-linux-gnu
- size — список размеров разделов и их общее количество.
размер. … - Запустите aarch64-linux-gnu-size
-
2
- aarch64-linux-gnu-строки
- строки — распечатать строки
печатаемые символы в файлах. … - Запустите aarch64-linux-gnu-strings
-
3
- аварийный список
- crashlistout — список почтовых файлов
ожидание выхода в указанном
каталог. … - Запустить аварийный список
-
4
- аварийная почта
- аварийная почта — Fidonet *.JAM и MSG
бросок… - Запустить аварийную почту
-
5
- бельведер
- Gazebo — Запустите сервер Gazebo и графический интерфейс.
… - Беговая беседка
-
6
- gba3
- gba3 — Архиватор GAMBAS…
- Запустите gba3
- Больше »
Tools
| Technical Templates
Играйте на ПК с BlueStacks или через наше облако
Запустите Smart Home на PC или Mac
Освободитесь от очевидных ограничений вашего телефона. Используйте Smart Home, созданное Technical Templates, приложение жанра Tools на ПК или Mac с BlueStacks и поднимите свою игру на новый уровень.
О приложении
Smart Home от Technical Templates умеет превращать привычные домашние устройства в нечто куда более удобное. Это не просто инструмент из категории Tools — здесь всё посвящено тому, чтобы управление техникой дома стало проще, быстрее и даже чуть веселее. Забыли выключить свет? Или хотите подстроить температуру, не вставая с дивана? С этим приложением всё оказалось куда легче, чем вы думали.
Особенности приложения
-
Лёгкое подключение устройств
Добавлять новую технику можно буквально в пару нажатий — ничего сложного. Приложение находит совместимые устройства и быстро связывает их с вашим телефоном. -
Удалённое управление всем домом
Включайте, выключайте или настраивайте параметры техники, даже если вы не дома. Всё это — со смартфона, планшета или, если хочется большего экрана, через BlueStacks. -
Автоматизация процессов
Автоматически задавайте сценарии: например, пусть свет включается к вашему возвращению или кондиционер готовит свежий воздух к утру. Просто задайте правила — остальное приложение возьмёт на себя. -
Простое меню и интуитивный интерфейс
Не заблудитесь даже при первом запуске. Все функции аккуратно разложены по разделам, а нужное находится за секунды. -
Контроль доступа
Можно делиться управлением с членами семьи: пусть у каждого будет свой доступ к тем функциям, которые ему нужны. -
Уведомления в реальном времени
Получайте оповещения, если техника требует внимания — например, забыли выключить чайник или открыта дверь.
Smart Home делает бытовую рутину намного понятнее, особенно если вы цените свой комфорт и время.
Переходите на BlueStacks и максимально используйте все возможности приложений на ПК или Mac.
Как скачать и запустить Smart Home на ПК
-
Скачайте и установите BlueStacks на ваш ПК или Mac
-
Войдите в аккаунт Google, чтобы получить доступ к Google Play, или сделайте это позже.
-
В поле поиска, которое находится в правой части экрана, введите название игры – Smart Home.
-
Среди результатов поиска найдите игру Smart Home и нажмите на кнопку «Установить».
-
Завершите авторизацию в Google (если вы пропустили этот шаг в начале) и установите игру Smart Home.
-
Нажмите на ярлык игры Smart Home на главном экране, чтобы начать играть.
Watch Video
Операционная система
Microsoft Windows 7 и выше, macOS 11 (Big Sur) и выше
Процессор
Intel, AMD или Apple Silicon Processor
ОЗУ
не менее 4 ГБ
Жесткий диск
10 ГБ свободного дискового пространства
Note:
* У вас должны быть права администратора на ПК. Актуальные драйверы видеокарты от производителя чипсета или Microsoft.
Smart Home — FAQ
-
Как запустить Smart Home на ПК с Windows и Mac?
Запустите Smart Home на своем ПК или Mac, выполнив следующие простые действия.
- Нажмите «Скачать Smart Home на ПК», чтобы загрузить BlueStacks.
- Установите его и авторизируйтесь в Google Play Store.
- Запустите приложение.
-
Почему BlueStacks — самая быстрая и безопасная платформа для игр на ПК?
BlueStacks уважает вашу конфиденциальность и всегда безопасен в использовании. Он не содержит вредоносных и шпионских программ или любого другого дополнительного программного обеспечения, которое может нанести вред вашему компьютеру.
Он разработан и оптимизирован чтобы обеспечивать ваш игровой процесс наилучшей производительностью.
-
Какие системные требования у Smart Home к ПК?
Минимальные требования для запуска Smart Home на вашем ПК
- ОС: Microsoft Windows 7 и выше
- Процессор: процессор Intel или AMD.
- Оперативная память: на вашем компьютере должно быть не менее 2 ГБ оперативной памяти. (Обратите внимание, что наличие 2 ГБ или более дискового пространства не заменяет ОЗУ)
- Жесткий диск: 5 ГБ свободного места на диске.
- Вы должны быть администратором на своем ПК.
После успешной проверки работы системы, я замахнулся на замену всех выключателей в доме на пульты управления, и построение «умного дома», хотя бы в части освещения.
В итоге получилась система, сочетающая включение/выключение света как с помощью выключателей, так и через интернет — с помощью кнопок на веб-страничке.
Как это получилось — читайте под катом.
Составляем план
Для начала я, побегав с рулеткой и бумажкой по дому, нарисовал план квартиры, а затем построил 3D модель квартиры в программе SweetHome 3D. Не скажу, что получилось идеально, но представление о квартире дает. Кому интересно, вот
фейл
файл проекта.
План был красиво отрендерен, и несколько часов мы с женой
отбирали друг у друга мышку
думали, где какой выключатель должен стоять, и чем управлять. Большим плюсом была возможность управления одной лампой с нескольких выключателей, поэтому было решено отойти от стандартной модели «одна комната — один выключатель» и расположить выключатели в тех местах, в которых человек проводит большую часть времени — около компьютера, кровати и дивана
Если интересно, вот план
И рендер
В конце-концов остановились на том, что выключатели в остальных комнатах останутся на месте, а вот в зале добавятся еще — два, около кровати и компьютера, как я уже говорил. Еще захотелось добавить возможность включать свет не на полную мощность, но, поскольку во всех люстрах стоят энергосберегающие лампы, было решено купить светильник под галогеновую лампу, для регулируемого ночника. Итогом стали три картинки, показывающих взаимное расположение всех светильников и выключателей в квартире.
Некоторые пояснения к картинке. Светильники и нагрузки обозначены красными надписями, управляющие элементы — синими.
Свет кухни и пульт №1 — это как раз то, о чем я рассказывал в предыдущем топике.
Конечно, большинство ламп находится на потолке, но при этом на плане они закрывали комнату, и смотрелось не очень понятно. Поэтому на картинках потолочные люстры оказались на стенах.
Под каждым названием — модель пульта или силового блока.
Вентилятор, хоть и не является освещением, все равно отмечен на плане — он управляется диммируемым блоком(на максимальной мощности слишком шумит).
А теперь мы попробуем со всей этой фигней взлететь
Для претворения этого дерзкого плана в жизнь нам понадобится…
Много-много коробочек. Точнее, не их, а их содержимого:
Я уже подробно разбирал, что в них в предыдущей статье, поэтому повторяться не буду.
Из нового — адаптер для управления с компьютера:
Внутри — диск с программой и сам передатчик.
Само-собой, надо разобрать.
Внутри — Attiny45 в качестве USB-интерфеса, и PIC12F675:
Адаптер определяется как HID-устройство, поэтому работает без драйверов(точнее с системными). Конечно, без программы не обойтись, но для линукса это определенно плюс, никакого kldload noolite.so.
Еще — карманный пульт-передатчик.
С 4 кнопками, 1 из которых служит для привязки-отвязки(D), 2 — включения-выключения и регулировки яркости(A,B), и еще одна — сценарная().
Кстати, с пультом очень удобно проверять работу при подключении всего этого добра, потому что настенный выключатель не так удобно таскать в кармане, и кнопка привязки не такая удобная.
Разберем, для чего необходимо выкрутить 3 винта на обратной стороне:
И аккуратно разделяем его на две половинки:
Вот плата поближе:
Контроллер — PIC16F630.
Все остальное без изменений, разве что добавился новый тип выключателей(слева) — с тремя сценарными кнопками.
Плюс их в том, что можно привязать к ним сколько угодно силовых блоков, а минус — в том, что если вам надо и включать и выключать свет — нужно будет задействовать две кнопки из трех — одну на включение, другую на выключение. Остается одна, и ее приткнуть часто некуда — если ее повесить на включение лампы, то с этого выключателя ее уже не выключить, и наоборот. Мне бы был удобен выключатель с одной кнопкой включения-выключения и с двумя сценарными, вроде PU212, только наоборот.
И еще новый силовой блок — диммируемый:
Устанавливаем
Вместо диммера вентилятора(да-да, с моими любимыми клеммами):
И закрываем розеткой:
В разрез провода освещения:
Провода выключатели соединяем между собой и замуровываем в стену — они нам больше не понадобятся.
Блок временно приклеиваем к потолку термоклеем.
Не обращайте внимания на потолок — у меня уже год вялотекущий ремонт, как только закончу ванну — там будет натяжной потолок.
Правда, силовой блок придется перенести куда-нибудь, потому что для настройки нужен физический доступ.
Еще один — в люстру в зале:
И блок — в настенный светильник, это будет ночник:
После этого настала очередь выключателей. Тот, который на кухне — вы уже видели.
В зале, над диваном:
Еще один — около компьютера, чтобы не вставать лишний раз:
Около кровати:
И около ванной:
Последний выключатель занял свое место на входной двери:
Как оказалось, очень удобно, выходя из квартиры — выключить все освещение, чтобы оно не светилось зря, а приходя обратно — с порога включить на кухне и в зале — чтобы не бродить в потемках с пакетами.
Сервер(полуживой x120e без клавиатуры) занял свое почетное место в ящике тумбы (потому что шумит зело):
Управляем с компьютера
Скачиваем и устанавливаем программу для управления контроллером. Втыкаем в компьютер адаптер управления.
Запускаем программу, нажимаем кнопку настройки, и привязываем каналы к силовым блокам. На самом деле наоборот — привязываем силовые блоки к каналам — в память блоков записывается уникальный адрес адаптера, для того, чтобы он не спутал его с адаптером соседа.
Процедура проста — нажимаем кнопку на силовом блоке, нажимаем «Привязка» в программе, после того как светодиод на блоке начал мигать быстро — подтверждает привязку еще раз нажав на кнопку блока, и выходим из режима привязки — нажимаем кнопку еще раз. Повторяем для всех блоков. Это надо сделать один раз, и при смене компьютера делать не надо — настройки сохраняются в силовых блоках. Максимальное число каналов — 8 штук.
Однако, такое управление с компьютера недостаточно функционально, и подходит, пожалуй, только для управления нагрузками — светотехникой, например. Ну, там, включить стробоскоп, выключить световую голову, включить прожектор, включить подсветку сцены, выключить световую заливку, включить лазер. Но не для умного дома — кому захочется каждый раз подходить к компьютеру, включать программу и тыкать мышкой?
Для нормального применения в умном доме разработчики предлагают открытое API(для windows — запуск программы с параметром -api, для остальных операционных систем — передача посылок напрямую HID-устройству).
А в качестве красивой панели управления — можно использовать проект MajorDoMo (о нем уже писали на хабре, а сам разработчик присутсвует на хабре — Jey).
Установка MajorDoMo и настройка в качестве панели управления для Windows
Установка MajorDoMo и настройка в качестве панели управления для Windows
Идем на страницу загрузки, и скачиваем последнюю версию системы. Устанавливаем (надеюсь, эта стадия вопросов не вызовет).
После запуска MajorDoMo (Пуск-Программы-MajorDoMo или c:/_majordomo/start.bat, кстати, внесите его сразу в автозапуск — сам запускаться не будет) переходим в браузере на страничку системы — localhost или по ip адресу, у меня это 192.168.1.104. В верхнем углу нажимаем на ссылку «Панель управления», заходим под стандартным логином admin/admin.
В панели управления заходим в раздел сценарии(слева, в блоке «Обьекты»), и создаем новый сценарий(если у вас несколько блоков, то можно сначала создать категорию для сценариев — Категории — Добавить категорию).
Называем его, допустим, hall_light, выбираем ранее созданную категорию, а в коде пишем следующее:
if ($params['VALUE']) {
safe_exec('"c:\Program Files\nooLite\noolite.exe" -api -on_ch5');
sleep(1);
} else {
safe_exec('"c:\Program Files\nooLite\noolite.exe" -api -off_ch5');
sleep(1);
}
Согласно описанию команд программы управления — ключ api указывает на то, что программа запускается без графического интерфейса, ключи on_ch5 и off_ch5 — соответственно, включение и выключение нагрузки на 5 канале. Еще есть ключ sw_ch5 — он переключает состояние нагрузки, т.е. была включена — выключится, и наоборот.
Сохраняем сценарий, нажав кнопку «Добавить» под окном редактора. Создаем сценарии для всех каналов, которыми хотим управлять.
Переходим в пункт «Меню управления»
Нажимаем «добавить новый раздел», обзываем его как-нибудь, внизу жмем «добавить».
Страница перегружается, появляется вот такая менюшка, там же, внизу страницы. Добавляем новый дочерний пункт, обзываем его, в пункте «Тип» выбираем «Выключатель», а в пункте «Сценарий» — тот сценарий, который мы создали на предыдущем шаге. Сохраняем. Создаем выключатели для всех сценариев (для этого удобно пользоваться кнопкой «клонировать»).
Переходим в основной интерфейс, заходим в созданный раздел и видим сбоку удобную менюшку с переключателями. Ее же можно увидеть, если перейти по адресу localhost/menu.html
Управление в Linux
После того, как из-за моих кривых рук винда третий раз за день зависла, я плюнул на это и перевел сервер на линукс. А еще я решил, что MajorDoMo слишком крута для моих целей — получить панель управления с кнопками.
Собираем программу управления:
sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev
cd /tmp
wget https://raw.github.com/pythonchik/nooLite/master/nooLite.c
gcc nooLite.c -o noolite -lusb-1.0
sudo cp /tmp/noolite /usr/local/bin/
sudo chmod +x /usr/local/bin/noolite
Взято вот тут.
Управлять вот так:
sudo noolite -api -on_ch 5 # Включить 5 канал
sudo noolite -api -off_ch 5 # Выключить 5 канал
sudo noolite -api -sw_ch 1 # Сменить состояние 1 канала
sudo noolite -api -set_ch 2 30 # Установить мощность второго канала в 30%
Конечно, первые пару раз логинится по ssh на сервер для того, чтобы выключить свет консольной командой прикольно, но
жена не оценила
душа требует чего-то простого. Сделаем веб-морду. Ну, скорее веб-мордочку.
Код на php, который умеет принимать три параметра и запускать программу управления:
<?
$channel=($_GET['channel']);
$command="-".($_GET['command'])."_ch";
$level=($_GET['level']);
exec("noolite -api $command $channel $level");
?>
Создаем файл в корне веб-сервера, обзываем его index.php, копируем в него вышеприведенные строки, а ниже — ссылки, которые будут исполнять роль кнопок.
<a href="?channel=5&command=on" >Включить основной свет</a>
<a href="?channel=5&command=off" >Выключить основной свет</a>
Добавляем CSS по вкусу. Получается что-то такое:
Скучный код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>NooLite control panel</title>
<style type="text/css">
.light {
-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
box-shadow:inset 0px 1px 0px 0px #ffffff;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
background-color:#ededed;
border:2px solid #dcdcdc;
display:inline-block;
color:#8a8a8a;
width:200px
min-width: 200px
font-family:arial;
font-size:14px;
font-weight:bold;
padding:7px;
text-decoration:none;
}.light:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
background-color:#dfdfdf;
}.light:active {
position:relative;
top:1px;
}
.dark {
-moz-box-shadow:inset 0px 1px 0px 0px #dedede;
-webkit-box-shadow:inset 0px 1px 0px 0px #dedede;
box-shadow:inset 0px 1px 0px 0px #dedede;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #969496), color-stop(1, #a5a6a3) );
background:-moz-linear-gradient( center top, #969496 5%, #a5a6a3 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#969496', endColorstr='#a5a6a3');
background-color:#969496;
border:2px solid #bebfbd;
color:#ffffff;
width:200px
font-family:arial;
font-size:14px;
font-weight:bold;
padding:7px;
text-decoration:none;
}.dark:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #a5a6a3), color-stop(1, #969496) );
background:-moz-linear-gradient( center top, #a5a6a3 5%, #969496 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#a5a6a3', endColorstr='#969496');
background-color:#a5a6a3;
}.dark:active {
position:relative;
top:1px;
}
</style>
<head>
<body>
<h1>NooLite control light panel</h1>
<div>
<p><h3>Зал:</h3></p>
<p>
<a href="?channel=5&command=on" target="invisible" class="light">Включить основной свет</a>
<a href="?channel=5&command=off" target="invisible" class="dark">Выключить основной свет</a>
</p>
<p><h3>Кухня:</h3></p>
<p>
<a href="?channel=3&command=on" target="invisible" class="light">Включить свет №1</a>
<a href="?channel=3&command=off" target="invisible" class="dark">Выключить свет №1</a>
</p>
<p>
<a href="?channel=4&command=on" target="invisible" class="light">Включить свет №2</a>
<a href="?channel=4&command=off" target="invisible" class="dark">Выключить свет №2</a>
</p>
<p><h3>Туалет:</h3></p>
<p>
<a href="?channel=2&command=on" target="invisible" class="light">Включить свет</a>
<a href="?channel=2&command=off" target="invisible" class="dark">Выключить свет</a>
</p>
<p>
<a href="?channel=1&command=on" target="invisible" class="light">Включить вентиляцию</a>
<a href="?channel=1&command=off" target="invisible" class="dark">Выключить вентиляцию</a>
</p>
<iframe name="invisible" style="border:0; width: 0; height: 0;"></iframe>
</body>
</html>
<?
$channel=($_GET['channel']);
$command="-".($_GET['command'])."_ch";
$level=($_GET['level']);
exec("noolite -api $command $channel $level");
?>
Теперь все отлично, но чего-то не хватает. Неудобство — то, что при таком использовании устройство, которое показывает страничку, обязательно должно находиться в домашней сети. А если это телефон, на котором выключен Wi-Fi?
Разблокировать, включить WiFI, дождаться включения, зайти на страничку, нажать кнопку, выключить WiFI…
Настраиваем доступ из интернета
Модифицируем немного код для того, чтобы нельзя было выполнить произвольный код, передав нужный GET-параметр.
Острожно, страшнейший быдлокод. Пишу на PHP второй раз в жизни
Если кто-нибудь сможет подсказать, как проверить принадлежность переменной списку разрешенных команд, буду благодарен. Задавать вопрос по такой мелочи не хочется.
<?
if(isset($_GET['channel']) && $_GET['channel'] == '1'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '2'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '3'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '4'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '5'){
$channel=($_GET['channel']);
}
if(isset($_GET['command']) && $_GET['command'] == 'on'){
$command="-".($_GET['command'])."_ch";
}
if(isset($_GET['command']) && $_GET['command'] == 'off'){
$command="-".($_GET['command'])."_ch";
}
if(isset($_GET['command']) && $_GET['command'] == 'set'){
$command="-".($_GET['command'])."_ch";
}
if(isset($_GET['level']) && $_GET['level'] == '0'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '20'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '40'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '60'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '80'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '100'){
$level=($_GET['level']);
}
exec("noolite -api $command $channel $level");
Остальная страница остается без изменений. Для дальнейшего нам потребуется любой сервер с белым IP, и возможностью доступа по SSH. Настраиваем проброс портов.
На внешнем сервере выполняем:
echo "GatewayPorts=yes" >> /etc/ssh/sshd_config
На локальном сервере(в который подключен адаптер, и на котором веб-сервер слушает порт 80) выполняем:
ssh vvzvlad@servername -R 8080:localhost:80
Теперь, открыв страницу http://servername:8080/ мы увидим ту же самую локальную страницу, доступную из интернета.Время срабатывания команды — около секунды.
Последний штрих — защищаемся от обрыва соединения(на локальном сервере):
cd ~/.ssh/
sudo ssh-keygen -t dsa #генерируем ключ для входа без пароля
scp id_dsa servername:~/.ssh/authorized_keys #копируем его на сервер
echo "PubkeyAuthentication yes" >> /etc/ssh/ssh_config
ssh servername -t echo "PubkeyAuthentication yes" >> /etc/ssh/ssh_config #разрешаем логин по ключу
И помещаем в автозапуск любым удобным вам способом:
autossh vvzvlad@servername -R 8080:localhost:80
Вообще, компьютер тут не нужен, для «управления через веб» хватит любого роутера с USB(благо, они все сейчас работают на линуксе). Делается абсолютно тоже самое — собирается програмка, пишется настраиваемый интерфейс(даже php не надо, можно вполне обойтись любым языком, или даже bash, исполняемым через CGI), и настраивается проброс порта на единый сервер(от него не требуется ничего, кроме как работать в качестве туннельного сервера и авторизовывать пользователя — чтобы по ошибке свет не выключали, набрав не тот адрес). Пользователь получает маленькое устройство без вентилятора, которое обеспечивает управление через веб-интерфейс в локальной сети, а при регистрации на сайте производителя — личную веб-страничку с авторизацией по паролю. Логинишся — и получаешь возможность управления нагрузками из любого места.
Пишем приложение для Android
Ну как, пишем. Ни строчки кода написано не было, не считая ссылок. Если это кому-то интересно, я лучше напишу отдельную статью, чем буду тут еще простыню делать. Коснусь только основных моментов:
Идем на beta.appinventor.mit.edu, создаем новое приложение. Закидываем в форму несколько кнопок, чтобы получилось нечто такое:
Не забываем добавить компонент Web. Жмем кнопку «Open in block editor». Скачиваем файл, запускаем его(нужна джава).
Перетаскиванием блоков по экрану и соединением их, добиваемся того, чтобы нажатие каждой кнопку приводило к запросу на соответствующий адрес. Как-то так:
Потом копируем программу на телефон(Package for phone — download to this computer). Запускаем.
Правда, почему-то при нажатии кнопки в приложении, свет включается не через секунду, как при работе с веб-страничкой, а через 3-4 секунды. Подозреваю, что задержка исчезнет, если нормально написать программу, но на это меня не хватило.
Делаем световой будильник или управляемый ночник
Существует целый класс устройств, чье предназначение заключается в том, чтобы в определенное время плавно начать поднимать яркость светильника — световые будильники. Так как яркость лампы поднимается плавно, и в течении длительного времени (как правило, от 30 минут до часу), то яркий свет не бьет по глазам, а позволяет спокойно проснуться. Производит такие будильники, например, филипс. А мы чем хуже? Достаточно немного лишь написать небольшой скрипт.
Тоже не самый оптимальный код. Смотреть на свой страх и риск
#!/bin/bash
channel=8 #канал ночника
s=0
case $1 in
"inc")
i=0
e=100
[[ $4 == v ]] && echo Шагов: $[100/$3], Время работы $[$2*100/$3] секунд
while [ $i -lt $e ]
do
noolite -api -set_ch $channel $i
i=$[$i+$3]
s=$[$s+1]
sleep $2
[[ $4 == v ]] && echo Шаг $s, текущая яркость: $i
done
[[ $4 == v ]] && echo Конец программы.
exit 1
;;
"dec")
i=100
e=0
[[ $4 == v ]] && echo Шагов: $[100/$3], Время работы $[$2*100/$3] секунд
while [ $i -ge $e ]
do
noolite -api -set_ch $channel $i
i=$[$i-$3]
sleep $2
s=$[$s+1]
[[ $4 == v ]] && echo Шаг $s, текущая яркость: $i
done
[[ $4 == v ]] && echo Конец программы.
exit 1
;;
"help")
echo "noolite-candle [inc,dec] second step v"
echo "inc - постепенное увеличение яркости"
echo "dec - постепенное уменьшение яркости"
echo "second - промежуток между измениями яркости в секундах"
echo "step - шаг изменения яркости (1-100)"
echo "v - показывать отчет по каждому изменению"
echo "например noolite-candle inc 2 1 - увеличение яркости с 0 до 100 с шагом в 1(1,2,3,4...) каждые 2 секунды. Время работы 200(2*100) секунд."
exit 1
;;
*)
echo "Используйте параметр help для получения справки"
exit 1
;;
esac
Как им пользоваться — ясно из кода, или из встроенной справки, если запустить скрипт с параметром help.
Например, если нам надо проснуться в 9 утра, то его следует запустить в 8.30 с такими параметрами:
./noolite-candle inc 18 1
Или в 7 утра, вот так:
./noolite-candle inc 36 1
При такой команде яркость будет постепенно нарастать в течении часа.
Тут видны резкие изменения яркости, потому что была использована команда noolite-candle inc 1 10 — т.е. за один шаг яркость увеличивалась на 10%. Если принять за шаг 1%, то изменение яркости очень плавное.
И конечно, в качестве «ночника» может выступать сколько угодно светильников, или даже люстра, если в ней лампы накаливания или диммируемые энергосберегайки.
Плюсы
- Стоимость
Всего было использовано:
1 адаптер для компьютера — PC118 — $50
5 силовых блока SL-111-200 (для обычных светильников) — $17,5*5
1 силовой блок SN-111-200 (для ночника) — $17,5
1 силовой блок ST-111-200 (для вентилятора) — $17,5
3 пульта управления PU-313-1 — $16,1*3
3 пульта управления PU-312-1 — $16,1*3
1 пульт-брелок PN313-1
Таким образом, затраты составили: 50+17.5*7+16.1*6=$270
Аналогичное по характеристикам электроника протокола X10, судя по расчетам на сайте (5 точек управления освещением, 2 точки с изменением яркости, управление с настенных беспроводных выключателей, управление с компьютера и телефона) обойдется в 24140 рублей.
Конечно, надо учесть еще стоимость компьютера-сервера, но, думаю, возможность найти старый компьютер или ноутбук проблем не составляет.
Как видно, решение получилось довольно бюджетное.
- Легкость в установке и настройке
Не требует никаких особых навыков, кроме умения зачистить и соединить два провода с помощью клемм Wago-222, или им подобных. Панели управления хорошо прикрепляются даже на комплектную липучку, или, в крайнем случае — придется сделать дырки в стене дрелью.
Привязка — очень проста, несколько нажатий кнопок. Установка и настройка программы — тоже не вызывает проблем. Установка и настройка сервера для неподготовленного человека могут вызвать трудности, но все так же решаемо.
- Одновременная работа двух систем
Вместе с полноценным управлением с компьютера сохранилась возможность выключать и включать свет обычными выключателями, расположенными на тех же местах.
- Возможность установки без переделки и расширяемость
Нет необходимости долбить стены, прокладывать управляющую проводку, или вести питание для каждой точки к щитку. Конечно, решение не такое надежное и гибкое, как «классическая» система умного дома — когда все потребители в виде освещения и систем подключаются напрямую к управляемым реле, расположенным в щитке, а выключатели по слаботочной проводке эти самые реле коммутируют. Подробнее — можно прочитать тут и тут. Но зато оно и не такое трудоемкое и дорогое.
К тому же, не надо продумывать план идеально заранее — в любой момент легко добавить еще один выключатель или блок управления. Легко забрать с собой при переезде.
Минусы
- Сенсорные выключатели
Для меня это не минус, я привык за пару дней — достаточно помнить какой из трех выключателей за что отвечает, и нащупать пальцами край выключателя — уверенно включаю свет даже в темноте. А вот жена до сих пор жалуется — обычные выключатели были гораздо удобнее, говорит. Не понимаю, что мешает сделать выключатель пусть даже не с переключаемой, а с тактовой кнопкой — логика не изменится, а удобства добавится. Похоже, мне придется разобрать пультик и сделать из все-таки не-сенсорный выключатель для туалета. Ночью вставать.
- Отсутствие обратной связи
Так как блоки не имеют никакого передатчика, только приемник — сказать о своем состоянии они не могут. Соответственно, панель управления на компьютере не знает о текущем состоянии — включена или выключена нагрузка, что ограничивает применение.
- Малые возможности настройки.
Я уже об этом писал. При использовании сценарных выключателей — приходится занимать 2 кнопки из 3 только под «выключение-включение». Я бы добавил вторую функцию(например, на жест от одного выключателя к другому, или на двойной клик), или увеличил бы количество выключателей.
Итоги
Отличное решение начального уровня для построение системы управление освещением и нагрузками. Такое вполне себе «конструктор для взрослых». Хочешь — светильники через интернет включай, хочешь — ночник управляемый делай, хочешь — умный дом с голосовыми командами и включением света по расписанию.
Мне нравится
Если у вас нет аккаунта на Хабрахабре, вы можете читать и комментировать наши статьи на сайте BoxOverview.com
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Что вы ожидаете от умного дома (можно выбрать несколько вариантов)?
66.95% Ручное управление освещением локально или удаленно557
77.76% Автоматическое управление освещением (включение света при входе в комнату, регулировка в зависимости от времени суток и тд)647
79.33% Автоматическое управление бытовыми системами (кондиционер, теплый пол, вентиляция, и т.д.)660
50.48% Удаленное или автоматическое управление бытовой техникой — стиральные машины, роботы-пылесосы, телевизоры, чайники, печки, микроволновки и т.д.420
84.01% Сигнализация и видеонаблюдение с удаленным доступом. Датчики протечек, газа, дыма, пожара, проникновения699
63.46% Лог событий, включая аудио- и видео-записи.528
43.27% Общение с человеком — голосовые команды и ответы на них360
46.03% Системы авторизации — замена ключам. Доступ в квартиру по RFID, отпечаткам пальцев, паролю.383
74.4% Данные использования воды, электричества, газа. Расчет потребления, прогнозы, отображение для пользователя, и передача информации в обслуживающую организацию619
Проголосовали 832 пользователя. Воздержались 133 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
В каком направлении двигаться разработчикам?
37.21% Обратная связь — возможность узнать статус нагрузки307
15.88% Тактильно-приятные выключатели, с кнопкой131
18.18% Панель управления для локальной сети и интернета150
18.55% Датчики движения153
10.18% Датчики температуры84
Проголосовали 825 пользователей. Воздержались 167 пользователей.