docker-connectiq
docker-connectiq copied to clipboard
Garmin Tools - Connect IQ SDK and Eclipse IDE plugins as a Docker container
= docker-connectiq :hardbreaks:
ifdef::env-github[] image:https://github.com/kalemena/docker-connectiq/workflows/Pipeline/badge.svg[GitHub Build] image:https://img.shields.io/docker/v/kalemena/connectiq?sort=date[Docker Hub, link=https://hub.docker.com/r/kalemena/connectiq/tags] image:https://img.shields.io/docker/pulls/kalemena/connectiq.svg[Docker Hub, link=https://hub.docker.com/r/kalemena/connectiq/tags] image:https://img.shields.io/docker/image-size/kalemena/connectiq[Docker Hub, link=https://hub.docker.com/r/kalemena/connectiq/tags] endif::[]
ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: :important-caption: :heavy_exclamation_mark: :caution-caption: :fire: :warning-caption: :warning: endif::[]
Installation of Garmin Tools Connect IQ SDK and Eclipse IDE plugins as a Docker container.
Docker image is available through docker hub as link:https://hub.docker.com/r/kalemena/connectiq[kalemena/connectiq]
== Usage
=== Docker Image pull / build / run
==== $ make pull or $ make build or $ make console
[TIP]
Command lines make console, or make eclipse will map folders:
- CIQ_WORKSPACE=./eclipse-workspace
- CIQ_BINARIES=./.Garmin
- EXAMPLES_FOLDER=./examples
For persistence reasons, files created in eclipse or console should be done in these folders.
=== Connect IQ certificate
Certificate is generated automatically if it does not exists under home folder ${CIQ_WORKSPACE}/developer_key.pem. This logic is part of ./run.sh.
=== Building app in Console
==== $ make console $$ cd ${CIQ_HOME}/samples/Drawable/ $$ monkeyc -d vivoactive3 -f ./monkey.jungle -o drawable.prg -y ~/eclipse-workspace/developer_key.der $$ connectiq & $$ monkeydo drawable.prg vivoactive3
.Result of above commands image:res/Drawable.png[Sample app Drawable]
=== Preparing Eclipse IDE
==== $ make eclipse
.Menu Connect IQ => Open SDK Manager => Login to Garmin Connect IQ to allow downloads of device(s) image:res/eclipse-connectiq-sdk-manager-Login.png[]
.Menu Connect IQ => Open SDK Manager => Download your SDK version(s) image:res/eclipse-connectiq-sdk-manager-SDK.png[]
.Menu Connect IQ => Open SDK Manager => Download your prefered Device(s) image:res/eclipse-connectiq-sdk-manager-Devices.png[]
=== Building app in Eclipse IDE
==== $ make eclipse
.Menu File => Import => Existing Projects into Workspace image:res/eclipse-import-project.png[]
.Imported Project image:res/eclipse-Drawable-project.png[]
.Launch Configuration image:res/eclipse-launch-config.png[]
.Result of above commands image:res/Drawable.png[Sample app Drawable]
=== Authoring app in Eclipse IDE
==== $ make eclipse
- In Eclipse, Menu File => New => Project => Connect IQ Project
- Make sure to create project under /workspace/... hierarchy
- Then select Widget and Next
- Then for example, Vivoactive 3 as target
- Then for example, Sensor or Sensor History as features
- Once project is loaded, you can run like previous example to see the monkey default app display ====
=== Upload to Watch
====
- On Ubuntu OS
- Connect the watch using original cable
- Wait for about 30s
- Watch screen should show it is mounted and charging
- In File explorer, see GARMIN device and browse to GARMIN/APPS
- Copy PRG file built into this folder
- Unmount GARMIN icon on watch
- Watch should be showing Verifying Connect IQ Apps
- Swipe up or down, the app should be visible ====
== Links
- link:https://developer.garmin.com/connect-iq/programmers-guide/getting-started[Getting Started]
- link:https://github.com/garmin/connectiq-apps[Official ConnectIQ apps]
- link:http://starttorun.info/connect-iq-apps-with-source-code/[Tutorial by example]
- link:https://github.com/topics/connectiq[]
- link:https://developer.garmin.com/downloads/connect-iq/wearable-programming-for-the-active-lifestyle.pdf[Book PDF]
=== Integrations
- link:https://www.thisisant.com/resources/fit[FIT SDK]
- link:https://developer.garmin.com/health-api/overview[Garmin Health API]
=== Tips
- link:https://developer.garmin.com/index.php/blog/post/connect-iq-pro-tip-custom-fonts-tricks[Font tips & tricks]
- link:http://www.programmersought.com/article/8285579439/[Tips]
=== Apps
- link:https://github.com/stynoo/docker-garmin-backup[]
- link:https://github.com/blaskovicz/garmin-nest-camera-control[]
- link:https://github.com/4ch1m/HueCIQ[]
- link:https://github.com/britiger/PauseTimer-connectiq[]
- link:https://github.com/bugjam/garmin-eta/tree/master/ETA[]
- link:https://github.com/JoshuaTheMiller/Multivision-Watch[]
- link:https://apps.garmin.com/fr-FR/developer/9a164185-3030-48d9-9aef-f5351abe70d8/apps[Example with source]
- link:https://github.com/tanstaaflFH/BabyLog-Feed-ConnectIQ[]
- link:https://github.com/admsteck/ConnectIQ/tree/master/simple-battery[]
- link:https://github.com/bombsimon/garmin-seaside[]
- link:https://github.com/joshsamara/SlowWatch[]
- link:https://github.com/vtrifonov-esfiddle/ConnectIQ-WatchTemperature[]
- link:https://github.com/le-cds/connectiq[]
- link:https://gist.github.com/jonathan-beebe/512b01bbcb6cd8f50a02e12cb74972f8[Progress bar]
=== Eclipse
- link:https://github.com/qperez/docker-eclipse-mt-jdk8[Running Eclipse from Mac]