Gewichtsmessung via Bluetooth mittels Wii Fit Board - Hilfe/ Diskussion

Begonnen von tomster, 25 November 2015, 21:05:59

Vorheriges Thema - Nächstes Thema

tomster

Ich hab das mit dem Graphen eher auf das FHEM-WebFrontend bezogen. Da wird ausser mir sicher kein anderer Mensch reinschauen...
Mit Plots von Werten auf dem FTUI hab ich mich in dem Zusammenhang noch nicht beschäftigt.
Aber Du hast Recht. Es kann schon mehr als Sinn machen, wenn man die Daten als Graphen ausgeben kann.
Egal ob man damit die bierumsatzstärksten Monate/ Tage/ Uhrzeiten oder sonstwas angezeigt bekommen will.

6,3mm-Klinkenbuchsen hatte ich sogar noch rumliegen. Waren mir aber zu groß für das Gehäuse. Ich schau morgen Mal nach 3,5mm oder so.


tomster

So, 2. Board ist eben überraschenderweise angekommen. Laut Online-Abfrage sollte das Paket noch in Augsburg sein... Naja, wurscht.

Ich schau, dass ich heute irgendwie noch in einen Klinkenstecker-Laden komme.
Für den Unterbau hab ich mir Folgendes gedacht:

1 Plexiglas- oder Dibondplatte (muss ja glatt, nicht saugend & abwischbar sein, sagt der Herr Ordnungsamt; zudem ist beides vorrätig), die man pro Board in 4 Streifen á 100mm x 450mm schneidet. In 2 Streifen jeweils 2 Löcher mit 55mm Durchmesser für die Füße bohren und die Lochstreifen auf die anderen Kleben. Damit wird der Abstand zur Wand vorgegeben und die Boards stehen nicht direkt auf dem Boden (Hygiene beim Wischen).

Auf die Boards würde ich eine Holzplatte spaxen, auf die mit Leisten die Fassposition vorgegeben ist; quasi V-förmig, so dass sich das Fass beim Draufstellen fast selbst zentriert.

Zudem bin ich am Überlegen, ob man nicht sogar eine RasPi Zero in die Boards/ eins der Boards integrieren könnte.  Strom wäre ja schon da und die Bildübertragung ginge evtl. auch über wireless-HDMI oder so...

Rince

Ich würde ja nach wie vor ein Tab hinter die Theke hängen.

Aber das besprechen wir in Ruhe wenn ich komme um das 2te Board zu holen. Vielleicht morgen?


Btw,
wirf mal einen Blick auf den Anhang :)

Hier sehen wir, quck´n dirty, 2 Balkendiagramme :)

Der Rote ist das aktuell gemessene Gewicht (brauchen wir letztlich in der Grafik für nix, sieht im Moment einfach bunter aus ;)
Der Blaue ist immer 2 weniger als der Rote.

Habe ich auf die Schnelle mit einem DOIF gelöst, welches dann auch den State vom Dummy setzt. Den könnten wir sicher noch mit sprintf oder so auf weniger Nachkommastellen runterbrechen, will aber jetzt erst mal nach Hause fahren :)


Internals:
   CFGFN
   NAME       Fass_1
   NR         43
   STATE      1.96893443464
   TYPE       dummy
   Readings:
     2015-12-02 17:27:56   Füllstand      1.96893443464
     2015-12-02 17:27:56   Gewicht         3.96893443464
     2015-12-02 16:56:57   Leergewicht     2
     2015-12-02 17:27:56   state           1.96893443464
Attributes:
   room       Kühlung
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Ach ja, die Werte kommen übrigens von dem Wii Fit Board.
Die Konfiguration wurde aus einem Config-File ausgelesen, die Daten werden so ca. alle 10sec  an fhem geschickt.

Anders ausgedrückt:
Ich denke ich bin fertig.


Wir müssen fhem nur noch beibringen ein Relais zu schalten fürs BT Pairing und dann das Skript lostreten.


Das Config File besitzt lediglich 3 Items:
BT Adresse vom Wii Fit Board
IP Adresse vom Fhem-Rechner mit Portnummer
Befehl für das Setreading vom entsprechenden Device, in dem Fall vom Dummy Fass_1

So gesehen sehr wartungsarm :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

tomster

Servus Rince,

das mit dem Zero Pi war auch eher so ein schneller Gedanke ;-)

Morgen passt schon. Ich bin zwar heut zu nix gekommen, aber vielleicht zwick ich mir morgen einen Besuch beim Apotheker Conrad in der Mittagspause ab. Gelötet ist das ja gleich. Welches Relaisboard hast Du denn verwendet? Wenn's das is, das ich meine, dann müsste es sogar auf das Gehäuse geschraubt werden können. Drunter passt wohl nicht ganz.

Die Einbindung in FHEM schaut wirklich schon sehr gut aus! Dann schau ich Mal, dass ich das auch nach FTUI umsetze. So ein 20€-Monitor ist heute mit der Post gekommen. Der Pi2 auch.

Rince

Oh, irgend so ein China 4x Relais Board mit Artikelstandort Deutschland. Artikelnummer 391289172929.
Kommt als Warensendung morgen oder übermorgen.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Beginn eines Wiki Eintrags:
http://www.fhemwiki.de/wiki/WiiFit_Waage

Wie wollen wir das mit dem Relais lösen?
Gibt mehr Möglichkeiten:
* Wir kümmern uns von Hand in fhem darum, dass vor dem Skriptstart das Relais kurz angezogen wird
* Wir basteln ein Start-Skript dafür, das das Relais anzieht bevor das Skript aufgerufen wird
* Wir bauen es in dem Python Skript ein, so dass es den Befehl über FHEM absetzt, bevor der Pairing Prozess gestartet wird

Und, 2 Fragen:
Wollen wir es beenden, wenn ja, wie???
Wie wollen wir es starten? (mit ´nem Timer nach global:initialized?)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Ok.
Nicht hübsch, aber effektiv:
ps -ef | grep "python" | awk '{print $2}' | xargs sudo kill
Sollte alle laufenden Python Skripte beenden :)

Dann definieren wir ein cmdalias mit grob folgendem Inhalt:

1. Alle Python Skripte in den Wind schießen
2. Etwas warten
3. Fass 1 Relay an für 0.5
4. Skript für Fass 1 starten
5. Etwas warten
6. Fass 2 Relay an für 0.5
7. Skript für Fass 2 starten

Wem die Python-metzgerei zu grob ist:
ps -ef | grep "python script_name" | awk '{print $2}' | xargs sudo kill
Macht aber nur Sinn, wenn die Skripte unterschiedliche Namen haben. Waage1.py und Waage2.py z.B.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

tomster

Servus Rince!

Den Teil hier in Stavros' Tutorial hast Du auch gelesen, oder? Damit soll das Pairing permanent möglich sein...

Zitat
HUGE EDIT: I have finally managed to get the Wii Board to successfully (and permanently) pair with my Ubuntu computer. Here are the steps:

    sudo apt-get install build-essential libdbus-1-dev check checkinstall to install the dependencies.
    apt-get source bluez to get the source.
    Apply this https://github.com/pcacjr/bluez/commit/c70a4afe4328053f462d8e30a0a787245aa7b948 to actually get it to recognize hex pin codes.
    ./configure --enable-test, make
    sudo checkinstall to create a .deb you can remove after pairing.
    Restart your computer/bluetooth services/etc.
    ./test/simple-agent hciX ##:##:##:##:##:##, you need to change hciX to whatever your Bluetooth adapter is (usually hci0, find it with hcitool dev). The hashes are the Balance Board's Bluetooth address.
    Your pin is now $FFEEDDCCBBAA, where AA:BB:CC:DD:EE:FF is your Bluetooth adapter's bluetooth address. Just reverse the order of the octets, so 01:23:45:67:89:AB becomes $ab8967452310.
    Your balance board will pair, and you have to immediately connect to it with python gr8w8upd8m8.py ##:##:##:##:##:##, or it might not pair.
    If you missed the connecting step above, run ./test/simple-agent hciX ##:##:##:##:##:## remove and try again.
    To trust the device so it will connect in the future, run bt-device --set ##:##:##:##:##:## Trusted 1

Hopefully that will work for you, let me know in the comments!

Das Disconnect-Problem bleibt aber wohl...

Rince

Hatte ich gelesen ja :)
Da stand noch drüber, dass es ein ziemlich einfacher Hack sei, der funktionieren kann oder auch nicht.
Und, was schlimmer ist, du musst die Waage, wenn sie disconnected ist, dennoch aktivieren. Das geht wieder durch drücken... nicht vom roten Knopf, sondern vom weißen. Damit hätten wir quasi nix gewonnen.

Ich Depp muss jetzt erst mal 3,5mm Klinkenstecker suchen oder auftreiben...
Sonst kann ich ja nicht an meine Relaisplatine  ::)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

tomster

Zitat von: Rince am 09 Dezember 2015, 06:52:58
Hatte ich gelesen ja :)
Da stand noch drüber, dass es ein ziemlich einfacher Hack sei, der funktionieren kann oder auch nicht.
Und, was schlimmer ist, du musst die Waage, wenn sie disconnected ist, dennoch aktivieren. Das geht wieder durch drücken... nicht vom roten Knopf, sondern vom weißen. Damit hätten wir quasi nix gewonnen.
OK, dann hätten wir nicht wirklich etwas gewonnen. Stümmt...
Zitat
Ich Depp muss jetzt erst mal 3,5mm Klinkenstecker suchen oder auftreiben...
Sonst kann ich ja nicht an meine Relaisplatine  ::)
Oh, Mann, ich Depp. An das hab ich natürlich nicht gedacht. Hätt ja bloß 2 Stück mehr mitnehmen müssen...

phel

Hallo zusammen,

arbeite mich auch gerade in das Thema ein, würde gerne meine Personenwage ersetzen. Daher möchte ich eigentlich folgende Funktionalität haben:
- Start durch betätigen des Frontschalters
- Nullung bei initialisierung
- Ausschalten nach Messung

Da ich meinen usb bt dongle für den rpi nicht mehr finde  :o nutze ich eben nun übergangsweise ein ubuntu notebook. Beim Kampf mit dbus & bluez bin ich über folgende informationen gestolpert:
ZitatThe bluez bluetooth stack is the official linux bluetooth stack which is provided by all major distributions. Since version 4.101 it includes fixes so Nintendo devices can be paired with linux hosts. If you use an older bluez version, you may still be able to use Nintendo Wii / Wii U devices, but you cannot pair them.
https://dvdhrm.github.io/xwiimote/

Vermutlich für eure Anwendung nicht notwendig, finde es aber die saubere Variante wenn nicht jedes mal der rote knopf betätigt werden muss. (Könnte bei mehreren Boards in einem Raum auch durcheinander geben).
inzwischen habe ich das board erfolgreich gepaired und bekomme werte, jetzt muss ich noch euren script für meine bluez&dbus anpassen.

Grüße
phel

Rince

Hi,
klingt nicht schlecht. Aber dann musst du den vorderen Button drücken, um die Verbindung wieder aufzubauen, oder?
Ist für eine Badwaage völlig in Ordnung, in unserem Fall würde es nicht helfen. Deshalb ja das Relay, welches fhem selber schalten kann :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)