Как стать автором
Обновить

Стал доступен эмулятор часов Pebble

Время на прочтение 2 мин
Количество просмотров 7.1K
В стане разработчиков приложений и циферблатов для Pebble случилась долгожданная радость: в облаке для разработки PebbleCloud стал доступен эмулятор часов, что позволяет теперь отлаживать написанное без постоянной загрузки в часы!

image

Что особенно приятно, никаких особенных теледвижений для доступа к нему делать не нужно: достаточно зайти в CloudPebble, и запустить свой проект. По умолчанию проект будет запущен именно в эмуляторе, и для запуска его, по старинке, на часах нужно будет зайти во вкладку «Compilation» и выбрать вариант «Phone» (поскольку именно через телефон происходит загрузка приложения в часы).

image

Эмулятор позволяет запускать приложения как нативные, так и созданные с использование JS-фреймворков (и PebbleKit JS, и Pebble.js). Сам эмулятор работает, кстати, в среде QEMU, так что можно говорить именно о полноценной эмуляции, а не об изображении похожего на правду поведения часов при запуске некого понятного кода — код действительно будет исполняться в прошивке и на виртуальном «железе» часов.

Взаимодействие с эмулятором возможно либо при помощи мыши, либо можно щелкнуть на экране, а затем нажимать курсорные клавиши на клавиатуре для эмуляуции нажатия кнопок часов. Кроме того, при активной клавиатуре можно нажимать X, Y, или Z для виртуального «перемещения» часов в положительном направлении по указанной оси, либо shift-X, shift-Y, или shift-Z для «перемещения» в отрицательном направлении.

Можно также задавать состояние часов при помощи всплывающего диалога настроек:

image

Как видно, здесь можно не только менять «текущее состояние» часов для проверки реакции на него своего кода (можно, как видим, менять уровень заряда батареи часов, задавать, подключены ли они к зарядке, указать, активна ли связь по bluetooth), но и вызывать диалог настройки своего приложения (если таковой предусмотрен), а также полностью выключать эмулятор.

Для правильно отработки показа панели настроек, однако, в код проекта нужно внести изменения: при вызове панели ей будет передан параметр запроса return_to — если он передан, следует использовать именно заданное в нем значение вместо pebblejs://close#. Скажем, можно сделать примерно так:
// Получаем переменные запроса
function getQueryParam(variable, default_) {
    var query = location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (pair[0] == variable)
            return decodeURIComponent(pair[1]);
    }
    return default_ || false;
}

var return_to = getQueryParam('return_to', 'pebblejs://close#');
document.location = return_to + encodeURIComponent(JSON.stringify(some_settings));


Честно говоря, интересно следить за развитием сервисов Pebble. Эмулятор часов прямо просился в неплохую облачную среду разработки, коей оказалась PebbleCloud, и наконец он, после довольно долгого процесса разработки, появился в публичной версии облака. Попробуем?

P.S. Писалось на информации из блога Pebble, из рассылки, из общения с образами Pebble на сайте QEMU Advent Calendar, посему «переводом» пост решено не помечать.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Удобно ли Вам было бы разрабатывать приложения для своего(-их) гаджета(-ов) в облаке, имея при этом возможнотсь проверить код в эмуляторе?
80.77% Да, хорошая функция, что нет привязки к физическим устройствам ни в IDE, ни в платформе для прогона кода 84
2.88% Да, хотя эмулятор мне особо не нужен — будут и дальше тестировать на часах 3
12.5% Нет, не вижу смысла в облачной разработке 13
3.85% Другое 4
Проголосовали 104 пользователя. Воздержались 50 пользователей.
Теги:
Хабы:
+15
Комментарии 12
Комментарии Комментарии 12

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн