NEWS
[Frage] Xiaomi Vacuum cleaner
-
Hallo,
habe auch gerade meinen Mi-Robot bekommen und folgendes ist mir aufgefallen:
Wird ein "Locate my robot" (bzw. "Find") über die App gesendet erfolgt zuerst irgendein Request oder Ping mit 32 Byte Daten:
21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Die Antwort des Robot erfolgt auch mit 32 Byte Daten wovon die 14 Byte nach der Startkennung (21 31 00 20) in allen Kommandos verwendet wird.
Erst nach diesem Request und Response erfolgt das eigentliche "Find" Kommando.
Diese Requests & Responses sieht man auch so immer wieder im Telegrammverkehr…
Tipp für Wireshark:
Mit "ip.addr == 192.168.xxx.yyy" einen Filter mit der Ip des Robot im Feld "Anzeigefilter" setzen
-
Hallo,
habe auch gerade meinen Mi-Robot bekommen und folgendes ist mir aufgefallen:
Wird ein "Locate my robot" (bzw. "Find") über die App gesendet erfolgt zuerst irgendein Request oder Ping mit 32 Byte Daten:
21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Die Antwort des Robot erfolgt auch mit 32 Byte Daten wovon die 14 Byte nach der Startkennung (21 31 00 20) in allen Kommandos verwendet wird.
Erst nach diesem Request und Response erfolgt das eigentliche "Find" Kommando.
Diese Requests & Responses sieht man auch so immer wieder im Telegrammverkehr…
Tipp für Wireshark:
Mit "ip.addr == 192.168.xxx.yyy" einen Filter mit der Ip des Robot im Feld "Anzeigefilter" setzen `
Ich verwende das Telegram um Online status zu checken. -
Nur mal so zur Info: ich habe meinen am 29.Januar bei Gearbest bestellt, bezahlt und es tut sich: nix. Seit Tagen steht der Status auf "Processing " und meine Nachfragen im "Ticket" dto. Ich fange langsam an, ein bisschen unruhig zu werden, ob man denen vertrauen kann…. `
Nur mal so:
Ist das Teil jetzt angekommen bei dir ?
-
Nur mal so: nein
Aber es scheint auf dem Weg zu sein. Wenn es da ist werde ich berichten. Wenn nicht: auch
-
Vorab noch einmal ein Frage in die Runde:
muss ich, um die Hex Werte mit whireshark auszulesen, tatsächlich erst bluestacks installieren?
Ich habe irgendwann schon mal mit whireshark gearbeitet. Da ich das Programm aber nicht tagtäglich verwende, erinnere ich mich noch noch rudimentär an die Funktionen. Dennoch, soweit ich mich erinnere, konnte das Programm auch andere Sender und nicht nur sich selber überwachen.
Prinzipiell müsste es doch funktionieren, wenn ich whireshark auf meinem Laptop öffne und dann den Funkverkehr zwischen dem Sender (hier z.B. das Handy oder der iPad) und dem Empfänger (hier der Xiaomi) beobachte?
Oder? Denkfehler?
-
Vorab noch einmal ein Frage in die Runde:
muss ich, um die Hex Werte mit whireshark auszulesen, tatsächlich erst bluestacks installieren?
Ich habe irgendwann schon mal mit whireshark gearbeitet. Da ich das Programm aber nicht tagtäglich verwende, erinnere ich mich noch noch rudimentär an die Funktionen. Dennoch, soweit ich mich erinnere, konnte das Programm auch andere Sender und nicht nur sich selber überwachen.
Prinzipiell müsste es doch funktionieren, wenn ich whireshark auf meinem Laptop öffne und dann den Funkverkehr zwischen dem Sender (hier z.B. das Handy oder der iPad) und dem Empfänger (hier der Xiaomi) beobachte?
Oder? Denkfehler? `
Es sollte auch ohne Blulestack gehen. Nun sollte dein Handy mit deinem Laptop verbunden sein. So dass Trafik über dein Laptop fließt. -
Hallo,
habe auch gerade meinen Mi-Robot bekommen und folgendes ist mir aufgefallen:
Wird ein "Locate my robot" (bzw. "Find") über die App gesendet erfolgt zuerst irgendein Request oder Ping mit 32 Byte Daten:
21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Die Antwort des Robot erfolgt auch mit 32 Byte Daten wovon die 10 Byte nach der Startkennung (21 31 00 20) in allen Kommandos verwendet wird.
Erst nach diesem Request und Response erfolgt das eigentliche "Find" Kommando. `
Noch ein paar Gedanken zur Antwort des Robot auf diesen "Ping":Byte 00-03: 4 Byte Typ Kennung (21 31 00 20)
Byte 04-13: 10 Byte Identifikationsnummer welche dann für alle Kommandos verwendet wird.
Byte 14-15: 2 Byte irgendein Status (evtl. der Akkustand?)
Byte 16-31: 16 Byte, sieht bei mir aus als wären es ASCII Zeichen (evtl. ein Schlüssel?)
-
hier sind 3 Start Kommandos:
21 31 00 50 00 00 00 00 02 f2 0d 8f 58 85 a5 88 1d c5 74 4d ef 24 3b 2c 4f fd 37 62 6d 0c 67 61 14 f1 fa 1c 78 5a 84 86 09 41 83 23 6c 5f 03 26 be 54 8b f6 70 fa 95 5b d6 88 ce b1 7f 76 79 d7 b2 5c dc f9 11 82 52 ad cb f6 c9 34 55 ad 7d df 21 31 00 50 00 00 00 00 02 f2 8b 1f 58 83 cf c1 4c a1 6d de 65 81 12 78 16 86 eb 5d 03 0c 26 d3 af 3e d6 d2 0c e4 9d e1 dd 36 25 52 7d 9d a7 78 4d eb e9 f3 ad a8 11 4e 47 df 43 81 d0 08 c0 fb 68 f0 d4 78 91 76 b5 6c c5 f7 62 a8 5c 31 52 80 21 31 00 50 00 00 00 00 03 4c 78 66 58 94 af 88 f4 a6 68 e7 9b 92 e8 92 bc 0d c7 93 2c d1 12 48 46 77 cb 2f 66 23 6b 44 ee 77 02 4d 28 12 37 54 10 a5 3a 2f e0 9a 81 ad 79 34 8b fc bb 86 9f 35 bf db e4 f4 92 19 09 29 04 40 51 65 f5 99 de f6
ich sehe nichts… Außer 21 31 00 50 00 00 00 00.
IMHO, Da muss unbedingt noch Roboter ID sein. Und man sollte ansehen, was Roboter antwortet.
-
Sehe ich wie Bluefox. Die Daten werden mit der Zeit und irgendeiner Id verrechnet. Habe alle Konstanten Werte mit den Roboter Zuständen verglichen., keine Übereinstimmung.
Solange man die Roboter in nicht hat, wird es schwer da ein Muster zu erkennen. Habe nun schon zahlreiche Stunden davor gesessen…. Keine neuen Erkenntnisse...
Gruß tobi
Gesendet von meinem E5823 mit Tapatalk
-
Mal eine dumme Frage: habt ihr schon mal den Hersteller angeschrieben und gefragt ob es eine Möglichkeit gibt, eine API zu implementieren!?
Oder wenigsten eine Erklärung bekommt wie dieser Roboter angesprochen werden kann!?
Ich habe die Erfahrung gemacht, das manche Firmen kein Geheimnis daraus machen und sehr hilfsbreit sind
Wäre mal auch ein guter Ansatz
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Da gab es schon. Mehrere Versuche, jedoch nicht von mir. Mit dem Ergebnis keine Möglichkeit auf API. Und keine Infos zu dem Datenverkehr.
Gesendet von meinem E5823 mit Tapatalk
-
Da gab es schon. Mehrere Versuche, jedoch nicht von mir. Mit dem Ergebnis keine Möglichkeit auf API. Und keine Infos zu dem Datenverkehr.
Gesendet von meinem E5823 mit Tapatalk `
Ok…. das ist sehr schade [emoji53]
Gesendet von iPhone mit Tapatalk Pro
-
…
ich sehe nichts... Außer 21 31 00 50 00 00 00 00. `
…ok, ich schildere es mal anders...Ich meinte die Antwort auf einen "Ping", also zuerst den 32 Byte Ping in das Netzwerk senden
21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
als Antwort kommt vom Robot immer 32 Byte mit so etwas wie das hier:
21 31 00 20 00 00 00 00 03 4c 85 ee a4 58 9d f9 34 52 66 47 43 64 47 75 33 45 75 77 38 49 54 47
Byte 00-03: 04 Byte Typ oder Telegramm Kennung (21 31 00 20)
Byte 04-13: 10 Byte Robot Identifikationsnummer (00 00 00 00 03 4c 85 ee a4 58) bei jedem Robot anders!
Byte 14-15: 02 Byte irgendein Status, ist immer etwas anders (9d f9) evtl. der Akkustand?
Byte 16-31: 16 Byte, sieht bei mir aus als wären es ASCII Zeichen (evtl. ein Schlüssel?) aber immer die selben Zeichen.
Der Anfang eines Startkommandos an diesen Robot sieht dann so aus:
21 31 00 50 00 00 00 00 03 4c 85 ee a4 58 8d 02 0a 82 ...
Byte 00-03: 04 Byte Typ oder Telegramm Kennung (21 31 00 50)
Byte 04-13: 10 Byte Robot Identifikationsnummer aus der Ping Antwort (00 00 00 00 03 4c 85 ee a4 58).
Byte 14-15: 02 Byte irgendwas…
Byte 16-xx: xx Byte irgendwas... (evtl. verschlüsselt)?
-
Byte 12-15 ist definitiv ein zähler. Byte 4-11 könnte eine id sein, jedoch glaube ich, dass ich da auch eine Änderung drin hatte. Muss ich nochmal in meinen Aufzeichnungen gucken.
Gesendet von meinem E5823 mit Tapatalk
-
Dass in der ping Antwort ASCII Zeichen sind ist meiner Meinung nach Zufall.
Gesendet von meinem E5823 mit Tapatalk
-
Hallo,
vielleicht kann man es ja von einem anderen Produkt ableiten?
http://allmydroids.blogspot.de/2014/12/ … e.html?m=1
Gruß Marco
-
Also den TimeStamp hab ich gefunden.
http://www.epochconverter.com/hex
GMT: Fri, 03 Feb 2017 16:27:52 GMT
Your time zone: 3.2.2017, 17:27:52
Decimal timestamp/epoch: 1486139272
Kann das sein?
-
Kann mir jemand seine Seriennummer übermitteln und einen HexCode?
-
Also, ich würde die ersten Blöcke so interpretieren:
213100 5000000000 02f20d8f 5885a20f
Modell Modus Seriennr Timestamp(Epoch)
-
Also, ich würde die ersten Blöcke so interpretieren:
213100 5000000000 02f20d8f 5885a20f
Modell Modus Seriennr Timestamp(Epoch) `
5894af88 => new Date(0x5894af88 * 1000) => Fri Feb 03 2017 17:27:52 GMT+0100 (W. Europe Standard Time)Cool
Wenn man aber Modus erkennen kann, dass ist schon was: 2000000000 => Idle, 5000000000 => Running ?
Im Antwort vom Roboter, sollte noch Update für die Karte sein.