Jump to content
Plongeur.com - Le site de la plongée sous marine

Le SDM sous le Tux


Recommended Posts

  • 9 months later...
  • Replies 72
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Bonjour,

 

Désolé de "sortir de l'oubli" ce poste mais on ne sait jamais il sera peut être utile.

 

Concernant Jdivelog et l'usb je pense qu'il ne le prend pas en charge. Pour ma part je n'ai pas installé le module RXTX mais normalement il n'est pas utile pour les périphériques USB (seulement série). Autre point, il n'est pas possible de modifier le point d'entrée de /dev (ou alors faut m'expliquer car avec la version 2.14 je n'ai pas réussi).

 

Sur mon PC je n'ai pas wine mais j'ai essayé sur le portable Ubuntu de ma copine et j'ai obtenu la même erreur que toi pour SDM3.

 

Par contre, j'arrive très bien à récupérer de manière systématique les données de mon ordinateur Vyper Air sur ma gentoo.

 

Ce qu'il faut pour que l'ordinateur soit reconnu par le noyau linux : dans mon cas le module ftdi_sio (cf. http://www.divesoftware.org/libdc/drivers.html ) va me faire apparaître un /dev/ttyUSBx.

duf@genduf ~/Documents/libdivecomputer-0.0.0 $ lsmod | grep ftdi

ftdi_sio 29152 0

Et avec la commande lsusb je vérifie que le pilote ftdi_sio reconnaît bien l'ordinateur de plongée :

Bus 004 Device 002: ID 0403:f680 Future Technology Devices International, Ltd Suunto Sports Instrument

(...)

idVendor 0x0403 Future Technology Devices International, Ltd

idProduct 0xf680 Suunto Sports Instrument

iManufacturer 1 Suunto

iProduct 2 Suunto Sports Instrument

iSerial 3 ST000001

 

 

Ensuite pour récupérer les données j'utilise la librairie libdivecomputer à télé-charger ici : http://www.divesoftware.org/libdc/download.html

 

Après j'utilise le petit programme "universal" fournit sinon le binaire dédié à l'ordinateur marche aussi bien (cf. http://www.divesoftware.org/libdc/builds/linux/ )

 

Cela donne des commandes du genre :

./vyper2 /dev/ttyUSB0

ou

./universal -b vyper2 /dev/ttyUSB0

 

La syntaxe de "universal" est relativement simple :

Usage:

 

./universal [options] devname

 

Options:

 

-b name Set backend name (required).

-f hexdata Set fingerprint data.

-l logfile Set logfile.

-d filename Download dives.

-m filename Download memory dump.

-c cachedir Set cache directory.

-h Show this help message.

 

Supported backends:

 

solution, eon, vyper, vyper2, d9, aladin, memomouse, smart, sensus, sensuspro, sensusultra, vtpro, veo250, atom2, nemo, puck, iconhd, ostc, edy, n2ition

 

Au final j'obtiens toutes les informations dans un fichier xml (les mêmes que dans le logbook de l'ordinateur). Un exemple :

<size>736</size>

<fingerprint>093109DA070613</fingerprint>

<datetime>2010-06-19 09:49:09</datetime>

<sample>

<time>00:00</time>

<depth>1.21</depth>

<pressure tank="0">206.78</pressure>

<temperature>24.00</temperature>

</sample>

<sample>

<time>00:20</time>

<depth>7.01</depth>

<pressure tank="0">205.79</pressure>

</sample>

 

Pour l'instant je traite les données à coup de grep et awk puis OOo Calc et Gimp. Mais j'essaie de faire travailler un ami meilleur développeur que moi pour optimiser le traitement du fichier XML et si possible de sortir directement le profil de plongée à partir du fichier XML.

 

Si des personnes souhaitent plus de renseignements ou d'aide, j'essaierai d'y répondre du mieux que je peux :-)

Link to comment
Share on other sites

  • 1 month later...

Une petite mise à jour pour indiquer que j'ai débuté l'écriture d'un bout de code PHP qui génère des graphiques du profil de plongée directement à partir du fichier XML.

 

Cela donne un graphique du genre que vous trouverez en pièce jointe.

 

Il reste quelques bugs et pas mal d'éléments manquent (traitements massifs de profils, interface de manipulation, etc.).

graph.thumb.png.50f6add66ac7356446c3993a5be27078.png

Link to comment
Share on other sites

Bonjour ;

 

En premier, merci d'avoir ressorti ce post du fond des âges, m'est avis que d'autres sont toujours intéressés.

 

Pas mal ton début de graph !

J'ai pas trop le temps de m'y intéresser là, mais je vais suivre ta progression avec intéret !

 

Merci pour ton taf !

Link to comment
Share on other sites

Je ferai des MAJ de ce post à chaque avancée importante ce qui risque de ne pas forcément aller très vite :-)

 

Sinon une solution existe déjà dans le même genre pour traiter les données issues de "libdivecomputer" : http://irssibot.777-team.org/divelog/ avec démonstration ici : http://777-team.org/~matti/divelog/?cmd=listDivers

 

Je n'aime pas trop le rendu des graphiques de plongée mais au moins c'est déjà opérationnel et j'ai dans l'idée d'approcher ce que fait ce "divelog". A savoir dans un premier temps présenter les informations des plongées (graphiques + données ajoutées manuellement). Si j'arrive jusque là, alors une fois ça fait toutes les idées seront les bienvenues et l'intégration d'outil comme MV-Plan seront envisageables (code libre) ou connexion à Google Earth pour la vue satellite du site de plongée, etc.

 

Mais d'abord je dois faire l'interface qui permette de parcourir le fichier xml pour sélectionner les plongées, les afficher, y ajouter des informations, etc.

 

Sinon juste pour rappel, l'application étant en PHP il n'y aura pas de problématique d'OS :-) Par contre l'intégration de la lecture des informations de l'ordinateur de plongée nécessitera une installation locale spécifique...

En effet, je prévois d'intégrer directement dans l'interface web la possibilité de récupérer les informations de l'ordinateur de plongée (c'est déjà opérationnel), par contre ça oblige de faire tourner le site web sur l'ordinateur qui est connecté à l'ordinateur de plongée...

 

Sinon la librairie communiquant avec les ordinateurs de plongée étant multi-plateformes et le futur outil étant de type "web", il n'y aura pas de limitations dans le support des OS. D'ailleurs pour rappel la librairie supporte les ordinateurs suivants :

 

Supported devices:

 

 

 

  • Suunto
    • Solution
    • Eon, Solution Alpha and Solution Nitrox/Vario
    • Vyper, Cobra, Vytec, Vytec DS, D3, Spyder, Gekko, Mosquito, Stinger and Zoop
    • Vyper2, Cobra2, Cobra3, Vyper Air and HelO2
    • D9, D6 and D4

    [*]Uwatec

     

    • Aladin
    • Memomouse
    • Smart and Galileo (infrared)

    [*]Reefnet

     

    • Sensus
    • Sensus Pro
    • Sensus Ultra

    [*]Oceanic, Aeris, Sherwood, Hollis and Genesis (Pelagic)

     

    • VT Pro, Versa Pro, Pro Plus 2, Wisdom, ...
    • Veo 250, Veo 180Nx, ...
    • Atom 2, VT3, Geo, Datamask, ...

    [*]Mares

     

    • Nemo, Nemo Excel, Nemo Apneist, ...
    • Puck, Puck Air, Nemo Air, Nemo Wide, ...
    • Icon HD

    [*]Heinrichs Weikamp

     

    • OSTC

    [*]Cressi, Zeagle (Seiko)

     

    • Edy

 

La roadmap est longue surtout pour un mauvais développeur comme moi mais on ne sait jamais ce qui peut arriver :-)

Link to comment
Share on other sites

  • 1 month later...

Bon alors, mise à jour concernant mon avancement et ce qu'il est possible de faire (je rappelle que tout est basé sur libdivecomputer pour un ordi suunto vyper air) :

 

 

 

 

  • Utilisation de PHP/mysql/jquery et quelques autres trucs, il faut donc seulement un navigateur web (mais pas IE6 et en dehors de firefox pour l'instant c'est pas très joli)
  • Import de fichiers XML issues de libdivecomputer
  • Insertion de plongée en BDD
  • Génération des graphiques de profils de plongée
  • Edition des informations concernant la plongée (plongeur, site, lieu, pays, conditions météos, lest, etc.)
  • Tri des plongées par critères (température max, température moyenne max, durée, profondeur max, etc.)
  • C'est loin d'être fini, y a un peu des ajustements à faire sur toutes les pages mais la base y est et ça fait ce que j'en attends pour le moment.

Une petite vidéo (désolé pour la qualité et pas sûr que ça fonctionne) : [DAILYMOTION]http://www.dailymotion.com/video/xfzwjk_journal-de-plongee_tech[/DAILYMOTION]

 

 

Sinon le lien ici : http://www.dailymotion.com/video/xfzwjk_journal-de-plongee_tech

 

Cdt

Link to comment
Share on other sites

C'est super bon ton truc !!!!

A mon avis, t'as là une excellente base de départ pour une appli complète de gestion.

Chapeau en tout cas pour le dvlpt.

Je suis pas bon en PHP mais j'ai des bases. Si t'as besoin d'un coup de main (et si j'ai un peu de temps ...).

 

Tu mets en ligne quand ?

 

Pascal

Link to comment
Share on other sites

Merci c'est sympa de suivre et les commentaires positifs ça fait toujours plaisir :-)

 

Pour la mise en ligne, je ne sais pas, pour l'instant je n'ai pas d'hébergement en ligne et je n'ai pas trouvé d'hébergement en ligne gratuit qui accepte php5+mysql avec modifications du php.ini (j'utilise une ou 2 options pour augmenter le temps d'exécution des pages php, avant tout pour la génération qui peut prendre pas mal de temps).

 

La mise en ligne est prévue de toute façon mais il faudra que je cherche la meilleure solution d'hébergement.

 

J'aimerai aussi être plus avancé car il y a pas mal de choses qui ne sont pas encore terribles terribles, notamment :

  • A l'insertion des plongées, j'aimerai pouvoir sélectionner un profil (ceci permettrait d'enregistrer des informations non présente dans l'ordinateur de plongée, telles que le nom du plongeur, son lest, le lieu de plongée, le pays, la mer/océan/lac, la combi, le modèle d'ordi, etc.). En effet actuellement j'ai fait un formulaire pour éditer les informations d'une plongée, mais si on importe 20 plongées d'un coup, c'est chiant de toutes les modifier une par une. Or à l'insertion des plongées on pourrait dire : toutes les plongées ont été faites en egypte, à Safaga, j'avais un lest de temps, un shorty, etc.).
  • La page d'accueil est un peu pourri, j'aimerai la présenter différemment.
  • J'ai des soucis d'ergonomie, en ajoutant des fonctions à droite à gauche, les parcours sont linéaires mais pas forcément logiques, donc on clic beaucoup pour pas forcément grand chose...
  • En plus de la gestion de profils, j'aimerai ajouter une partie gestion de matériel (qui permettrait de remplir les profils), pour le coup c'est pas compliqué, faut juste que je le fasse.
  • Actuellement je n'utilise absolument pas les données de type évènements issues de l'ordinateur de plongée (style début palier, ascension, remontée surface, etc.). Je souhaite les présenter sous forme de table pour chaque plongée (pas très compliqué non plus).
  • Et d'autres trucs encore :)

Et sinon j'aimerai bien adapter la librairie libdivecomputer car j'ai pu voir qu'elle pouvait extraire des infos que j'ai pas dans les fichiers xml (configuration O2, altitude, paramètre persos, etc.) Mais là c'est super compliqué, j'ai du mal avec le C du mec qui l'a développé :-)

 

Bon allez @+ j'ai plus de batteries sur l'ordi :-p

Link to comment
Share on other sites

Merci c'est sympa de suivre et les commentaires positifs ça fait toujours plaisir :-)

 

Pour la mise en ligne, je ne sais pas, pour l'instant je n'ai pas d'hébergement en ligne et je n'ai pas trouvé d'hébergement en ligne gratuit qui accepte php5+mysql avec modifications du php.ini (j'utilise une ou 2 options pour augmenter le temps d'exécution des pages php, avant tout pour la génération qui peut prendre pas mal de temps).

 

La mise en ligne est prévue de toute façon mais il faudra que je cherche la meilleure solution d'hébergement.

 

J'aimerai aussi être plus avancé car il y a pas mal de choses qui ne sont pas encore terribles terribles, notamment :

 

  • A l'insertion des plongées, j'aimerai pouvoir sélectionner un profil (ceci permettrait d'enregistrer des informations non présente dans l'ordinateur de plongée, telles que le nom du plongeur, son lest, le lieu de plongée, le pays, la mer/océan/lac, la combi, le modèle d'ordi, etc.). En effet actuellement j'ai fait un formulaire pour éditer les informations d'une plongée, mais si on importe 20 plongées d'un coup, c'est chiant de toutes les modifier une par une. Or à l'insertion des plongées on pourrait dire : toutes les plongées ont été faites en egypte, à Safaga, j'avais un lest de temps, un shorty, etc.).
  • La page d'accueil est un peu pourri, j'aimerai la présenter différemment.
  • J'ai des soucis d'ergonomie, en ajoutant des fonctions à droite à gauche, les parcours sont linéaires mais pas forcément logiques, donc on clic beaucoup pour pas forcément grand chose...
  • En plus de la gestion de profils, j'aimerai ajouter une partie gestion de matériel (qui permettrait de remplir les profils), pour le coup c'est pas compliqué, faut juste que je le fasse.
  • Actuellement je n'utilise absolument pas les données de type évènements issues de l'ordinateur de plongée (style début palier, ascension, remontée surface, etc.). Je souhaite les présenter sous forme de table pour chaque plongée (pas très compliqué non plus).
  • Et d'autres trucs encore :)

Et sinon j'aimerai bien adapter la librairie libdivecomputer car j'ai pu voir qu'elle pouvait extraire des infos que j'ai pas dans les fichiers xml (configuration O2, altitude, paramètre persos, etc.) Mais là c'est super compliqué, j'ai du mal avec le C du mec qui l'a développé :-)

 

Bon allez @+ j'ai plus de batteries sur l'ordi :-p

 

 

Pour l'hébergement ... on peut s'arranger :D contacte moi en mp si tu veux.

 

 

sinon, tu peux héberger ton projet sur sourceforge ...

Link to comment
Share on other sites

m'a l'air très propre, ce C++.

 

et non, je ne suis pas volontaire :hehe:

 

Je suis d'accord, son code est très propre limite exemplaire (d'ailleurs ça m'a l'air d'être du C et non du C++, mais bon je me trompe peut être).

 

C'est tellement propre que j'ai retrouvé la fonction qui transforme les informations en XML et grâce à la spécification du protocole de l'ordinateur vyper air je sais lire le dump binaire de la mémoire de l'ordinateur de plongée. J'ai même pu récupérer des informations comme le type d'air (air ou nitrox) ainsi que la concentration en O2, les paramètres personnels (altitudes, etc.) directement depuis le fichier binaire en parcourant les valeurs hexadécimales.

 

Par contre je ne comprends pas comment agit sa fonction et donc je ne sais pas la modifier pour récupérer les valeurs spécifiques de l'ordinateur qui apparaissent dans un logiciel comme SDM... C'est un peu frustrant car j'arrive à les lire avec un éditeur hexadécimal...

 

Peut-être que cela sera pour plus tard :)

 

En tout cas le développeur m'a indiqué qu'il ne le mettait pas en place car c'était spécifique à chaque ordinateur de plongée et qu'il se limitait pour l'instant aux informations des plongées (ce qui est déjà très bien :) ).

 

Pour l'hébergement ... on peut s'arranger :D contacte moi en mp si tu veux.

 

 

sinon, tu peux héberger ton projet sur sourceforge ...

 

C'est gentil, merci. Mais comme indiqué plus haut, pour l'instant il manque beaucoup de choses et surtout j'ai pleins de trucs à corriger pour avoir quelque chose d'un peu stable, actuellement c'est pas mal bancal... Par exemple, des fois la sonde de gestion de l'air ne prends pas la valeur de pression de la bouteille lors des premières mesures de l'ordinateur. Ce qui se voit tout de suite quand je trace le graphe, ça part de 0 puis monte à plus de 200... donc je corrige pour dupliquer la première valeur de pression dans les premières mesures. Mais des détails comme ça il y en a pleins :)

 

Pour sourceforge, ayant déjà un ami qui me prète un accès SVN, j'en n'ai pas trop besoin. L'intérêt serait de pouvoir héberger le site, mais c'est toujours le même problème, la fameuse valeur d'exécution d'un script que j'ai fortement éténdu. En effet, pour générer le graphique, j'utilise pChart et suivant les plongées il peut mettre plus de 30s (en consommant beaucoup de ressources CPU). Si on insère 30 plongées d'un coup, c'est très long, donc j'ai modifié pour éviter le timeout qui coupe tout, mais beaucoup d'hébergeurs ne l'accepte pas...

 

Sinon au pire je prendrai un hébergeur mutualisé type ovh ou online.net à 3€ par mois. D'ailleurs si certains ont des conseils/avis sur ce type de solution.

 

En tout cas Cooltrane, dès que j'estime que c'est suffisament stable et présentable, sans doute que je t'enverrai un petit MP pour profiter de ton hébergement le temps de trouver une solution plus à long terme.

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Alors quelques nouvelles en reprenant ce qui était déjà possible de faire :

  • Utilisation de PHP/mysql/jquery et quelques autres trucs, il faut donc seulement un navigateur web (mais pas IE6 et en dehors de firefox pour l'instant c'est pas très joli)
  • Design est logiquement du pur CSS, donc personnalisation maximum possible.
  • Import des plongées par l'intermédiaire des fichiers XML issues de libdivecomputer (c'est ainsi que je récupère mes plongées depuis ma Gentoo).
  • Insertion de plongée en BDD avec toutes les informations de type "sample" et "event" liése.
  • Génération des graphiques de profils de plongée avec ajouts de labels concernant les "évènements" liés à la plongée => présentation graphique non définitive
  • Edition des informations concernant la plongée (plongeur, site, lieu, pays, conditions météos, lest, etc.)
  • Top 10 des plongées par critères (température max, température moyenne max, durée, profondeur max, etc.)
  • En cours de finalisation : A l'insertion des plongées, sélection d'un gabarit pour ajouter en masse des informations non présente dans l'ordinateur de plongée, telles que le nom du plongeur, son lest, le lieu de plongée, le pays, la mer/océan/lac, la combi, le modèle d'ordi, etc.
  • Edition manuelle des informations d'une plongée.

  • Affichage sur la page d'accueil du profil complet de plongée, avec les évènements.

 

Dans le reste à faire "vital" avant de distribuer le code sous GPLv3 à qui le souhaite :

  • Gestion multi-utilisateurs, en effet aujourd'hui n'importe qui peut faire n'importe quoi concernant les informations des plongées, à minima il faudrait un compte invité pour tout le monde et un compte Admin pour réaliser les modifications
  • Terminer l'ajout en masse d'informations aux plongées (d'ici quelques jours)
  • Revoir la présentation graphique des évènements sur les graphiques de plongée => en effet, sur certaines plongées c'est illisible car il y a trop d'évènements ou alors ça débord du graphique. Si je suis bloqué avec la version 1.x de pChart alors je devrait passer à la 2.x qui vient de sortir, mais là ça me prendra plus de temps :)

 

Et sinon j'aimerai toujours adapter la librairie libdivecomputer car je peux lire les informations complémentaires depuis le fichier binaire (configuration O2, altitude, paramètre persos, etc.) Mais c'est un peu compliqué pour moi donc si ça se fait ça serait dans super longtemps :-)

 

Pour finir une vidéo :

 

 

[DAILYMOTION]

[/DAILYMOTION]

 

 

Pas sûr que l'insertion soit ok, au cas où voici le lien :

 

 

 

Attention, au début j'ai fait un "truncate" sur mes tables mysql donc il n'y a aucune donnée et j'insère en une fois 35 plongées. La génération des graphiques la première fois étant lente, il ne se passera rien à partir de 00min32s quand je clic sur "insertion des plongées" jusqu'à 6min18s environ.

 

 

Si vous avez des questions/suggestions n'hésitez pas à laisser un message.

 

 

@+

Link to comment
Share on other sites

  • 2 weeks later...

Salut Neo Dogo,

 

Je pense sortir à la fois ma version en ligne avec mes plongées disponibles en lecture pour les visiteurs et fournir le code source du site (ou web application) courant avril.

 

En fait j'ai plus ou moins fini ce que j'estimais nécessaire pour avoir une première version réellement utilisable. La seule chose qui manque étant la gestion multi-utilisateurs. Par contre je vais être pas mal absent en février et logiquement j'avais un programme chargé avec le passage de l'initiateur mais en 2 jours ça a un peu capoté :-) (entre hier et une séance d'entrainement au codep qui fut personnellement catastrophique et déplaisante et aujourd'hui où j'ai du annulé mon passage de rifap...).

 

'fin bon bref, juste pour dire que le cap est fixé à mi avril pour site en ligne avec mes propres plongées en démonstration et code source disponible au même moment.

 

@+

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Bonjour,

 

logo.png.c7536bd9e68359a8804d246d311256bd.png

 

L'ensemble des services de Plongeur.com sont gratuits et c'est grâce à la publicité que vous pouvez en profiter. Or il semble que vous utilisiez un bloqueur de publicité.

Si vous aimez le site et que vous voulez pouvoir en profiter longtemps, merci de désactiver votre bloqueur de publicités lorsque vous naviguer sur Plongeur.com.