Projets:Perso:2011:Le pèse humain kafteur

Cékoidon
Un dispositif home-made qui reconnait une personne (parmi un groupe prédéfini), qui la pèse (pendant par exemple qu'elle se lave les dents) et qui logge poids/id_personne/date-heure dans une BD à des fins de reporting; et pourquoi pas tweeter ces infos de pesage, je rigole !

Fait avec quoi?
Si possible, à partir des composants d'un pèse personne existant (à affichage LCD et que j'ai déjà), pour la BD, interne (mais requetable) ou sur un serveur distant.

Pour quoi faire?
Pour faire soi-meme des stats sur le poids dans le temps et par individu

Pour pousser de l'info en temps réel vers le cloud (si on veut)

Parce qu'une Withings est trop chère et pas assez open.

Parce l'idée est tellement géniale que certains ont bâti tout un ecosytème autour : eScale (http://www.bodytrace.com/product.html), voire quelqu'un en a fait un très sérieux sujet de thèse universitaire ! http://innovexpo.itee.uq.edu.au/2003/exhibits/s4002233/thesis.pdf Parce que je le vaut bien... ;-)

Les capteurs envisageables
Capteur de poids (masse); un seul suffit a priori; Notre ami Bussière, que je remercie au passage, se propose de contribuer au projet avec çà :

wii balance board
http://en.wikipedia.org/wiki/Wii_Balance_Board Voici son démontage virtuel : http://www.youtube.com/watch?v=uPCl7GTvZ84

strain gauge
C'est le type capteur utilisé dans la WBB ci-dessus et a priori dans tous les pèse-personnes. En gros, soumis à une force, la résistance electrique du "truc" varie. Il faut ensuite transfomer çà en grandeur numérique moyennant qq précautions. Tout çà est pas mal expliqué ici : http://www.nerdkits.com/videos/weighscale/ avec mise en oeuvre d'un PIC (en C, sur un atmega168) plus une partie IHM sur PC, en python.

pèse-personne USB
http://wiki.electrolab.fr/Main_Page Il y en a plusieurs qui semblent pas trop cher (prix comparable à une WBB) http://www.amazon.com/DigiWeigh-DW-90-WEIGHT-TRACKER-SCALE/dp/B000M25TWK, ou http://www.amazon.fr/électronique-pèse-personne-impédancemètre-amovible-télécommande/dp/B0042KE4FQ/ref=pd_sxp_f_pt et parfois trouvable en Chine à prix probablement moindre (http://jiekee07.en.ec21.com/USB_Body_Fat_Scale--4262549_4264426.html), avec eux, le hack se résumerait à la partie software sur PC mais on risque de devoir faire un reverse engineering du protocole USB entre la partie PC (soft d'origine, fermé) et le pèse-personne car pas d'API non publié, a priori.

La bonne nouvelle du jour (21mars2011), j'ai vu au catalogue de pearl.de (et pearl.fr) la KAW-410 USB de chez Newgen Medicals doit voici la video de promo : http://www.youtube.com/watch?v=KKZjTUlMIyc&feature=player_detailpage Le prix est honnête (30€ !) pour une 5 fonctions (poids, masse musculaire, masse osseuse, proportion d'eau et proportion de graisse) Petite photo de la bête : Soft sous windows fourni (probablement en Allemand et Anglais) Achetable neuf aussi en France sur RDC (http://www.rueducommerce.fr/m/ps/mpid:MP-A7FF4M5029598#moid:MO-A7FF4M7786788) pour 30€ fdpout.

pèse-personne "wireless"
Chez Oregon, il y aurait au moins 2 modèles que les domoticiens on recensé : voir cette liste ici : http://www.domotiga.nl/wiki/Domotiga/Hardware

afficheur LCD de pèse-personne
Là, il s'agit de capter l'information de poids au bout de la chaine existante d'un pèse-personne utilisant un afficheur LCD; l'intérêt est de profiter de toute le système (finalisé et opérationnel) de captation en amont et d'interpréter, en parallèle de l'afficheur, le résultat final de la pesée envoyé à ce dernier. cf ce projet sympa : http://code.google.com/p/casainho-projects/wiki/SdCardBathroomScale

Reconnaissance de visage ?

Reco par tag sans contact (rfid?)

Reco biométrique (taille, visage, empreinte doigt, voix)

Reco par iButton (voir le lien plus haut du thésard australien)

Input "manuel" de l'identité (si reconnaissance automatique trop galère)

Les grandes fonctions attendues
Mesurer la masse

Identifier la personne pesée (ou à défaut la deviner par son poids)

Horodatage

Stocker une pesée

Restituer des pesées (selon critère)

Les données manipulées
masse

hh:mm:ss j/m/a

nom de l'individu

Les restitutions proposées
Courbe de poids journalier, hebdo, mensuel, annuel

Variations dans un intervalle

Autres...

valider qu'un WBB (wii balance board) fera l'affaire
A priori oui, car...

--> Elle permet de peser un personne (probablement moyennant calibration et mise au point d'une fonction de "lissage" des salves de mesures issues des 4 "constraint gauges" sous ses pieds sur une certaine période de temps.

--> Elle peut communiquer en bluetooth ses mesures, charge au PC qui lui est associé de relayer ces données (après retraitement, horodatage et ajout de l'identifiant personne pesée) vers le cloud.

--> Cela a déjà été fait, par un japonais qui voulait perdre du poids mais qui passe bcp de temps assis devant son ordi à jouer en ligne: http://www.gizmag.com/tokyo-make-meeting-06-wii-balance-board-hacked-to-create-diet-chair/17014/ Il se dispense de monter sur sa WBB; à la place il se vautre sur son fauteuil; pratique pour les plus fainéants !

Reste le choix de la librairie wii à utiliser, les critères sont :

--> bonne prise en charge de la wii balance board (certaines se contentent de gérer juste une wiimote)

--> support d'un de mes langages de prédilection (dans l'ordre décroissant de préférence : autoit, java, c#) ou celui d'un contributeur (python, ruby ? ...)

Ce que j'ai trouvé pour l'instant :

wiiremotej (java)
http://dl.qj.net/wii/homebrew/wiiremotej-v14-library-documentation.html

Exemple de mise en oeuvre par Katsuma : le fameux "Google Street View by Wii Balance Board" (http://www.vimeo.com/1565343?pg=embed&sec=1565343)

Et son appli est là : http://lab.katsuma.tv/walker/MapWalker.zip

Et il utilise a priori une stack BT qui a ses adeptes, certainement à raison: http://bluecove.sourceforge.net/

wiiusej (java)
http://code.google.com/p/wiiusej/

motej (java)
http://motej.sourceforge.net/

wiimote simple (java)
http://code.google.com/p/wiimote-simple/

wii device library (C#)
http://www.ohloh.net/p/wiidevicelibrary ou bien http://www.softwarebakery.com/

wiimotelib 1.7 (dot NET : C#, VB.net, C++)
http://wiimotelib.codeplex.com/ et un exemple très concret d'appli VB : Wiight, utilisant cette lib pour peser avec une WIBB : http://wiight.codeplex.com/, et aussi le blog de son auteur où il liste, entr'autres, les applis qui utilisent sa lib : http://www.brianpeek.com/blog/pages/wiimotelib.aspx

BTSTACK
Rien à voir mais peut être une piste à terme, http://code.google.com/p/btstack/ c'est une stack bluetooth pour iOS jailbreaké; çà ouvre la porte à de brillantes perspectives !

cwiid et python sous ubuntu
http://blog.videntity.com/?p=455