052817_1619_MusicMonday4.jpg

Music Monday – eDrum Trigger Pad to MIDI mit Arduino und Roland PD-8

Heute geht es darum ein eDrum Trigger Pad (das Roland PD-8) MIDI-fähig zu machen. Ich will für ein Projekt, von dem es bald mehr geben wird, einen einfachen und intuitiven Weg um on-the-fly Drumsounds in Cubase einzuspielen. Was kommt da besser als ein Drumpad mit einem Drumstick zu bearbeiten? Das Pad selbst hab ich mir vom Drummer meiner Band http://www.monkeyfly.de/ ausgeliehen. Im Netz ein wenig gesucht und diverse Anleitungen zum kompletten Eigenbau gefunden (wie auch im Artikel der aktuellen make gesehen, mehr dazu aber bei Andy direkt unter http://doktor-andy.de/wordpress//?s=drum).

Die Funktionsweise des Roland PD-8 ist prinzipiell genauso, also ein Piezo, der angeschlagen eine Spannung abgibt. Das lässt sich genauso mit dem Arduino auslesen und dann per MIDI weitergeben.

Da das auch mein erster MIDI Gehversuch mit dem Arduino ist, hab ich mir erstmal die grundlegende Funktionsweise von seriellem MIDI (ich hatte keine Lust und keine Teile mir ein richtiges MIDI-Gerät zu bauen, ist ja erstmal nur zum Testen). Dazu braucht es eigentlich nur einen Arduino, der per USB angeschlossen wird, hairless MIDI (Seriell zu MIDI Konverter) und ein virtuelles MIDI Device, für Windows ist hier wohl loopMIDI die beste Wahl.

Nach der Installation von loopMIDI einfach mit dem + einen Port hinzufügen.

hairless MIDI muss nichtmal installiert werden, sondern nur gestartet. Als seriellen Port wählt man dann einfach seinen Arduino aus (COM-Port bekommt man aus der Arduino IDE) und wählt im MIDI In/Out den loopMIDI Port aus. Unter Help -> Preferences wählt man noch die Baud-Rate aus, die man im Arduino Programm hinterlegt hat. Ich habe erstmal 9600 genommen.

Einstellungen in hairless MIDI

Wie man dann den Arduino dazu bringt MIDI-fähigen Output auszugeben steht sehr schön auf http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/ beschrieben. Dort in Schritt 5 ist auch der Weg über hairless beschrieben. Das Programm aus Schritt ist sehr schön um das Setup zu testen. Es gibt einfach nacheinander in einer Schleife einige MIDI-Noten aus. Beachtet aber die Baud-Rate dort auf die MIDI-Rate (31250) eingestelt ist. Die muss mit der Rate in den Preferences von hairless übereinstimmen.

Die Noten sollte man dann im Debug Output von hairless sehen (vorher natürlich den Debug aktivieren).

Wenn das funktioniert kann man sich daran machen das Drum-Pad anzuschließen und auszulesen. Das ist eigentlich ganz einfach und wie immer hat auch sparkfun da ein Tutorial für die Grundlagen bereit: https://www.sparkfun.com/tutorials/330

Im Grunde schließt man das Pad einfach an GND und A0 des Arduino an. Dazwischen kommt noch ein 1 MOhm Widerstand und gut ist:

TriggerToMIDI
Anschlussdiagramm (R1 = 1 MOhm)

Das Roland PD-8 hat die Besodnerheit, dass es ein Dual Trigger ist. Das heißt, das Pad und das Rim haben einen eigenen Trigger. Deswegen sollte man ein Klinkenkabel mit TRS Anschluss (Tip-Ring-Sleeve oder einfach Stereo-Klinke) benutzen. Ich schließe aber nur das Hauptpad (Tip) an. Ich habe auch mit beidem experimentiert, aber der Rim-Trigger liefert bei mir nur sehr kleine Ausschläge und das Übersprechen des Hauptpads ist recht groß. Lässt sich sicher auch noch Software-seitig irgendwie lösen.

Wenn die Software von Sparkfun zum seriellen Auslesen funktioniert, kann man sich daran machen alles zu verbinden. Ich habe als Ausgangsbasis den Code von https://beammyselfintothefuture.wordpress.com/2015/01/28/sensing-hit-velocity-and-quick-subsequent-hits-of-a-piezo-with-an-arduino-teensy/ genutzt. Dort habe ich statt der Ausgabe für den Teensy einfach die Ausgabe aus dem MIDI Beispiel genutzt.

Hier gibt es den Source Code:

/*
 * Source www.boriswerner.eu 2017
 * Merged from https://beammyselfintothefuture.wordpress.com/2015/01/28/sensing-hit-velocity-and-quick-subsequent-hits-of-a-piezo-with-an-arduino-teensy/
 * and 
 * MIDI On/Off Messages
 * By Amanda Ghassaei
 * July 2012
 * https://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 * 
 */
#define triggerThreshold 10 // If this is set too low, hits on other pads will trigger a "hit" on this pad
#define initialHitReadDuration 500 // In microseconds. Shorter times will mean less latency, but less accuracy. 500 microseconds is nothing, anyway
#define midiVelocityScaleDownAmount 2 // Number of halvings that will be applied to MIDI velocity
#define inputPin A0
 
// Getting the ideal balance of these two constants will ensure that fast subsequent hits are perceived accurately, but false hits are not generated
#define subsequentHitThreshold 1.7
#define subsequentHitThresholdDecaySpeed 14
 
uint16_t highestYet;
uint32_t startReadingTime;
uint32_t highestValueTime;
boolean hitOccurredRecently = false;
 
int noteON = 144;//144 = 10010000 in binary, note on command
int noteOFF = 128;//128 = 10000000 in binary, note off command
int midiNote = 69;//MIDI Note A3

void setup() {
  Serial.begin(9600); //Set Baud Rate to 31250 for MIDI or other rate to use with serial-MIDI-converter
}
 
void loop() {
 
  // Assume the normal hit-threshold
  uint16_t thresholdNow = triggerThreshold;
 
  // But, if a hit occurred very recently, we need to set a higher threshold for triggering another hit, otherwise the dissipating vibrations
  // of the previous hit would trigger another one now
  if (hitOccurredRecently) {
 
      // Work out how high a reading we'd need to see right now in order to conclude that another hit has occurred
      uint16_t currentDynamicThreshold = (highestYet >> ((micros() - highestValueTime) >> subsequentHitThresholdDecaySpeed)) * subsequentHitThreshold;
 
      // If that calculated threshold is now as low as the regular threshold, we can go back to just waiting for a regular, isolated hit
      if (currentDynamicThreshold <= triggerThreshold) hitOccurredRecently = false; // Otherwise, do use this higher threshold else thresholdNow = currentDynamicThreshold; } // Read the piezo uint16_t value = analogRead(inputPin); // If we've breached the threshold, it means we've got a hit! if (value >= thresholdNow) {
    startReadingTime = micros();
    highestYet = 0;
 
    // For the next few milliseconds, look out for the highest "spike" in the reading from the piezo. Its height is representative of the hit's velocity
    do {
      if (value > highestYet) {
        highestYet = value;
        highestValueTime = micros();
      }
      value = analogRead(inputPin);
    } while (timeGreaterOrEqual(startReadingTime + initialHitReadDuration, micros()));
 
    // Send the MIDI note
    //usbMIDI.sendNoteOn(0, (highestYet >> midiVelocityScaleDownAmount) + 1, 1); // We add 1 onto the velocity so that the result is never 0, which would mean the same as a note-off
    MIDImessage(noteON, midiNote, (highestYet >> midiVelocityScaleDownAmount) + 1);//turn note on
    //Serial.println(highestYet); // Send the unscaled velocity value to the serial monitor too, for debugging / fine-tuning
    hitOccurredRecently = true;
  }
}
 
// Compares times without being prone to problems when the micros() counter overflows, every ~70 mins
boolean timeGreaterOrEqual(uint32_t lhs, uint32_t rhs) {
  return (((lhs - rhs) & 2147483648) == 0);
}

void MIDImessage(int command, int MIDInote, int MIDIvelocity) {
  Serial.write(command);//send note on or note off command 
  Serial.write(MIDInote);//send pitch data
  Serial.write(MIDIvelocity);//send velocity data
}

Nach dem Experiment auf dem Breadboard habe ich das Ganze direkt an der Klinkenbuchse zusammengelötet und gut ist.

Anschluss noch über das Breadboard
Und direkt an der Klinkenbuchse zusammengelötet

Hier noch ein kurzes Beispielvideo, dass die Steuerung von DrumMic’a in Cubase mit dem Triggerpad zeigt:

WLAN_STICK

Tinkering Thursday – Verbindung zwischen NAS und PC

Da ich im Moment krankheitsbedingt zu Hause bin, kommt diesmal der nächste Tinkering Tuesday schon am Donnerstag. Also ein Tinkering Thursday. Passt doch auch J.

Wie im letzten Beitrag schon angedacht muss ich mir auf jeden Fall etwas ausdenken für meine Netzwerkverbindung vom NAS zum PC. Zusätzlich zur dürftigen Geschwindigkeit (30 Mbit bzw. ca. 3MB/s) bekomme ich bei der Übertragung größerer Datenmengen öfter mal einen Netzwerkfehler. Entweder einen Auslastungsfehler oder einen unerwarteten Netzwerkfehler:

Das ist natürlich überhaupt nicht akzeptabel.

Also habe ich (wie ja schon angekündigt) mir mal einen WLAN Stick bestellt, der WLAN AC und USB 3.0 unterstützt. Die Wahl ist auf einen Netgear A6210 gefallen, da der bei einigen Tests wohl die beste Geschwindigkeit hervorbrachte. Das Treiberpaket habe ich aus dem Internet geladen (da das Programm von der CD immer abgeschmiert ist, als ich es nach Updates suchen lassen wollte), allerdings hat der Netgear Genie den eigenen Adapter nicht erkannt (tolles Genie). Aber eine Verbindung ließ sich trotzdem aufbauen.

Da ich gerade keine langes LAN-Kabel zur Hand hatte (und wer will schon auf den Dachboden gehen um eins zu suchen?) habe ich den Repeater erstmal mit einem Verlängerungskabel mitten im Wohnzimmer platziert:

Und den Empfänger auch erstmal ganz naiv auf den Tisch gestellt:

Der erste Test war etwas besser als das dLAN:

Damit erreiche ich mit um die 55Mbit also ca. 5MB/s.

Ein einfaches Umstellen des WLAN Adapters vom Schreibtisch auf die Lautsprecherbox bringt aber schon einen enormen Schub:

Und schon sind wir bei ca. 150Mbit und knapp 17MB/s.

Dann noch den Repeater im Flur an seinem Bestimmungsort positionieren bringt dann knapp 200Mbit mit 22 MB/s in der Spitze:

Natürlich habe ich auch noch versucht mehr herauszuholen. Dazu habe ich dann den Repeater soweit es geht an mein Arbeitszimmer gebracht, sodass er direkt vor der Tür lag und quasi Sichtkontakt zum Empfänger bestand. Hat aber erstaunlicherweise auch nichts gebracht. 200 Mbit sind die obere Grenze.

Bei genauerem Hinsehen in den Screenshots und nach einigem rumprobieren mit Funkkanälen (der Netgear-Adapter scheint keine höheren Funkkanäle im 5GHz Bereich zu unterstützen) habe ich dann aber bemerkt, dass unter Verbindungstyp 802.11n angegeben wird. Ich will doch aber ac?! Einige Recherche später bin ich der Meinung, dass entweder Windows 10 das falsch anzeigt oder der Treiber einfach Mist ist. Der Repeater zeigt mir zumindest an, dass ac mit einer hohen Datenrate genutzt wird:

Auch Windows zeigt mir eine recht hohe Übertragungsrate an, die ja so eigentlich nur WLAN AC hinbekommt:

Mit einem anderen Treiber (https://www.mediatek.com/products/broadbandWifi/mt7612u) konnte ich aber zumindest die 200Mbit Grenze noch überschreiben und bin bei 24MB/s in der Spitze angelangt.

Ich habe noch ein bisschen in den Einstellungen des WLAN Sticks herumgespielt:

  • Channel Mode auf „5G Only“ (ich hatte aber im Repeater schon das 2.4GHz Band ausgeschaltet).
  • Max. USB Speed von „Auto“ auf „USB 3.0“.
  • Und auch IEEE802.11h habe ich mal probehalber eingeschaltet

hat aber alles nichts genutzt.

Jetzt folgt auf jeden Fall auch hier der Lasttest (kopieren großer Datenmengen aufs NAS). Zusätzlich habe ich mir Amazon Prime sei Dank aber nochmal einen anderen WLAN-Stick (den zu Router und Repeater passenden Fritz!WLAN Stick AC 860) bestellt. Der kommt dann wohl morgen. Dann gibt es am nächsten Dienstag die Ergebnisse des Lasttests und der Test mit dem Fritz-Stick.

021517_1439_Kanalsortie1.png

Kanalsortierung am Fernseher Panasonic Viera TX 55 CXW 704

Bei meinem Kabelanbieter war vor kurzem mal wieder die Zeit für eine Neuvergabe der Sendefrequenzen. Das heißt für mich: neuen Sendersuchlauf und neu sortieren. Da ich das schon länger nicht gemacht habe wollte ich statt einer Aktualisierung einen komplett neuen Suchlauf. Das erspart das Sender löschen und wieder dahin verschieben.

Wer das schonmal mit der Fernbedienung gemacht hat, wird es hassen. Zum Glück gibt es nette Menschen im Internet, die dafür Programme anbieten. Für meinen alten Samsung TV habe ich immer SamyGo ChanEdit genutzt. Für meinen Panasonic habe ich nun das Tool ChanSort gefunden. Das kann die Kanallisten von diversen Herstellern verarbeiten. So kann man ganz bequem am PC die Senderliste zusammenstellen.

Für meinen Panasonic Viera TX 55CXW704 ist das Prozedere im Wiki beschrieben. Für mich musste es die zweite Methode sein:

  1. Eine leere Datei namens „hotel.pwd“ auf einem USB-Stick erstellen
  2. USB-Stick in den Fernseher stecken und den Code 4850 eingeben um die Senderliste auf den Stick zu exportieren
  3. Senderliste am PC in ChanSort importieren, munter umsortieren und wieder im gleichen Verzeichnis auf dem Stick speichern
  4. USB-Stick in den Fernseher stecken und den Code 4851 eingeben um die Senderlisten vom Stick zu importieren
  5. Nach erfolgreichem Import wird man aufgefordert den Fernseher auszuschalten. Ein einfaches Ausschalten per Fernbedienung hat bei mir nicht geholfen, sondern ich musste die Taste hinter dem Fernseher betätigen, sodass der TV komplett ausgeht. Danach direkt wieder anschalten und voila: Senderliste ist verfügbar.

Facebook-Betriag auf der Seite von Cavallo

Mo & Me – Ein Pferdefilm

Bisher nur nackt in einen Blogpost eingebettet bin ich nicht so sehr auf Mo & Me eingegangen.

Aber dazu gibt es noch mehr zu sagen und das will ich hier mal tun.

Ursprünglich als kleine Überraschung für meine Frau und Vorbereitung für ein kleines Urlaubsvideo, das ich geplant hatte ist der Gedanke zu dem Video entstanden. Antje sollte für ein paar Tage mit ihren Mädels in den Reiturlaub nach Island fliegen und ich habe mich bereit erklärt ihr Pferd Mona an ein paar Tagen zu bewegen. Ich bekam also eine kleine Einführung ins Longieren. Schritt – Trab – Galopp und Umdrehen. Läuft. Nach drei Testläufen unter Aufsicht war sie dann weg und ich und Mo alleine.

Vorher hab ich mir schon einige Gedanken gemacht und ein kleines Screenwriting in meinem Notizbuch gemacht.

Insgesamt hatte ich drei Tage Mo-Dienst. Also auch drei Drehtage. Am ersten Tag war es noch nicht ganz so warm, aber trocken und staubig, deswegen: lange Jeans und Stiefel. Schlechte Idee, wie sich am nächsten Drehtag herausstellte, an dem die Temperatur dann auf über 30 Grad gestiegen war. Aber andere Klamotten anziehen ist uncool, also müssen wir da durch. Mit der Temperatur stieg nicht gerade Monas Motivation, aber wir haben das schon ganz gut hinbekommen.

Ich hatte recht klare Vorstellungen von der An- und Abreise und den Aufnahmen der Vorbereitung. Das Longieren habe ich einfach mal so auf mich zukommen lassen und die Kameraposition einfach des Öfteren verändert.

Gefilmt habe ich insgesamt mit 4 Kameras:

Mein eigentliches Urlaubsvideo von der Ostsee habe ich bis heute nicht fertig, Mo & Me hatte ich schon fertig, als Antje zurückkam. Vorgestellt wurde es dann aber erst in größerer Runde, als auch das Video vom Island-Urlaub fertig war. Kam sehr gut an 😉

Natürlich hab ich das dann auch auf Youtube hochgeladen und es wurde im Stall umher geschickt.

Warum aber nur so einen kleinen Kreis damit beglücken? Eine Freundin hatte kurze Zeit vorher ein Pferdebild an die Cavallo (ein Pferdezeitschrift, die Antje schon seit über 10 Jahren abonniert hat) und die haben es auf deren Facebook-Seite geteilt. Warum also nicht auch Mo & Me. Ein paar Tage vorher hatten sie dort auch einen Aufruf für Bilder zum Thema „Männer & Pferde“. Das passt und ich hab einfach mal eine Nachricht geschrieben.

Die Antwort war auch schon sehr positiv und ein paar Tage später ging das Video dann auf der Facebook-Seite von Cavallo online.
Antwort von Cavallo

Innerhalb kürzester Zeit stiegen die Clicks und das Video hat sich zum meist-geclickten Video bei Cavallo entwickelt:

4.000 Views innerhalb von 2 Stunden
7.000 Views innerhalb von 3 Stunden
21.000 Views innerhalb von 4 Stunden
60.000 Views innerhalb eines Tages

Mittlerweile sind es über 68.000 Views:

Facebook-Betriag auf der Seite von Cavallo
Facebook-Betriag auf der Seite von Cavallo
Über 800 Likes
Über 800 Likes

Hier geht es dann auch zum Video:

Mo & Me auf Cavallo bei Facebook

Bei Youtube gibt es das Video natürlich auch, hier sind es aber nur die privaten Aufrufe, immerhin auch schon 200: Mo & Me bei YouTube

Natürlich gibt es zahlreiche Outtakes, die ich bestimmt nochmal zu einem kleinen Making Of verwurschteln werde.

Programming Pursday – UltimateRecyclerView

Heute habe ich mich endlich mal wieder an das AndroidStudio gewagt. Allerdings gibt es leider nicht allzu viel neues zu zeigen oder zu berichten. Ich habe im Grunde den ganzen Abend damit verbracht die Überbleibsel meiner Datenbank- und ListView-Versuche aufzuräumen, da ich ja bereits beim letzten Mal berichtet habe, dass ich nicht mehr direkt mit der Datenbank, sondern mit greenDAO arbeiten möchte. Im gleichen Zug macht es auch Sinn die ListView, die ich lediglich genutzt habe, da sie sehr schnell mit einem Cursor, den man aus der Datenbank bekommt, befüllen lässt. State-of-the-art ist allerdings eine RecyclerView zu nutzen, da diese ressourcenschonender ist.

Dabei habe ich mich dann entschieden mich gleich an die UltimateRecyclerView zu machen, die noch einige Erweiterungen gleich mitliefert.

Allerdings muss ich mich beim RecyclerView echt nochmal mehr mit den Grundlagen vertraut machen…

Genutzt habe ich die Demo der UltimateRecyclerView und einige Tutorials, z.B. dieses: http://www.vogella.com/tutorials/AndroidRecyclerView/article.html.

Aber immerhin kann ich mittlerweile neue Tasks in die Datenbank einfügen, durch herunterziehen der RecyclerView die Liste aktualisieren, sodass der neue Task auch angezeigt wird. Ein erster Schritt :-)

Schlaftracking nochmal

Auch bei Lifehacker ein Thema. Auch dort Word darauf hingewiesen, dass das ganze nicht zu ernst genommen werden sollte und die meisten Geräte sowieso eher einen Näherungswert liefern:

„Only a few scientific studies have looked at how effective these devices are at measuring sleep duration and quality. For the most part, they’ve shown they’re fairly good at picking up when someone is asleep; they’re not so good at assessing the number of times someone wakes up during the night and how restless they are.“

Is Your Sleep Tracker Keeping You Up at Night? http://lifehacker.com/is-your-sleep-tracker-keeping-you-up-at-night-1762011236

OLYMPUS DIGITAL CAMERA

Photobooth Verleih

Ich wollte nur mal erwähnen, dass ich die/das/den Photobooth die Fotobox auch gerne verleihe…

Wer nicht weiß, worum es geht kurz gesagt: Ein Kasten, der auf Knopfdruck Fotos macht und zu einer Collage zusammensetzt, anzeigt und ggf. ausdruckt.

2016-02-23 18_46_21-Antje&Boris (711).JPG ‎- Fotos

Hier noch meine Blogposts zum Bau:
Tinkering Tuesday – Photobooth im Selbstbau Teil 1 – Planung und Setup
Tinkering Tuesday – Photobooth im Selbstbau Teil 2 – Ablaufsteuerung
Tinkering Tuesday – Photobooth im Selbstbau Teil 3 – In der Praxis

Allgemeine Bedingungen

  • grundsätzlich erstmal nur an Verwandte und Bekannte, evtl. auch Bekannte von Verwandten/Bekannten, einfach mal fragen…
  • ggf. ohne den Fotodrucker: Da dieser nur eine Kapazität von 30 Drucken pro Kassette hat ist es entweder ein entsprechender Aufwand die Kassette zu wechseln (es muss immer die Kartusche gewechselt und neues Papier eingelegt werden) bzw. zu prüfen, wann gewechselt werden muss. Bei meiner Hochzeit wurden einige Kassetten nur halb genutzt, da ich Nachschub vor Ort liegen hatte und jeder wechseln konnte. Dadurch waren letztlich die Druckkosten höher (normal ca. 30ct pro Druck). Also entweder eigenen Drucker (da sollte jeder Drucker funktionieren, den man unter Linux betreiben kann), oder eben unter den gegebenen Voraussetzungen
  • Entweder bin ich eingeladen (sowieso beste Option 😉 oder jemand mit zumindest ein bisschen technischem Verständnis braucht eine kurze Einweisung (es gibt allerdings auch eine kleine Anleitung auf der Innenseite der Tür)
  • Die Box hat einen Flansch für ein Boxenstativ um sie auf entsprechender Höhe aufzustellen. Ich hab allerdings (noch) kein eigenes 😉

Kosten

  • Grundsätzlich erstmal keine
  • Verbrauchsmaterial (Drucker) müsste entsprechend in ausreichender Menge besorgt werden (bei Nutzung meines Fotodruckers: Canon KP 108IN, ca. 30ct pro Ausdruck)

Individualisierungsmöglichkeiten

  • Ich hatte einfache weiße Collagen, es können aber auch eigene Vorlagen relativ einfach erstellt werden (Grafiken oder Text mit auf den Ausdruck, lasst euch im Internet inspirieren)
  • Die Anzahl der Bilder ist natürlich anpassbar, ebenso ggf. Effekte wie Schwarz-Weiß-Konvertierung, solange unter Linux per Shell-Commando oder sonstwie programmatisch lösbar
  • Theoretisch kann, wie in den Blog Posts beschrieben, die Frontplatte getauscht werden. Man könnte z.B. einen entsprechenden Ausruck auf eine Platte kleben… Dann könnte man je nach Lichtverhältnissen oder anderen Möglichkeiten (z.B: externer Blitz) auch den Blitzrahmen weglassen
  • Im Extremfall könnte man das Ganze natürlich auch in einen anderen Kasten verpacken. Das ist aber ordentlich Aufwand 😉
  • Ein paar interessante Erweiterungsgedanken hab ich mir auch gemacht, die je nach Lust, Laune, Zeit und Geldbeutel auch umsetzbar wären:
    • Man könnte einen WLAN-Hotspot einrichten, wo jeder einfach mit seinem Smartphone auf die Bilder zugreifen kann
    • Ebenso kann man die Bilder automatisch ins Internet hochladen, öffentlich oder in ein privates Album, je nach exhibitionistischer Veranlagung der Gäste
    • Mittlerweile habe ich eine neue Kamera, auf der die Bilder direkt per WLAN abgerufen werden könnten (übrigens eine Olympus OM-D E-M10 Mark II)
    • Man könnte das Auslösen und die Anzeige auch über ein Tablet lösen… Bräuchte dann aber eine stabile Aufstellung (oder Aufhängung)
    • … was das Herz begehrt… wir können drüber reden
2016-02-21 16.23.51-1

Xiaomi Mi Band 1S – Schlaftracking

Tja, gleich vorweg, das war ein Schuss in den Ofen. Ich hatte mir ja erhofft, dass ich ein wenig tieferen Einblick in meine Schlafgewohnheiten mit dem Mi Band bekomme. Bis auf „Wann bin ich schlafen gegangen?“ und „Wann bin ich wieder aufgewacht?“ kann mir das Band leider keine Informationen liefern. Die Erkennung der Schlafphasen ist einfach totaler Blödsinn. Auch mit aktiviertem Schlafassistenten, der den Herzfrequenzsensor für die Analyse nutzt, sind die Ergebnisse sehr ernüchternd.

Es gibt vier Dinge, die mir aufgefallen sind:
1.) Die Tiefschlafphasen sind viel zu kurz und zu oft:
2016-02-10 15.59.16 2016-02-09 07.22.53

Gerade im ersten Screenshot sieht man 12 Tiefschlafphasen in einer Frequenz von 15-20 Minuten. Etwas unglaubwürdig.

2.) Nochmal die Tiefschlafphasen. Und zwar zeigt mir die App sehr oft Tiefschlafphasen um die Afustehzeiten meiner Frau herum. Ich garantiere, dass ich dann definitiv nicht im Tiefschlaf bin.

3.) Die Ergebnisse ändern sich. Das ist ein Phänomen, was auch im Internet sehr oft anzutreffen ist: Beim ersten Abruf zeigt die App ein Ergebnis, nach ein paar Minuten oder Stunden (nicht verlässlich nachvollziehbar), ändern sich die Ergebnisse.

Im folgenden Beispiel sieht man die Ergebnisse einer einzigen Nacht. Einmal beim ersten Abruf um 7:10 Uhr, dann um 7:53 völlig andere Ergebnisse.
2016-02-11 06.10.13 2016-02-11 06.53.16

Das selbe tritt auf, wenn man manuell die Einschlafzeit verstellt. Das habe ich einmal gemacht, weil die App gedacht hat, ich wäre eingeschlafen, als ich auf dem Sofa lag. Zumindest hat es erkannt, als ich dann tatsächlich aufgestanden bin um mich ins Bett zu begeben. Da hat es eine Wachphase angezeigt.

4.) Ein weiteres Problem ist, dass sich die Ergebnisse nicht gut analysieren lassen. Zum einen gibt es keinen Export (wohl nur mit root-Rechten machbar), auch die Synchronisierung mit Google Fit bezieht sich nur auf den Schrittzähler. Zum anderen sind die Detailinfos nur am Folgetag einsehbar, danach gibt es nur noch die Zusammenfassung im Verlauf zu sehen:

2016-02-21 15.23.34

Fazit:

Ich hatte mir zumindest ein paar bessere Ergebnisse erwartet. Ich hab gleichzeitig auch ein Schlaftagebuch angefangen, das bringt mir wahrscheinlich bessere Ergebnisse.

Jemand Interesse an einem fast neuen Xiaomi Mi Band 1S? 😉

2016-02-21 16.23.51-1