Aller au contenu

Messages recommandés

Edit 07/01/2024 (actualisation des infos) : 

 

Le site de WheelDash est enfin en ligne ! Il est disponible Ă  l'adresse suivante :

https://blkfribourg.github.io/

--------------------------

Bon je fais un édit du premier message pour permettre une meilleure lecture de l'info suivante :

Comme je suis arrivĂ© Ă  une version que j'utilise maintenant Ă  chaque trajet et pour attirer potentiellement d'autres dev sur le sujet grĂące Ă  une visibilitĂ© accrue (pas sĂ»r que ça fonctionne😁), j'ai dĂ©cidĂ© de rendre disponible l'appli sur le store Garmin.

Pour rappel cette app est une app standalone et non un compagnon pour wheelLog ou EUC World, elle ne nĂ©cessite donc ni l'un ni l'autre. Elle est donc complĂštement indĂ©pendante (mĂȘme exclusive, au moins dans le cas que j'ai pu observer : il n'est pas possible d'appareiller ma Tesla avec ma montre et mon tĂ©lĂ©phone en mĂȘme temps) et profite de l'environnement Garmin pour l'enregistrement des sorties (avec tracĂ©) et le stockage des donnĂ©es remontĂ©es par la roue (c'est donc intĂ©gralement gratuit et stockĂ© chez Garmin).

A ce jour deux types d'applications WheelDash : une app à proprement parler (avec un peu plus de fonctionnalités) et un datafield à coupler à une "activité Garmin" (plus limité mais compatible avec la navigation Garmin, donc idéal pour les long rides vers l'inconnu :D).

Le tracé et les données associés à chaque sortie sont ainsi disponibles sur l'appli ou le portail Garmin Connect.

Il est également possible de gérer directement les paramÚtres de la roue sur la montre (mode des pédales, LED, LumiÚres, etc...) et de définir des alarmes (vibration ou audio) de vitesse, PWM et température contrÎleur. Si vous disposez d'une montre qui peut générer des alertes sonores il est également possible d'avoir les alarmes audio via un casque/écouteur/intercom bluetooth connecté à la montre.

L'application est dispo ici : https://apps.garmin.com/fr-FR/apps/0f55f691-d9a2-4d9a-aec1-cc728798c86b

Marques de roues actuellement supportées : 

 - Gotway/Begode/Extreme Bull firmware custom ou non

- Leaperkim

- Kingsong

- Inmotion (uniquement à partir de la V11, à cause d'un problÚme de compatiblité Garmin/Inmotion, fonctionnel mais en cours de développement)

- Tout ce qui tourne avec un VESC, firmware 6.02 uniquement (fonctionnel mais en cours de développement)

 

Montres actuellement supportées : 

 - Toutes les montres qui supportent le protocole BLE (Bluetooth Low Energy).

Si WheelDash n'apparait pas dans Garmin Connect IQ ou que vous avez un message comme quoi l'adresse est indisponible c'est que votre montre n'est pas supportée, si elle est bien compatible avec le BLE envoyez moi un MP.

 

Données de la roue enregistrées lors d'un ride : 

- Speed

- PWM (calculé ou hardware selon modÚle de roue)

- Voltage

- Current 

- Motor Power

- Motherboard temperature 

- Et tout un tas d'autres info dĂ©rivĂ©e de ces valeurs ou non 😛 

 

Quelques images : 

WheelDash (app):

5.jpg.ce7fad9d209888fd21735f04a0b8ff18.jpg8.jpg.086ba4fb4b8d1ec0ecdce0b632bc870a.jpg

WheelDash: datafield (Compatible navigation native Garmin):

6.thumb.jpg.3fa6034e420f3ec20f5742a6cbad9a70.jpg

Données enregistrées sur Garmin Connect:

 Screenshot__Connect.thumb.jpg.eac46e879b4bafac56b05b2810c140a2.jpg

2(1).thumb.jpg.2a2136f71196330ef6c27aad3daa8d95.jpg7.thumb.png.2c211d15c56e1b6515a8292c1de0e8c1.png

 

Message original : J'ouvre ce sujet pour sonder un peu au sujet de l'intĂ©rĂȘt d'une appli pour nos roues qui tournerait sur des montres Garmin. 

Techniquement l'idée est de se passer d'une app tierce sur téléphone et de lire directement les infos des roues par protocole BLE (Bluetooth Low Energy).

J'imagine qu'il est possible de gérer l'enregistrement d'activités en ajoutant les données récoltées via bluetooth pour avoir des données complÚtes sur les sorties tel que le propose EUC world ou wheelLog, mais dans l'environnement Garmin.

J'interpelle donc les possesseurs de montres Garmin (qui sont peut ĂȘtre peu nombreux ici) : Est-ce que vous y verriez un intĂ©rĂȘt ?

Modifié par Blkfri
  • J'aime 3
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/
Partager sur d’autres sites

Les montres Garmin sont assez courantes, de nombreux wheeleurs doivent ĂȘtre Ă©quipĂ©s, c'est mon cas avec une fenix 6 pro.

Il existe un SDK (Software Development Kit) pour ces montres, il est donc en théorie possible d'ajouter une fonction EUC sur les Garmin à condition d'y consacrer le temps nécessaire au développement.

Pour la petite histoire, j'avais achetĂ© une montre P8 et installĂ© l'application eucWatch d'Enaon https://www.espritroue.fr/topic/16585-euc-watch-hackable, elle fonctionnait plutĂŽt bien avec ma V8. Un jour je suis passĂ© Ă  proximitĂ© d'un poteau mĂ©tallique qui borde une piste cyclable et mon poignet gauche Ă  heurtĂ© gentiment le haut du poteau, la montre a explosĂ© lors du contact avec le poteau. La P8 Ă©tait une montre Ă  15 € achetĂ©e sur AE, je n'aimerais pas renouveler cette expĂ©rience avec la fenix !  

Modifié par Cobalt
correction orthographique
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-373206
Partager sur d’autres sites

Il y a 5 heures, Cobalt a dit :

Il existe un SDK (Software Development Kit) pour ces montres, il est donc en théorie possible d'ajouter une fonction EUC sur les Garmin à condition d'y consacrer le temps nécessaire au développement.

Oui j'ai déjà mis les doigts dedans, aprÚs pas mal de tùtonnements (je connaissais assez mal le protocole BLE et je découvre le monkey C de Garmin) j'ai fait une version alpha qui permet de récupérer les données de ma tesla v2.

SGCAM_20230512_173102990.thumb.jpg.2f670c1dd8628004c2c2fdda01938d16.jpg

Prochaine Ă©tape, gĂ©rer les modes de pedales, la calibration, les lumiĂšres et les leds via des menus puis interface du mĂȘme type que le compagnon wheelLog dont j'ai dĂ©jĂ  fait un mod perso (PWM sur l'arc du haut de 0 Ă  100%, deux seuils d'alarmes par vibration Ă  80% puis Ă  90% PWM).

GarminCompanion.png.700b764928f0df62ca054f5d4b1f2eef.png

Pour le moment je n'ai axĂ© le dĂ©veloppement que sur mes propres besoins (begode et Garmin venu), d'oĂč mon "sondage" pour savoir si d'autres sont intĂ©ressĂ©s de façon Ă  rĂ©flĂ©chir Ă  :

- mettre mes sources à disposition et chacun se débrouille.

- essayer de faire un truc pour tous sachant que le contenu des frames est dĂ©jĂ  bien documentĂ© (mais sans garantie, notamment car il me semble que Garmin ne lit actuellement que les 20 premiers bytes des frames, ce qui peut ĂȘtre problĂ©matique en fonction des marques/modĂšles. Je trouve le projet intĂ©ressant mais j'ai une vie dĂ©jĂ  bien remplie 😄).

 

 

Modifié par Blkfri
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-373223
Partager sur d’autres sites

Je vois que tu es bien avancĂ© ! sympa tes premiĂšres fenĂȘtres 👍. Je n'ai pas le temps Ă  court terme mais dans quelques mois j'aimerai bien mettre les mains dans le SDK Garmin.

L'intĂ©rĂȘt de dĂ©velopper sur la plate forme Garmin est de bĂ©nĂ©ficier d'une gamme de montres pĂ©renne et Ă©volutive, ce qui n'est pas le cas des montres made in china. 

Je suppose que tu es développeur ou d'une maniÚre plus globale informaticien, combien de temps as tu mis pour te familiariser avec le SDK ?

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-373315
Partager sur d’autres sites

Je ne suis pas développeur mais je programme assez souvent dans différents languages (surtout en R et python, je suis dans la bioinformatique, mais j'ai aussi fait du java et un tout petit peu de C).

Bref je tiens plus du bidouilleur averti que du dĂ©veloppeur 😅.

AprÚs la structure d'un projet est monkey C est assez rigide  et entre le forum de dev Garmin et les exemples de codes qu'on peut trouver sur GitHub (entre autre), c'est je trouve assez facile à appréhender. D'autant que lorsque tu crée un nouveau projet avec l'extension monkey C de visual studio code, il te fait toute la structure et le code d'une app minimaliste fonctionnelle.

Tout ça pour dire que j'ai commencé il y a 3 semaines, en modifiant le code du companion wheelLog pour Garmin de ggoraa. 

Par contre le développement sans dongle/carte nrf compatible avec le sdk Garmin (pour la communication bluetooth) est un peu relou, pas moyen de tester sans faire un build et de copier sur la montre.

Modifié par Blkfri
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-373358
Partager sur d’autres sites

  • 2 semaines aprĂšs...

Bon. Je considÚre la version 0.1 comme terminée. J'ai dû composer un peu avec certaines limitations liées à ma Garmin Venu (en ce qui concerne les menus).

L'appli est pleinement fonctionnelle (j'ai encore un crash Ă  identifier qui arrive uniquement au lancement de l'application et assez rarement. Il est liĂ© Ă  un problĂšme dans la connexion bluetooth mais je n'arrive pas Ă  identifier le soucis). Prochaine Ă©tape du dĂ©veloppement : gĂ©rer l'enregistrement d'un parcours. Il manque aussi la gestion de profils bluetooth, actuellement l'appli saute sur la premiĂšre Begode non appareillĂ©e. J'imagine que ça peut ĂȘtre problĂ©matique lors d'une sortie groupĂ©e, en tout cas ça demandera un minimum d'organisation dans l'Ă©tat actuel 😂.

Je suis assez content de m'ĂȘtre plongĂ© lĂ  dedans car j'ai appris pleins de choses plus ou moins intĂ©ressantes, notamment que tous les paramĂštres de la roue qu'on peut modifier ne retournent pas tous un statut via les frame de donnĂ©es principales. Exemple dans mon cas : sur une Begode Tesla v2 (avec une carte mĂšre verte, dĂ©tail qui aura son importance plus bas), le statut de l'Ă©clairage frontal, de l'angle de cutoff et du volume des bips ne sont pas communiquĂ©s via Bluetooth (les applis telles que wheelLog ou EUCworld stockent les rĂ©glages sur le tĂ©lĂ©phone). Ce n'est pas dramatique mais j'ai cherchĂ© un moment 😅. 

Tiens tant qu'on y est voilĂ  autre chose : j'ai une tendance naturelle Ă  aimer avoir le maximum de contrĂŽle sur mes appareils ou vĂ©hicules quitte Ă  flirter avec les limites du systĂšme, donc rouler "au PWM" sans tilt back c'Ă©tait pour moi une Ă©vidence. J'avais lu que les begode communiquaient la vraie valeur de PWM (oĂč en tout cas que cette valeur Ă©tait remontĂ©e par le contrĂŽleur). Et bien c'est vrai mais ce n'est pas aussi simple, j'avais juste lu trop vite. Si la valeur de PWM est bien communiquĂ©, elle l'est sur une frame etendue non accessible lorsque l'on lit les frames principales, et Ă  une frĂ©quence moindre (toutes les 625ms) que ces derniĂšres (sur lesquelles transitent les infos classiques telles que la vitesse, la distance, le voltage, etc...). Bref le PWM normalement affichĂ© par wheelLog ou EUCworld est en fait un PWM calculĂ© et non la "vraie valeur". Je dis normalement puisque grĂące Ă  l'arrivĂ©e des firmware customs (grĂące Ă  Freestyler) pour Begode il est possible d'envoyer la vraie valeur sur les frames principales et donc de l'exploiter.

Tout ça pour dire que j'ai repris la formule de wheelLog pour le calcul du PWM sur mon appli Garmin, j'affinerai l'équation si besoin en faisant des mesures avec euc dashboard qui lit les données de la frame étendue (pas de possibilité de custom firmware dans mon cas, la carte mÚre de ma Tesla est une version "verte").

Je joins deux vidéos de fonctionnement au passage !

deux edits "audio" de la premiĂšre video đŸ€Ș:

- quand je penche la roue sur le cÎté et non en arriÚre.

- pour autoriser ou non le changement et non l'arrĂȘt.

 

   

 

Modifié par Blkfri
  • J'aime 1
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374625
Partager sur d’autres sites

Bon, pour une fois c'est allĂ© plus vite que prĂ©vu, c'est finalement assez simple d'implĂ©menter l'enregistrement des donnĂ©es de la roue d'intĂ©grer tout ça dans une "activitĂ© Garmin". PremiĂšre sortie sur l'Ă©tabli 😁, pas de tracĂ© car pas de rĂ©ception GPS dans le garage mais ça permet de vĂ©rifier que le reste fonctionne correctement. Il y a deux mesures de vitesse, celle prise par la roue et celle prise par le GPS (d'oĂč l'allure moyenne Ă  0km/h). GarminConnectSession.thumb.jpg.8e933589fb5d07d03f63dabac74c0e14.jpg

Tests grandeurs nature Ă  suivre, et peut-ĂȘtre ajout de support d'autres marques de roues et modĂšles de montres si j'ai des beta testeur volontaires !

Je mettrais le code sur Github un peu plus tard, le temps de cleaner un peu le tout et de rendre la capture et l'identification des frames un peu plus propre (actuellement je doute que ma méthode d'identification soit compatible avec des firmware custom). Je ne sais pas encore si je vais la publier sur Connect IQ, il faudrait que je me penche sur le support de nombreuses montres, mais quoi qu'il en soit je mettrais le lien vers le code source ici.

Modifié par Blkfri
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374746
Partager sur d’autres sites

Bravo 👍 pour une version 0.1 c'est dĂ©jĂ  trĂšs avancĂ© ! Je peux tester le fonctionnement avec une Inmotion v8 et une Garmin Fenix 6 pro. Je ne me suis jamais penchĂ© sur la structure des donnĂ©es Ă©changĂ©es entre une application et la roue, est il facile de trouver la documentation des trames envoyĂ©es par chaque modĂšle de roue ? 

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374768
Partager sur d’autres sites

Il y a 5 heures, Cobalt a dit :

est il facile de trouver la documentation des trames envoyées par chaque modÚle de roue ? 

Sur le GitHub de wheelLog tu as les infos dans le code source (dans un dossier nommé "utils" de mémoire). Pour Begode il y avait une doc du contenu des trames dans le code, pour inmotion il n'y a rien mais le code source permet de savoir comment sont organisés les données.

  • J'aime 1
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374778
Partager sur d’autres sites

Salut.

Je suis justement en train de foutre la zone dans un fork du companion de wheellog histoire de faire un build pour ma ForeRunner 255.

J'ai passé pas mal de temps à réparer des bouts de code et rebuild le gestionnaire de projet kumitateru que ggoraa a construit en rust (tuez-moi) pour faciliter (théoriquement) les builds des app ciq. Pour rien simplifier je bosse sur une archi arm, histoire de rigoler plus fort.

Bref j'ai réussi à faire revivre ce fork (j'ai pondu un beta cracra que je vais bourrer sur ma montre et tester asap) MAIS je trouverais ça cool de mettre le nez dans ton code histoire d'aller plus loin dans le bypass de l'app mobile puisque le point à point est probablement bien plus intéressant que de jouer au Dr Frankenstein. D'autant que j'ai fait ça en mode terminal sans me casser le cul avec VScode ni décortiquer les docs des sdk etc.

 

P.S : J'ai rĂ©ussi mais j'ai dĂ» fork WheelLog Android pour changer les UUID du companion (en dur dans le codeÂ đŸ« ) vers ma version beta. Donc c'est possible mais franchement chiant pour qui n'est pas ingĂ©nieur informaticien.

Modifié par deadubed
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374780
Partager sur d’autres sites

Il y a 4 heures, deadubed a dit :

J'ai rĂ©ussi mais j'ai dĂ» fork WheelLog Android pour changer les UUID du companion (en dur dans le codeÂ đŸ« ) vers ma version beta. Donc c'est possible mais franchement chiant pour qui n'est pas ingĂ©nieur informaticien.

Oui le plus simple c'est de modifier l'id de ta version modifiĂ©e du compagnon garmin (en utilisant l'id de la beta ou non en fonction des paramĂštres de wheel log pour le compagnon dans le fichier manifest). Ça Ă©vite de faire deux builds 😅

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374799
Partager sur d’autres sites

Bon sinon voilà l'adresse du projet sur GitHub : https://github.com/blkfribourg/EUC_GarminApp.

Je viens de le faire un peu à la va vite pour ceux qui veulent y jeter un Ɠil, je documenterais et cleanerais un peu dans un second temps !

  • Merci 1
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374800
Partager sur d’autres sites

il y a 59 minutes, Blkfri a dit :

Oui le plus simple c'est de modifier l'id de ta version modifiĂ©e du compagnon garmin (en utilisant l'id de la beta ou non en fonction des paramĂštres de wheel log pour le compagnon dans le fichier manifest). Ça Ă©vite de faire deux builds 😅

Agreed. J'ai pas eu le choix puisque j'ai pas trouvé de moyen de faire des sideloads en cherchant assez succinctement sur les internets. Je suis donc obligé de pousser ma beta sur ConnectIQ, avec.... un UUID unique x)

J'en déduis que tu arrives à accéder au storage de ta Venu directement ?

Modifié par deadubed
Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374805
Partager sur d’autres sites

il y a 55 minutes, deadubed a dit :

J'en déduis que tu arrives à accéder au storage de ta Venu directement ?

Oui, je n'ai pas de mérite je suis sous Windows mais elle apparaßt dans l'explorateur dÚs que je la branche, c'est d'autant plus simple pour debugger sur la montre car l'accÚs aux log est facile

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374806
Partager sur d’autres sites

il y a 4 minutes, Blkfri a dit :

Oui, je n'ai pas de mérite je suis sous Windows mais elle apparaßt dans l'explorateur dÚs que je la branche, c'est d'autant plus simple pour debugger sur la montre car l'accÚs aux log est facile

Ah oui j'ai pas pensé à tenter un passage sur windaube xD

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374807
Partager sur d’autres sites

Je rĂ©flĂ©chis sĂ©rieusement Ă  centraliser le retroengineering BLE de WheelLog des diffĂ©rentes roues dans un Monkey Barrel, histoire de faciliter la maintenance et surtout la rĂ©utilisation pour d'autres use case. J'ai pas l'impression qu'il y ait de compatibilitĂ© avec e.g les libs jar. Ce qui serait vachement mieux puisqu'un jar serait probablement bien plus rĂ©utilisable đŸ€”

 

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374823
Partager sur d’autres sites

Il y a 1 heure, deadubed a dit :

Je réfléchis sérieusement à centraliser le retroengineering BLE de WheelLog des différentes roues dans un Monkey Barrel, histoire de faciliter la maintenance et surtout la réutilisation pour d'autres use case.

TrĂšs bonne idĂ©e, pour autant Ă  ma connaissance pas de compatibilitĂ© java, il faudra se refrapper le tout en monkey C. Du coup pour les autres use case c'est mort 🙃

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374826
Partager sur d’autres sites

Il y a 1 heure, Blkfri a dit :

TrĂšs bonne idĂ©e, pour autant Ă  ma connaissance pas de compatibilitĂ© java, il faudra se refrapper le tout en monkey C. Du coup pour les autres use case c'est mort 🙃

Ce sera pas pour tout de suite de toute façon, j'aurai plus de temps cet Ă©tĂ©. Ça fait un moment que j'ai envie de remettre le nez dans des protocoles bas niveau, donc... x)

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-374829
Partager sur d’autres sites

J'ai commencĂ© Ă  regarder le code de WheelLog. Mon dieu la phase de rĂ©tro-doc que je vais devoir me taper rien que pour reconstruire la partie d'architecture logicielle dĂ©diĂ©e au bluetooth. En plus du protocole BLE que je dois comprendre, la doc mĂ©tier est inexistante (offuscation volontaire ou non ? Ă©trange pour de l'open source), et l'architecture du projet est... trĂšs lacunaire. ça va ĂȘtre rigolo x)

Lien vers le commentaire
https://www.espritroue.fr/topic/22114-wheeldash-app-garmin/#findComment-375057
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet


×   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂŽnes maximum sont autorisĂ©es.

×   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂŽt comme un lien

×   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.


×
×
  • CrĂ©er...

Information importante

Nous avons placĂ© des cookies sur votre appareil pour aider Ă  amĂ©liorer ce site. Vous pouvez choisir d’ajuster vos paramĂštres de cookie, sinon nous supposerons que vous ĂȘtes d’accord pour continuer.

arrow_upward