Author

Topic: Suche (programmierbares) Vibrationsarmband oder Smart Watch (Read 821 times)

newbie
Activity: 6
Merit: 11
Ich seh schon Du hast mächtig Spaß bei dem Projekt... und solche Hindernisse machens ja auch erst interessant Wink

Hab grad mal bisschen ge-googlet und bin auf dieses Projekt auf GitHub gestoßen:
https://github.com/Freeyourgadget/Gadgetbridge

Hast Du das schon gesehen? Sieht interessant aus und in der Wiki-Sektion gibts Hinweise zu Firmware... vielleicht hilft Dir das ja weiter?


Noch ne Frage am Rande... wo hast Du denn das MiBand bestellt und was hats gekostet? Bin am Überlegen ob ich mir auch ein zulege zum "Spielen" Cheesy
newbie
Activity: 6
Merit: 11
Hört sich doch gar nicht schlecht an un das MiBand sieht auch noch recht gut aus. Hatte ich vorher noch gar nicht gekannt Smiley

Mich interessiert Dein Projekt auf alle Fälle, wär also schön wenn Du hier ab und zu ein Update reinstellst.

Viel Spaß beim "Basteln" Smiley
legendary
Activity: 2320
Merit: 1292
Encrypted Money, Baby!
Hey,

auf den Link bin ich gestoßen, habe aber noch nicht im Detail geschaut, sondern erstmal nur zu den Lesezeichen gepackt. ^^
Das MiBand 2 habe ich einfach bei Amazon bestellt. Was es kostet, weiß ich nicht (verdammter 1-Click-Bestellbutton Grin ), aber es sollte nicht mehr als 30€ kosten.

Die 1er-Version der MiBand hatte kein Display, sondern nur 3 LEDs, die man möglicherweise individuell ansteuern kann. Das 2er hat ein kleines Display und sieht, wie bereits erwähnt, auch gar nicht so schlecht aus. Es zeigt die Uhrzeit an und die Batterie sollte irgendwas zwischen ein paar Wochen und einem Monat halten, was mir bisher auch durchaus im Bereich des Möglichen erscheint.

Werde mir den Link mal anschauen. Habe gestern ein bisschen mit dem Android SDK rumgespielt und schonmal ne primitive App gebaut, die nach Bluetooth-Geräten sucht und bei positiven Ergebnissen anbietet, eine Verbindung herzustellen. Zu mehr bin ich noch nicht gekommen; als nächstes kommen dann Bluetooth- bzw. Geräte-spezifische Details wie eben das entsprechende Signal dahin zu senden. Dazu habe ich diesen Anhaltspunkt gefunden: https://gist.github.com/shimondoodkin/a582d910045ab06ab68c
Das ist eine Klasse, mit der man bestimmte Bluetooth-Aktionen durchführen kann. Damit werde ich als nächstes ein bisschen herumspielen. Wenn Dich das interessiert, such mal im Netz, wo der Link zu dem Gist vorkommt (einfach den Link in die Suche hauen), da gibts irgendwo einen Thread (ich glaube auf Stackoverflow), wo jemand eine ähnliche Frage hat und es beschreibt auch jemand, welche genauen Bluetooth-Signale er sendet.

Bis ich damit weiterkomme (und damit das Armband nicht komplett nutzlos ist, hehe) habe ich mir den BitcoinChecker auf dem Androiden eingerichtet. Dort gibt es erstmal ein paar Preissignale, die auf meine aktuellen Shitcoinpositionen zugeschnitten sind, und wenn der Preis einen bestimmten Wert über-/unterschreitet, dann gibts nen Alert, der als Vibration auf der MiBand (8x kurz für "lower than x" und 4x lang für "greater than x") ausgegeben wird.
legendary
Activity: 2320
Merit: 1292
Encrypted Money, Baby!
Danke Smiley

Ich stoße allerdings jetzt schon auf Probleme. Der hässliche, gangbare Weg wäre, für jeden möglichen Kontostand (sagen wir, auf volle BTC aufgerundet, oder vllt 1 Nachkommastelle) nen Alert zu machen. Denn die Mi Band Tools haben keine Möglichkeit, dynamische Vibrationsmuster zu erstellen, also z.B. es kommt n Kontostand rein und die Zahlen werden ins Morse"alphabet" übersetzt und ans Handgelenk weitergegeben… das wäre die sexy Variante, imho).
Also muss ich selber ne Android App schreiben, die meine Kontostände abfragt und dann eben die Kommunikation mit der MiBand selber übernimmt. Man findet Quellen, die teilweise sagen, dass sie nicht angewiesen werden kann, individuellen Muster auszuführen, aber in den Mi Band Tools konnte ich definitiv Vibrationen von 50, 100, 200ms usw. einstellen und das hat auch geklappt.

Es gibt ein paar Open Source Codeschnipsel, die die Vibration auf der MiBand testen. Allerdings funktionieren die nur mit älterer Firmware auf der MiBand, und ich Depp hab direkt die originale MiBand-App installiert (dependency für die Mi Band Tools), und die hat nen Firmware Update auf dem Armband gemacht. Und dort wurde alles getan, um potenziellen Entwicklern das Reverse Engineering so schwer wie möglich zu machen, mit Code Obfuscating usw... muss mal sehen, ob sich die Firmware wieder downgraden lässt.

Die Mi Band Tools wären grundsätzlich ein guter Ansatz, weil die es ja irgendwie schaffen, individuelle Muster an das Armband zu schicken, bzw. es anzuweisen, diese auszuführen.
Problem dabei: es ist ne Paid App, und somit ist der Quellcode nicht mal eben verfügbar, sodass ich nachschauen kann, wie der Entwickler das gelöst hat.

Ich habe gestern einen eher halbherzigen Versuch unternommen, ihn zu kontaktieren. Er hat nen Twitter Account, der das letzte Mal vor ca 2 Monaten benutzt wurde. Ob er meine Anfrage für nen Follow, sodass wir Nachrichten austauschen können, überhaupt lesen wird, ist fraglich. Ggf. suche ich mal nach ner Emailadresse von ihm. Will ja nicht den ganzen Quellcode haben, sondern nur einen Stupps in die richtige Richtung. Smiley
legendary
Activity: 2320
Merit: 1292
Encrypted Money, Baby!
Meine Lösung (ich hasse es, wenn ich im Netz nach was suche, jemand sucht was ähnliches, findet ggf ne Lösung und hält den Thread nicht mehr aktuell… oder, noch schlimmer, schreibt drunter "Ok, brauche eure Hilfe nicht mehr, habs selber gefunden" und sagt nicht, wie er es gelöst hat):

  • Als Armband die MiBand (2 oder 3, weiß nicht mehr, welches ich bestellt habe… irgendeins halt, die sollten aber alle gehen)
  • die dazugehörige Android-App "Mi Fit"
  • dazu die Mi Band Tools (ebenfalls eine Android App für 3,49€), mit der man individuelle Signale von allen installierten Apps mit konfigurierbaren Signalen an die MiBand weiterleiten kann
  • dabei kann man einstellen, welche Farbe geblinkt und wie vibriert werden soll, wobei das Vibrationsmuster wohl scheinbar nur mit 2x 500ms und Abstand 200ms geht (liegt wohl an der MiBand)
  • Möglichkeit 1: ich sende an einen dedizierten Mailaccount Emails "balance up" oder "balance down"; dann richte ich in den Mi Band Tools z.B. einen Alarm auf Gmail Betreff "balance up" ein, wo vibriert wird mit grünem Licht, ggf noch einen "balance up 2" für einen stärkeren Anstieg, wo dann das Vibrationsmuster einmal wiederholt wird. Das Gleiche für "balance down", dann ggf mit roten Licht. Muss ich mal sehen
  • Möglichkeit 2: ich erstelle Alerts in den Mi Band Tools für Tasker. Da kann man wirklich ALLES an Signalen einstellen. Da muss ich mir aber noch nähere Gedanken machen

Aber soweit so gut. Ich habe eine Idee, und ich habe erstmal Ansätze gefunden. Ggf. kriege ich das mit dem statischen Vibrationsmuster noch irgendwie gelöst, weil der Gedanke dahinter ja sein soll, dass ich nicht explizit nachschauen muss (auch nicht auf die Farbe der LED), um zu erfahren, ob meine Accounts hoch oder runter gehen.

Wird ein schönes Projekt für ein verlängertes Wochenende, irgendwann demnächst. Smiley

Sollte grundsätzlich Interesse bestehen, bin ich auch gerne bereit, die Ergebnisse inkl. Vorgehensweise, Einrichtung etc. zu teilen.
Ist halt n Spielzeug für Männer Grin
legendary
Activity: 2320
Merit: 1292
Encrypted Money, Baby!
Quote
Soweit mir bekannt bieten so gut wie alle Wearables eine, zum Teil offene, API.

Ich denke Deine App-Idee würde sich damit schon umsetzen lassen.

Hier mal ein paar Beispiele:

- fitbit: https://dev.fitbit.com/docs
- pebble: https://developer.pebble.com/
- Misfit: https://build.misfit.com/


Vielleicht hilf Dir das ja schon weiter?

Vielen Dank!!

Wirklich, freut mich sehr. Werde mir die Teile mal im Detail anschauen (zumindest die, die noch existieren, hehe) und ggf. bestellen.


.edit:
Habe mir Fitbit mal angeschaut. Dort gibt es die Möglichkeit, über die API Alarme zu erstellen. Fürs grundsätzliche Verständnis: ich stelle mir das so vor, dass das Armband mit meinem Android-Gerät gepaart ist, und wenn ein Aufruf an eine API-URL (von wo aus auch immer, einer separaten App auf dem Telefon, von einem Server oder meinem Rechner) stattfindet, dann geht von fitbit.com aus eine Nachricht an mein Android-Telefon, welches dann wiederum das gewünschte Signal an das Armband weitergibt. Soweit richtig?

Was ich auf den ersten Blick sehe, ist, dass man eben einfach diese Alarme erstellen kann. Aber eine wirkliche Möglichkeit, die Vibrationen zu konfigurieren (z.B. 2x schnell hintereinander, 3x langsam hintereinander o.Ä.) sehe ich nicht: https://dev.fitbit.com/docs/devices/#add-alarm

Ich vermute auch mal, dass so ein Alarm, wenn er auf dem Armband erstmal losgeht, einfach läuft, bis ich ihn manuell stoppe. Ich bezweifle, dass der Alarm auf dem Armband ausgeht, wenn ich den DELETE-Request auf den kurz zuvor erstellten Alarm losschicke. Wenn das allerdings doch der Fall wäre, dann könnte man zumindest Sequenzen simulieren, indem man einen Alarm erstellt und nach einer Sekunde oder mehreren löscht. Allerdings fühlt sich das eher hacky an.
Eine Lösung, wo man die Vibration (Länge, Intervall) konfigurieren kann, wäre da besser. Aber vielleicht bietet Misfit ja was in die Richtung. Die schaue ich mir als nächstes an.
legendary
Activity: 1100
Merit: 1058
War Pebble nicht insolvent und hat alle Dienste usw. eingestellt, so das die Teile jetzt nutzlos sind?
Oder hat sich da mittlerweile was getan?
legendary
Activity: 2320
Merit: 1292
Encrypted Money, Baby!
Heyho,

mein Problem ist gerade, dass ich:
a) nicht weiß, wo ich anfangen soll zu suchen und
b) keine Ahnung habe, wie Smart Watches funktionieren, bzw. ob die diesen Anforderungen gerecht werden.

Vielleicht kann mir ja hier jemand weiterhelfen. Ich möchte gern ein Armband mit Vibrationsfunktion (notfalls geht auch so ein Smart Watch Klumpen, wobei die mir eher zu groß sind für den 24/7 Gebrauch am Handgelenk). Dieses Gerät soll, via Bluetooth o.Ä., in festgelegten Abständen Kontakt mit einer Datenquelle (z.B. eine selbst programmierte App auf meinem Telefon, oder – falls eine Smart Watch es erlaubt, selber Apps darauf zu installieren – direkt von einer nativen App auf der Smart Watch) auf, via HTTP Request ins Netz.
Diese Datenquelle gibt z.B. einfach "true" oder "false" zurück und das Gerät an meinem Armband vibriert ein- bzw. zweimal, oder einmal kurz oder lang (je nach dem ob true oder false).

Lässt sich sowas realisieren? Kann mir jemand einen Stubbs in die richtige Richtung geben? Alles, was ich finde, sind irgenwelche Fitness-Tracker, aber nichts, was quasi frei programmierbar ist oder Kontakt mit einer von mir bestimmten Datenquelle aufnimmt.



Etwas Hintergrundinformationen:
Ich möchte einen Webservice (oder von mir aus auch eine Android-App) schreiben, die nichts weiter tut als meine Trading-Accounts abzufragen. Wenn meine Margin Positionen im Plus sind, möchte ich ein Vibrationssignal haben, wenn sie im Minus sind, ein anderes. Sodass ich quasi immer passiv benachrichtigt werde, ohne andauernd nachschauen zu müssen.

Danke schonmal, und nein, ich brauche keine Empfehlungen für Suchtberater mit Expertis im Bereich Crypto Grin
Jump to: