Содержание статьи
Введение
На сегодняшний день только ленивый не писал об этих часах. Самый успешный проект на Kickstarter (собрано было более десяти миллионов долларов), Pebble произвели революцию и стали предметом обожания многих гиков. Сейчас часы продаются по цене 99 долларов за пластиковую модель с силиконовым ремешком (на выбор предоставлены восемь цветов) и 199 долларов за второе поколение часов — стальную модель с кожаным и металлическим ремешком. Обе имеют пыле- и влагозащиту, и лично я свои часы практически не снимаю.
Благодаря особенностям экрана (E Ink) при среднем использовании заряд держится около недели. В них можно плавать, бегать, делать ремонт, спать, и в каждом случае часы могут быть активным помощником. Достаточно зайти в маркет и ввести в поиске слово pebble или зайти в раздел Apps приложения на телефоне. Можно найти приложения для уведомлений, управления музыкой, навигации, спуском затвора на камере телефона и камерой GoPro, а также десятки игр, сотни интересных программ (watchapp) и тысячи циферблатов (watchface) на любой вкус. После недавнего обновления появился компас и стали правильно функционировать фоновые процессы, позволяющие нормально работать трекерам активности и умным будильникам.
В этой статье я расскажу про самые интересные программы из маркета, а также, в лучших традициях журнала, покажу, как настроить часы самостоятельно под свои нужды, не имея навыков программирования. Помогут нам в этом две основные программы: Tasker и AutoPebble.
info
Несмотря на бешеную популярность часов, единственным официально поддерживаемым языком остается английский. Добавить русский можно, собрав свою прошивку на pebblebits.com.
Play Market и Pebble Store
Все приложения Pebble можно разделить на два типа. Те, что доступны в Google Play, называются компаньонами — companion app. Watchface и программы, не нуждающиеся в компаньонах, можно скачать напрямую из Pebble Store.
Apps for Pebble
Перво‑наперво обязательно ставим данное приложение из Google Play. Это неофициальный магазин приложений и циферблатов. Хотя сами приложения там собраны из того же маркета, зато каталог циферблатов гораздо более полный. Да и работает программа намного быстрее официального приложения. Кстати, создать свой собственный циферблат поможет программа Canvas или один из онлайн‑сервисов.
Нотификаторы
Далее нам понадобится более продвинутый и функциональный нотификатор. Таких в маркете около десяти, но я рекомендую остановиться на одном из этих трех:
- Notification Center for Pebble — расширяет базовый функционал встроенного приложения. Позволяет просматривать историю и текущие уведомления. Имеет фильтр приложений для отображения и может убирать уведомления из шторки (dismiss) для версий Android 4.3+.
- Notify Pebble — имеет собственный интерфейс показа уведомлений, показывает время и иконку приложения. Может удалить все уведомления из шторки или запустить приложение на телефоне. Также имеет в настройках светлую и темную темы, режим «Не беспокоить», разную вибрацию для разных приложений и настраиваемую высоту шрифта.
- YaNC PRO — отличается принципом работы. На телефоне генерируется картинка, которая затем отправляется на часы. Это позволяет отображать любые языки, включая иероглифы, и видеть присланные смайлы.
Расширить базовые возможности уведомлений о входящем звонке поможет Pebble Dialer. Позволяет выключить микрофон и поставить смартфон на громкую связь, что пригодится, когда руки заняты/грязные/мокрые или все одновременно.
info
Для работы всех нотификаторов необходим доступ к уведомлениям в настройках.
Комбайн
Идем дальше и переключаемся на более узкоспециализированный софт. В Pebble всего восемь слотов для установки приложений, поэтому рекомендую установить один из доступных в маркете комбайнов «все‑в-одном», к примеру Pebble Notification & Reminder. Это мощнейший набор утилит для управления телефоном. Своего рода швейцарский нож в мире Pebble. Умеет запрашивать текущие уведомления, показывает погоду на неделю прямо на циферблате, есть противоугонка — можно выбрать, что делать при потере связи с часами: вибрировать или включить сирену на телефоне. Посылает предупреждение о низком заряде телефона. В меню управления телефоном можно управлять статусом Wi-Fi, узнать статус передачи данных и GPS, поставить на вибрацию, увеличить/уменьшить громкость, посмотреть заряд батареи.
В разделе утилиты можно «найти телефон» — запустить на телефоне громкую мелодию, запомнить текущие координаты, запустить навигацию к сохраненным координатам с получением подсказок прямо на часы, сделать фото, показать календарь и посмотреть в подробностях записанные события. В разделе управления компьютером можно направлять команды, предварительно настроив IP и порт в приложении (поддерживаются PowerPoint или Spotify). Ключевая особенность программы, благодаря которой она и получила название, — возможность создания напоминаний, которые в нужное время появятся на телефоне.
info
Отдельно управлять настройками смартфона можно с помощью Toggles Pebble (goo.gl/wySdtc).
Спорт и трекеры активности
В одном из последних обновлений прошивки Pebble добавили возможность фонового исполнения процессов, что позволило точно отслеживать акселерометр и с некоторой долей погрешности следить за подвижностью человека, считать шаги, время, проведенное в глубоком сне, и потраченные калории. Поэтому следующим шагом я рекомендую установить один из спортивных трекеров.
- UPIt Pebble Pro for UP/UP24 — дополнение к браслету Jawbone UP и UP24. Позволяет выводить на часы всю необходимую информацию с браслета в реальном времени. Кроме того, имеет удобные виджеты для телефона и поддержку нескольких циферблатов в Canvas.
- Swim.com Pebble Uploader — для тех, кто любит поплавать. Необходимо лишь привязать аккаунт одноименного сайта и выставить в настройках длину бассейна.
- Pebble Runner — для бегунов. Отслеживает маршрут, а также автоматом отследит время круга и покажет лучший круг. Конечно же, телефон с включенным GPS должен находиться рядом.
Программа Sleep as Android проследит за сном и разбудит в нужную фазу, так же как и LetsMuv. Последняя к тому же посчитает потраченные калории. Misfit покажет пройденные шаги прям на экране циферблата, а также успехи за неделю. Количество пройденных шагов для достижения цели можно установить самому.
Камера, звук, мотор
Тебе наверняка понадобится приложение для удаленного управления камерой смартфона. Здесь на выбор три лучших из лучших: Watch Trigger, PblCamera и PebbleCam. Последние две имеют предпросмотр в реальном времени, так что можно найти правильную позу и посмотреть, помещаешься ли в кадр. Для записи видео есть Multimedia for Pebble. Управлять музыкой на телефоне удобнее всего через приложение Music Boss. Помимо внушительного списка возможностей и поддерживаемых плееров, программа имеет интеграцию с Chromecast и позволяет управлять воспроизведением и звуком с часов.
Заметки и текст
Pebble удобно использовать для заметок, поэтому в качестве must have приложения я рекомендую установить Push to Pebble, которая не требует установки watchapp на часы и отсылает текст через встроенный нотификатор. Если заметки хранятся в облаке, то можно использовать Keep for Pebble для Google Keep или WatchNote для Evernote.
Для более сложных случаев и длинного текста пригодится Pebble Reader, из которой с помощью встроенного файлового менеджера прямо с часов можно открыть файл txt в любой кодировке. Текущая страница запоминается при последующем открытии, также есть настройка шрифта и выбор из светлой или темной темы отображения. Можно накидать основные тезисы или содержание для презентации и доклада и держать руки свободными.
AutoPebble
Ну вот мы и добрались до самого интересного. AutoPebble — это плагин для Tasker, который позволяет управлять смартфоном с помощью часов (или наоборот) так, как только тебе вздумается. Фактически он способен заменить 80% всех доступных для часов приложений, но требует некоторых знаний и времени для настройки профилей.
О Tasker в журнале писали неоднократно, так что подробно описывать все профили не буду, а покажу лишь основные возможности и ключевые шаги настройки. Напомню принятые в статье обозначения: профиль (profile) определяет условия срабатывания события (event/state), в ответ на которое выполняется задача (task), состоящая из одного или более действий (action). По‑прежнему рекомендую использовать английскую локализацию и отключить режим новичка (beginner mode) для манипуляций с профилями.
Итак, первым делом необходимо установить на смартфон AutoPebble. Он состоит из двух компонентов: приложение (watchapp) и собственно плагин для Tasker. Первый работает на часах и выполняет три функции:
- Прием команд от плагина, с помощью которых можно запустить вибратор, вывести на экран сообщение или включить подсветку.
- Вывод на экран меню, с помощью которого можно отправлять команды плагину, чтобы затем обработать их с помощью Tasker.
- Перехват нажатий кнопок и снятие показаний с датчиков, которые также можно отправить плагину с целью настроить реакцию смартфона на нажатие кнопок на часах или взмах рукой.
В следующих примерах мы будем использовать преимущественно вторую функцию приложения, то есть управлять смартфоном с помощью меню. Для этого меню сначала необходимо сформировать. Создаем в Tasker профиль с условием: State → Plugin → AutoPebble App. Ставим галочку на пункте Watch App Opened. Далее создаем новую задачу и для действия определяем Plugin → AutoPebble List. Это действие выведет на часы информацию в виде списка, пункты которого (максимум 20) можно переключать и запускать кнопками. В поле Labels следует ввести имена пунктов меню через запятую, а в поле Actions — команды (также через запятую), которые будут отправлены Tasker при выборе пунктов меню.
На данном этапе настройки эти поля можно заполнить произвольными значениями (например, «Test1, Test2», «test1, test2»). Далее по тексту мы рассмотрим несколько профилей Tasker и постепенно заполним меню разными пунктами, каждый из которых будет привязан к своему профилю в Tasker.
Управление звуком
Начнем с простого профиля, который позволяет быстро отключить звук смартфона. Настройка очень проста. Добавляем пункт меню с именем Mute и командой mute. Перехватываем команду в Tasker через событие State → Plugin → AutoPebble → Command Filter: mute. Ставим галочку Exact (это надо делать всегда во всех профилях). Для задачи выбираем четыре действия (последнее действие опционально и необходимо для того, чтобы закрыть меню AutoPebble после завершения задачи):
- Audio → Media Volume 0
- Audio → Ringer Volume 0
- Audio → Notification Volume 0
- Plugin → AutoPebble App → Control Watch App → Close
Это все. Теперь, открыв меню AutoPebble на часах и выбрав меню Mute, мы быстро замьютим смартфон. Чтобы быстро вернуть все на место, можно создать дополнительный пункт меню (например, Unmute) и аналогичный профиль, вставив вместо нулей нужные значения громкости. Таким же образом можно создать профили для управления Wi-Fi, Bluetooth, передачи данных, Airplane Mode и так далее.
Быстрый отбой звонка с ответной СМС
Еще один полезный профиль Tasker. Он завязан на приложение Pebble Dialer и позволяет при нажатии на часах кнопки отбоя звонка отправить одну из заготовленных СМС. Мне хватает трех: «За рулем, перезвоню позже», «На совещании, перезвоню» и «Занят, не могу разговаривать».
Для этого создаем профиль State → Plugin → AutoPebble Other App. В списке приложений выбираем PebbleDialer, направление: Watch To Phone, Key Filter: 0, Value Filter: 7 (каждой кнопке, а также длинному нажатию соответствуют разные значения цифр). Сами цифры можно посмотреть в логах AutoPebble, предварительно поставив галочку на Log other Apps.
Для действия выбираем или Plugin → AutoPebble QuickScreen или Plugin → AutoPebble List, в зависимости от количества желаемых ответов. По аналогии, каждому ответу будет соответствовать своя команда, которую необходимо будет отлавливать своим профилем. Для действия при срабатывании команды выбираем Phone → Send SMS и в поле получателя вводим %CNUM — системную переменную, отвечающую за последний входящий номер. Желаемый текст вбиваем в поле ниже.
Поиск телефона
Еще один простой профиль, на этот раз для поиска смартфона. Принцип работы: при выборе пункта меню Find смартфон начнет проигрывать музыкальную композицию. Для начала добавляем в меню пункт Find phone с командой findphone. В профиле через State → Plugin → AutoPebble → Command Filter: findphone ловим команду (обязательно ставим галочку на Exact), а в задаче выкручиваем громкость на максимум через Audio → Media Volume и запускаем любимую музыку через File → Open File. Возможно, на некоторых моделях предварительно необходимо разблокировать телефон. Обычно это можно сделать, добавив первым действием Alert → Popup.
Блокировка смартфона при потере связи с часами с помощью Tasker
Очень полезный профиль, который включает или отключает блокировку экрана с помощью PIN’а в зависимости от того, находятся ли часы в зоне видимости Bluetooth. Позволяет, во‑первых, не беспокоиться о вводе PIN’а, когда часы на руке, а во‑вторых, защищает смартфон в том случае, если он где‑то забыт. Настройка очень простая и вообще не использует возможности AutoPebble:
Событие (Event):
State -> Net -> BT Connected -> выбираем часы
Задача (Task):
Display -> Keyguard: Off
Exit Task:
Display -> Keyguard: On
Координаты и геолокация
Еще более сложный пример, включающий в себя сразу несколько профилей и дополнительный плагин. Суть его в следующем: нам нужно найти припаркованную на огромной стоянке супермаркета машину (как вариант — найти гостиницу в незнакомом городе). Традиционно все это делается с помощью Google Maps и отметок на карте, но так как мы люди ленивые и лишний раз смартфон из кармана доставать не очень любим, то сделаем то же самое с помощью часов.
Для этого нам понадобится два новых пункта меню в AutoPebble (пункты «Запомнить», «В путь» и команды coord, find), плагин AutoLocation и три Tasker-профиля. Первый профиль перехватит команду coord, создаст новый запрос координат и запустит монитор геолокации на смартфоне с помощью плагина AutoLocation. Второй профиль автоматически запустится, когда появится запрос геолокации, определит местоположение, выполнит проверку на точность местоположения, подкорректирует ее, если она недостаточна, запомнит координаты и остановит монитор геолокации. Третий профиль обрабатывает команду find и запускает программу навигации на смартфоне и/или часах с сохраненными ранее координатами.
Итак, первый профиль у нас очень простой:
Событие (Event):
State -> Plugin -> AutoPebble -> Command Filter: "coord"
Задача (Task):
Plugin -> AutoLocation Location -> Location Request Name: "Car geofence", Location Monitor -> Start
Второй профиль немного сложнее:
- В качестве события выбираем State → Plugin → AutoLocation Location. В единственном поле вводим "Car geofence".
- Создаем задачу и добавляем в нее условный блок Task → If: %alaccuracy < 20. Он будет выполняться, если точность определения координат недостаточна.
- Внутри блока изменяем переменную %alaccuracy: Variable set: %alaccuracy to %alaccuracy+20.
- Добавляем действие Plugin → AutoLocation manage: Geofence Name — Car geofence; Action — Add/Edit; Lattidude — %allatitude; Longitude — %allongitude; Radius — %alaccuracy.
- Добавляем действие для остановки геолокации: Plugin → AutoLocation Location → Location Monitor → Stop.
- Закрываем блок через Task → End If.
Наконец, третий профиль. Он будет отрабатывать при выборе пункта меню «В путь» и запускать карту:
- В качестве условия выбираем State → Plugin → AutoPebble → Command Filter: find.
- Чтобы разбудить телефон, создаем Alert → Popup c Title: "Поехали" и Text: "Загружаю карту".
- Далее добавляем Plugin → Autolocation Info и заполняем только один пункт: Geofence Lookup → Name и вводим все тот же "Car geofence" из первого профиля.
- Добавляем Plugin → AutoLocation Map. Вписываем переменные %allatitude и %allongitude в соответствующие поля и выбираем Mode → Navigation.
По желанию можно сразу запустить навигацию на часах. Я использую программу NavMe. Для этого последним действием добавляем Plugin - AutoPebble App: Other Pebble App — выбираем NavMe, Action — Open.
Нотификатор своими руками
В завершение попробуем сделать собственный нотификатор. Для этого нам необходим еще один плагин от того же разработчика — AutoNotification (goo.gl/ZltzdD), который будет перехватывать уведомления смартфона. Плагин автоматически записывает всю полученную информацию из уведомления в переменные Tasker (%antitle, %antext, %anapp, %anpicture), так что нам останется только собрать ее и отправить на часы в том виде, какой нам больше нравится.
В качестве условия профиля выбираем State → Plugin → AutoNotification Intercept. Ставим галочку на Event Behaviour, выбираем Only Created Notifications и Non-Persistent Only, то есть только созданные и те, которые не висят постоянно в шторке. Чтобы не собирать абсолютно все уведомления, фильтруем необходимый текст или приложение. Советую вписывать нужные приложения в поле Package Name. Плагин поддерживает регулярные выражения, и, чтобы создать один профиль для Hangouts и Viber, необходимо вписать (com.google.android.com|com.viber.voip) и поставить галочку на Regex. Символ | означает ИЛИ, а имя пакета можно посмотреть в настройках телефона: «Приложения → Все» (тапнуть на нужном) или в адресной строке страницы приложения в веб‑версии Google Play.
Для вывода текста на часы можно использовать два разных способа: если нужно вывести кнопки оповещения и реагировать на их нажатие, то это Plugin → AutoPebble Notification, а если нужно просто отобразить текст, то это Plugin → AutoPebble Text Screen. Настройка обоих вариантов показана на скриншоте «Нотификатор из Tasker».
Также понадобится отдельный профиль для удаления уведомления. Ловим команду "dn=:=" и для действия выбираем Plugin → AutoNotification Cancel. Заполняем Other Id: %apcomm1; Package: %apcomm2; Tag: %apcomm3. Нотификатор готов. При наличии root, Xposed Framework и некоторых модулей можно добавить в уведомления кнопку «Пометить как прочитанное» для СМС и Gmail, которую также можно отобразить на часах. Более сложные профили можно посмотреть на канале разработчика Жуана Диаса (Joao Dias), а примеры работы описанного выше с пояснениями — на моем канале.
Продвинутый уровень
С помощью Tasker, AutoPebble и установленных на рутованном телефоне BusyBox и SQLite можно прямо с часов доставать информацию из баз данных, находящихся на телефоне. Мне, например, очень удобно использовать для хранения паролей, списков покупок и других записей программу Google Keep. Сам профиль можно найти в приложении к журналу. Отмечу, что вытащить из базы список заголовков всех заметок можно командой Script → Run Shell: /system/xbin/sqlite3 /data/data/com.google.android.keep/databases/keep.db " SELECT c0title FROM text_search_tree_entities_content WHERE docid<21; ".
Последнее условие (WHERE docid<21) нужно для того, чтобы вытащить из базы только 20 записей, ведь для вывода информации через AutoPebble List доступно только 20 строк. Сам текст можно доставать командой "SELECT c0text FROM text_search_list_items_content WHERE c1list_parent_id = %apcomm;", где %apcomm — это текст команды, переданной с часов, при нажатии на нужный заголовок. Он соответствует ID, который можно получить через "SELECT docid FROM text_search_tree_entities_content WHERE docid<21;".
Аналогично можно вытаскивать из Google Keep непосредственно списки и помечать выполненными пункты или купленные продукты, затем перегружая экран без выполненного. Если заглянуть в базу, то можно увидеть, что заметки, оформленные в виде именно списков, имеют в tree_entity в графе type цифру 1. ID в ветке tree_entity соответствует docid в ветке text_search_tree_entities_content, а также list_parent_id в ветке list_item. В таблице list_item базы записи имеют атрибут is_cheked, и, чтобы пометить пункт как выполненный, нужно передать команду " UPDATE list_item SET is_checked='1' WHERE _id=%apcomm; ".
Управление компом
В номере 188 журнала я описывал профили управления компом через AutoRemote и EventGhost. Все эти профили можно настроить на подачу команд с часов. Кроме того, описывалась передача текста из браузера Google Chrome непосредственно на часы. Для этого необходимо настроить профиль, срабатывающий на команду "pebmsg=:=" и направляющий на часы AutoPebble Text Screen с текстом %arcomm".
Выводы
Если ты еще не решил, нужны ли тебе умные часы, надеюсь, данная статья подтолкнула в верную сторону. Ну а если тебе не нравится черно‑белый экран и кнопки, то все описанное, а также другие, более интересные действия скоро будут доступны и для всех устройств на Android Wear. На момент написания статьи в закрытой группе Google+ уже началось тестирование альфа‑версии нового приложения от Жуана Диаса — AutoWear. А возможностей у цветного сенсорного экрана намного больше. Если учесть, что Tasker умеет делать HTTP Get и HTTP Post, это дает практически безграничные возможности управления приборами, домашней автоматизации и вывода информации на часы с различных серверов (видеопример: goo.gl/sxG2f3).