Обновить

Комментарии 21

Технически, можно обойтись одним-двумя экранами приложения (без жестов), если задействовать удержания и двойные нажатия всех четырёх кнопок на часах. Например, так:

Нажатие кнопки «вверх» или «вниз» переключает активный канал (1, 2, 3, 4, all)
Двойное нажатие «вверх» или «вниз» меняет яркость выбранного канала. Удержание — температуру.

Нажатие кнопки «выбор» включает или выключает выбранный канал.

Удержание кнопки «выбор» переключает выбранный канал в цветной режим.
Цвет управляется нажатием кнопок «вверх-вниз». Двойное нажатие «вверх-вниз» — яркость цветного света. Удержание — выбор режимов, доступных в приложении на смартфоне.
И т.д.

Остаются незадействованными двойные нажатия кнопок «назад» и «выбор», а также, удержание кнопки назад. Благо, я перечислил не весь функционал ламп.
Всё действия можно сделать настраиваемыми в той части приложения, которая установлена на смартфоне.

P.S. Наш сотрудник уехал в отпуск и, как раз, пишет аналогичное приложение для Pebble. Возможно, у вас получится интереснее и удобнее. Впрочем, в статью неплохо было бы добавить инструкцию по установке такой системы, как у вас.

P.P.S. C учётом того, что вы хотите докупать лампы — приходите в наш магазин на Горбушке и получите подарок. С любовью, ваши безумные роботы)
Выпросил таки подарок… Мне стыдно! Но все равно хочется… ) А что сказать-то? Продавцу?
Напишите мне на az@madrobots.ru. Поделюсь секретной фразой.
e.payload.message это просто ад какой-то. Оно мне подарило пару незабываемых часов в попытках понять, как же должна работать передача данных. Точнее саму передачу данных я понял, а вот парадигму — индекс/ключ я долго не мог понять. В итоге расковырял пример и долго матерился от простоты, и того, что эта простота не описана нормально в документации.

встречается в исходниках часто, однако не так очевидно, где же этот самый лог!

Лог можно смотреть в реальном времени на компе при установке SDK, там ключик есть специальный. И скриншоты там же снимать.
Фишка в том, что я так понял они сейчас не предлагают SDK на комп. Только облачное IDE. Или я не нашел. НО это не проблема — в облаке тоже вполне можно смотреть логи в реальном времени — я так и делал. А попасть туда можно вот как я написал — или сразу после инсталяции на часы, или потом через COMPILATION – VIEW APP LOGS.
Да ладно, вот SDK: developer.getpebble.com/download-sdk/
После того как облачная хрень перестала меня пускать и удалила все мои проекты, я на нее обиделся и поставил нативный sdk.
Чувствую себя дураком, но по ссылке, у меня текст:

1. Install the SDK
GET STARTED ON CLOUDPEBBLE
Detailed installation instructions are available for MacOS X and Linux or you can skip the download/configuration and Get Started with CloudPebble.

т.е. он предлагает пойти в облако, или почитать инструкции для Мака и Линукса. Ради интереса пошел по ссылке Линукса, там и правда есть дистрибутив… Но у меня-то винда!
Оу, нет, это я теперь себя дураком чувствую. И правда, забыл что за пределами MacOS есть жизнь.
А под андроид все делать может Tasker+AutoPebble.
Да? Я читал в обзоре про «Универсальный комбайн: AutoPebble+Tasker+plugins», и что он может очень много, но в лоб про преобразование жестов в http-запросы не видел… В прочем это таки не важно, потому что для iPhone так не получится, насколько я понимаю… Вообще для iPhone на удивление мало умных часов. Pebble чуть ли не единственный вариант… Вероятно ребята из Купертино не очень охотно идут навстречу разработчикам в ввиду собственных разработок на эту тему! ))
Под андроид будет работать и без других плагинов, т.к. Таскер сам умеет делать http запросы.
AutoPebble, при запущенном приложении на часах, может мониторить акселерометр и отправлять команды отдельно для движений по 3м осям. Хотя конечно проще повесить все на кнопки.
Круто. Надо поковырять Таскер. Как я понимаю там что-то связанное с голосовыми запросами тоже можно реализовать? Причем, желательно, в режиме «OK, Google», и далее команда. Тогда для управления светом (и не только) голосом осталось всего-ничего: какой-нибудь планшет на андроиде, который постоянно «слушает» и при узнавании команды отправляет http запрос… Хотя, я думаю, что такое вполне может быть есть уже готовое — надо только погуглить… Эх! Все уже украдено придумано до нас. (
Да давно уж есть. Но чтобы не ело батарейку, то только Moto X, на котором под активный микрофон выделено отдельное ядро. Tasker+AutoVoice вообще рулит…
На том же канале у Doug Gregory есть демка управления умным домом через голос с LG G Watch. Ну а гуру в этом Armando Ferreira.

Промазал веткой…
У меня ссылка на Tasker+AutoVoice не открывается… Или там просто ссылка на поисковый запрос по этим словам в Google? Ок, посмотрю. Спасибо, интересная тема! Только у меня сейчас андроид (взял поиграться) пишет, что Tasker не доступен в моей стране… Это потому, что у меня карты там никакой не подвязано, или это, страшно сказать — санкции западные? )
Англичанин закрыл доступ для нас по политическим взглядам.
Russia is drifting rapidly towards an aggressive, isolationist dictatorship.
It's not about Crimea/Ukraine specifically, but rather the internal situation in Russia. Repression of protest, removal of free press and media, increasing military budget, isolationism, encouraging nationalism, non-independent justice system etc.
I live only a couple of borders away. Aggressive dictatorships are scary.

По первой ссылке мой пост о том как добавить свои команды в Google Now. Для тестов можно использовать триальную версию с оффсайта. (и кстати самим же таскером можно сделать этот триал бесконечным =))
Nehc, после этой статьи я уже не удержался.

Ну в общем управление жестами — действительно перебор. Назначение действий в Tasker решает. Сделал три кнопки — вкл, выкл, красный свет (вечером перед сном). Дополнительно в меню — поднять/опустить до упора цветовую температуру.

Серверную часть в виде великолепного php скрипта поднял на виртуалке с Centos. В cron пока ввел следующее:

*/1 * * * *! ping -c 3 -W 1 192.168.0.13 &&! cat /root/phoneflag && wget -qO- localhost/marlight.php?command=ALL_OFF && echo «1» > /root/phoneflag
Каждую минуту пинговать мой мобильник, если не пингуется и нет флага «хозяин ушел» — гасим свет и выставляем флаг «хозяин ушел».

*/1 10-23 * * * ping -c 3 -W 1 192.168.0.13 && cat /root/phoneflag && wget -qO- localhost/marlight.php?command=ALL_ON && rm -f /root/phoneflag
Каждую минуту пинговать мой мобильник, если пингуется и есть флаг «хозяин уходил» — включаем свет и удаляем флаг. Но не ночью. Риск ложных срабатываний.

*/30 20-23 * * * for i in {0..15}; do wget -qO- localhost/marlight.php?command=TEMP_WARMER; sleep 0.2; done
Вечером выставляем теплую цветовую температуру. Более элегантного решения задачи, без цикла, не нашел.

*/30 06-19 * * * for i in {0..15}; do wget -qO- localhost/marlight.php?command=TEMP_COLDER; sleep 0.2; done
Днем выставляем низкую цветовую температуру.

И да, я знаю, что крон под рутом с записью флагов в /root — отстой. Ничего страшного, сервер в доверенном периметре, в интернет не высунут.

Еще в Tasker есть действие на включение света, как только подключился к своей вайфай сети (не ночью — ложные срабатывания не нужны). Еще одно правило — включение холодного света при срабатывании будильника sleep as android (описание API — sites.google.com/site/sleepasandroid/doc/developer-api), это тоже здорово, четыре лампы неплохо бьют в глаза.

Общая задача — покрыть автоматикой все случаи, когда надо тянуться к выключателю (в данный момент выключателем являются часы). Пока не могу сообразить триггер для отключения света ночью при засыпании. Возможно, тут тоже поможет sleep as android, но как именно — пока не решил. Может быть, остановлюсь на классическом «дважды хлопнуть» (слушать будет компьютер, либо заряжающийся мобильник).

И ведь действительно Marlight «лампочка для программиста». Программизмом надо заниматься на PHP, bash, Tasker и чем угодно другом попавшимся под руку. И придумать алгоритм, полностью автоматизирующий работу освещения — непростая задача.
Пока полевые испытания показали, что включение-выключение взмахом руки вполне практичны. Так же еще не пробовал, но собираюсь попробовать управлять таким образом яркостью. А вот переключение каналов поворотом кисти — не очень удобно, особенно ребенку, у которого маленькое запястье и часы болтаются — часто непроизвольное переключение каналов, что конечно нервирует остальных домашних. ) Собираюсь перевесить переключение каналов на кнопки, плюс выводить уже не номер канала, а название комнаты… Но это так — красивости!

Я это к чему — кнопок на часах не много, а учитывая их «традиционное» использование (вверх/вниз — циклический перебор, центральная — подтверждение выбора и назад/отмена) — отказываться от жестов не стоит. Надо просто продумать эргономику…

PS Плюсанул бы ваш комент, да я на хабре без году неделя — карма не та, что бы других оценивать… ))
Вот яркостью точно не стоит управлять. Эти лампы можно использовать только в крайних положениях цветовой температуры и при максимальной яркости, иначе они очень неслабо мерцают. Как говорят, особенно нехорошо это может быть для ребенка. Так что для управления яркостью просто гасите отдельные лампы.

Я поначалу выставил среднюю цветовую температуру, где-то через полчаса появилось ощущение «что-то не так». Помахал пальцем перед лампами, посмотрел на них через камеру мобильника и немного обалдел от увиденного. Разумеется, опыт с осциллографом в изначальной статье полностью вылетел из головы.
Хм. Не заметил такого… Все же 240 Гц — довольно много, плюс матовый рассеиватель… Надо будет понаблюдать. Если и правда так, то это плохо, т.к. крайние положения цветовой температуры мне не нравятся. Или слишком неестественный цвет, или очень желтый.
240 герц — крайне мало и не годится для жилых помещений. Матовый рассеиватель — не конденсатор для фотонов и не будет задерживать фотоны для выравнивания освещения в моменты, когда светодиоды гаснут.

Лично мне крайние положения нравятся. Днем холодный — почти неотличим от солнечного света. Раньше меня бесили две вещи — недостаточная освещенность комнаты при выключенном искусственном свете и сильный контраст между светом солнца и ламп. Вечером теплый — меньше синего спектра, меньше влияния на выработку мелатонина. Ну а перед сном включаем красный светодиод, тоже на полную.
Матовый рассеиватель — не конденсатор для фотонов и не будет задерживать фотоны для выравнивания освещения в моменты, когда светодиоды гаснут.

Зато из-за площади нет прерывистого следа при взгляде на него. Но карандашный тест он все равно заваливает, да.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
madrobots.ru
Дата регистрации
Дата основания
Численность
51–100 человек