Pull to refresh

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

Reading time2 min
Views7.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, посему «переводом» пост решено не помечать.
Only registered users can participate in poll. Log in, please.
Удобно ли Вам было бы разрабатывать приложения для своего(-их) гаджета(-ов) в облаке, имея при этом возможнотсь проверить код в эмуляторе?
80.77% Да, хорошая функция, что нет привязки к физическим устройствам ни в IDE, ни в платформе для прогона кода84
2.88% Да, хотя эмулятор мне особо не нужен — будут и дальше тестировать на часах3
12.5% Нет, не вижу смысла в облачной разработке13
3.85% Другое4
104 users voted. 50 users abstained.
Tags:
Hubs:
Total votes 17: ↑16 and ↓1+15
Comments12

Articles