Pull to refresh

Comments 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 герц — крайне мало и не годится для жилых помещений. Матовый рассеиватель — не конденсатор для фотонов и не будет задерживать фотоны для выравнивания освещения в моменты, когда светодиоды гаснут.

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

Зато из-за площади нет прерывистого следа при взгляде на него. Но карандашный тест он все равно заваливает, да.
Sign up to leave a comment.