Можно ли управлять воротами гаража с помощью Garmin IQ?

Я хочу, чтобы мой Fenix ​​3 делал следующее:

  1. Триггер = удерживать кнопку запуска (т.е. ярлык)
  2. Отправить сообщение через BT или WiFi на сервер (Linux, Windows, Arduino или что-то еще)
  3. Я позабочусь о сообщении и открою/закрою дверь гаража.

После велопрогулки хочется легко и безопасно открыть дверь гаража. У меня дома работает сервер VmWare. Я мог бы использовать одну из машин на этом сервере для прослушивания сообщений или настроить Arduino или что-то подобное.

Главный вопрос: могу ли я написать приложение IQ, которое использует концепцию быстрого доступа к часам, то есть запускается долгим нажатием на кнопку запуска или круга?

Пояснение: кажется, есть какие-то глобальные действия для длительного нажатия. Я могу, например, назначить «Сохранить позицию» на длительное нажатие при запуске / остановке. Это работает даже внутри других приложений.

Могут ли часы обмениваться данными с датчиками (например, Arduino или другим BT-клиентом), даже если они не в режиме обучения?

Пояснение: мне нужно напрямую связываться с моим Arduino через Bluetooth, т. е. не через мой iPhone.

Заранее спасибо.


person Michael    schedule 05.07.2015    source источник


Ответы (2)


Краткий ответ: Да

Длинный ответ: если вы записываете время, когда происходит событие нажатия клавиши, а затем проверяете «долгое» нажатие, когда клавиша отпущена, в зависимости от разницы во времени, вы можете подделать ее. Однако нет события для длительного нажатия физической клавиши. Я также уверен, что ваше приложение должно быть текущим, чтобы это работало.

Ссылка на параметры события InputDelegate: http://developer.garmin.com/downloads/connect-iq/monkey-c/doc/Toybox/WatchUi/InputDelegate.html

Что касается вопроса о датчиках, я не уверен, что именно вы спрашиваете. Ваше приложение может делать все, что вы хотите, и, насколько я понимаю, одновременно будет работать только одно приложение.

Отказ от ответственности: Пока я работаю только с эмулятором, я все еще жду, когда мои часы доберутся сюда.

person DweebsUnited    schedule 06.07.2015
comment
Мне нужно связать часы с моим Bluetooth-клиентом (вероятно, Arduino), чтобы я мог общаться с ним напрямую, даже если рядом нет моего телефона (т.е. подключенного к часам). - person Michael; 07.07.2015
comment
Ах понятно. Вы можете попробовать Communications:: передавать. Это должно позволить вам отправлять произвольный контент через BLE. - person DweebsUnited; 07.07.2015

Вы не можете написать что-либо, что захватывает события пользовательского ввода из другого активного приложения (включая циферблат). Вы можете создать свой собственный циферблат, но у него не будет возможности отправлять сетевые сообщения, и у него будет только один способ принять пользовательский ввод (жест просмотра часов).

Это то, что вы можете легко сделать из приложения для часов или виджета. Предполагая, что ваш fenix3 подключен к вашему телефону через bluetooth, вы можете отправлять http-запросы на получение по своему усмотрению.

Я написал простое приложение под названием GIFTTT, которое использует канал IFTTT Maker для открытия/закрытия двери гаража (и многих других вещей).

person Travis Vitek    schedule 06.07.2015
comment
Хорошо, спасибо. Я надеялся, что смогу зарегистрировать действие, которое можно будет выбрать для сочетаний клавиш. Длительное нажатие на Start/Stop или Back/Lap кажется глобальным, но пользовательский интерфейс позволяет пользователю выбирать только одно из нескольких действий. Эти ярлыки работают из любого места. - person Michael; 07.07.2015