0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« on: August 12, 2011, 10:20:40 am » |
Moin, wie bekannt haben Jomelo und ich die Bitfolge von so einem China 433 MHz Thermometer entwirrt. Nun fehlt noch eine "Kleinigkeit" zum Glück - eine Bitfolge, die mir im Moment noch schleierhaft ist. Sie kommt nach den Temperatur- und Feuchte-Werten. Siehe http://pastie.org/2361589Ich meine den 8 Bit langen Wert mit der Spalte ???. Den in Zeile 2 mit dem Wert 01010000 etc.pp. WAS ist das? An die Logiker unter Euch... Jomelo?
|
|
|
|
|
Logged
|
|
|
|
|
Germany, Osnabrück
Offline
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #1 on: August 12, 2011, 11:38:04 am » |
Hi super das du noch mehr Rohdaten geliefert hast. Da ich das Eingangssignal kenne und das Ausgangssignal müsste es mit Hilfe von Algorithmen möglich sein herauszufinden was sich dazwischen befindet. Eigentlich ist das nur Rätseln und höhere Mathematik ;-)
Am Sonntag habe ich Zeit das im Detail durchzugehen.
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #2 on: August 12, 2011, 12:05:08 pm » |
Ich wäre Dir auf ewig dankbar 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #3 on: August 12, 2011, 03:09:29 pm » |
Hi super das du noch mehr Rohdaten geliefert hast. Da ich das Eingangssignal kenne und das Ausgangssignal müsste es mit Hilfe von Algorithmen möglich sein herauszufinden was sich dazwischen befindet. Eigentlich ist das nur Rätseln und höhere Mathematik ;-)
Am Sonntag habe ich Zeit das im Detail durchzugehen.
Das ist mal interessant: 110000011000 000100100000 01011100 18.3 48 001000011000 111000100000 01011100 18.4 47 101000011000 011000100000 01011100 18.5 46 011000011000 101000100000 01011100 18.6 45 111000011000 001000100000 01011100 18.7 44 Mystery-Bit-Folge immer gleich!
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #4 on: August 13, 2011, 02:31:30 am » |
Und noch mehr. Ohne Doppelte: http://pastie.org/2365002
|
|
|
|
|
Logged
|
|
|
|
|
Germany, Osnabrück
Offline
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #5 on: August 13, 2011, 03:01:51 am » |
Anhand der Ergebnisse lässt sich bestimmt die Codierung decodieren. Man sieht immer das in allen Werten wo zwei "11" Blöcke und drei "1" vorkommen, das gleiche Ergebnis raus kommt. Ich muss aber noch bis morgen warten bis ich wieder in meiner Wohnung bin.
Da bei dieser Bitfolge, dass eine Ergebnis hoch läuft und das andere runter, ist das schon sehr merkwürdig und deutet vielleicht auf einen Fehler, bei der Bitfolgen Endschlüsslung hin.
Als nächstes schau ich mir mal an, ob es noch mehr solche Effekte gibt.
Edit: Ist es realistisch, dass sich die Luftfeuchtigkeit um 5% verändert, wenn die Temperatur um 0,5 Grad schwank ? Irgendwo ist dort noch ein Wurm begraben.
|
|
|
|
« Last Edit: August 13, 2011, 03:08:19 am by Jomelo »
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #6 on: August 13, 2011, 03:23:04 am » |
Da darfst mich jetzt nicht fragen. Ich sehe, das das auch so am Gerät angezeigt wird. Also scheint die Bitaufdröselung zumindest bei Temp/Humi zu stimmen. Sonst gäbe es ja abweichende Anzeigen. Gerät und Log stimmen aber überein. Ich komme seit Stunden aber nicht auf diese Grützen Mystery Folge... Habe schon Dinge wie Addition, Subtraktion, XOR usw. durch. Es passt nie. Bin jetzt dabei die Log so zu bauen, dass die 8 Bit wieder als 4 Bit Nibble durchgerechnet werden. Also 4 +4 Bit. Wie bei Temp/Humi... 00000000001111;S;011011101000;100010100000;01101101;11110000;E;40;17.6;51;116 00000000001111;S;011011101000;100010100000;01101101;11110000;E;39;17.6;51;116 00000000001111;S;011011101000;010010100000;11101001;11110000;E;40;17.6;52;97 00000000001111;S;011011101000;010010100000;11101001;11110000;E;39;17.6;52;97 00000000001111;S;011011101000;010010100000;11101001;11110000;E;40;17.6;52;97 00000000001111;S;011011101000;010010100000;11101001;11110000;E;39;17.6;52;97 00000000001111;S;011011101000;100010100000;01101101;11110000;E;40;17.6;51;116 00000000001111;S;011011101000;100010100000;01101101;11110000;E;39;17.6;51;116 00000000001111;S;011011101000;100010100000;01101101;11110000;E;40;17.6;51;116 00000000001111;S;011011101000;100010100000;01101101;11110000;E;39;17.6;51;116 00000000001111;S;111011101000;100010100000;11101001;11110000;E;40;17.7;51;97 00000000001111;S;111011101000;100010100000;11101001;11110000;E;39;17.7;51;97 00000000001111;S;111011101000;100010100000;11101001;11110000;E;40;17.7;51;97 00000000001111;S;111011101000;100010100000;11101001;11110000;E;39;17.7;51;97 00000000001111;S;111011101000;000010100000;01101101;11110000;E;40;17.7;50;116 00000000001111;S;111011101000;000010100000;01101101;11110000;E;39;17.7;50;116 00000000001111;S;000111101000;000010100000;11101001;11110000;E;40;17.8;50;97 00000000001111;S;000111101000;000010100000;11101001;11110000;E;39;17.8;50;97 00000000001111;S;000111101000;000010100000;11101001;11110000;E;40;17.8;50;97 00000000001111;S;000111101000;000010100000;11101001;11110000;E;39;17.8;50;97 00000000001111;S;100111101000;100100100000;00001111;11110000;E;40;17.9;49;150 00000000001111;S;100111101000;100100100000;00001111;11110000;E;39;17.9;49;150 00000000001111;S;100111101000;100100100000;00001111;11110000;E;40;17.9;49;150 00000000001111;S;100111101000;100100100000;00001111;11110000;E;39;17.9;49;150 00000000001111;S;100111101000;000100100000;11111001;11110000;E;40;17.9;48;915 00000000001111;S;100111101000;000100100000;11111001;11110000;E;39;17.9;48;915
Ohne die 1111.... am Ende mitgerechnet, da ich davon ausgehe, dass es das Endesignal ist. Ähnlich wie vorne die 1111, die m.E. Start bedeutet. Die 40/39 bitte ignorieren. Es sind Counterwerte. Kommen nicht vom Thermo. Genau wie "S" und "E" 
|
|
|
|
« Last Edit: August 13, 2011, 03:27:28 am by DE8MSH »
|
Logged
|
|
|
|
|
MK (D)
Offline
Full Member
Karma: 8
Posts: 170
Arduino rocks
|
 |
« Reply #7 on: August 13, 2011, 07:09:55 am » |
oT @DE8MSH Es wäre wünschenswert zu erwähnen, das du dieselbe Frage auch woanders gestellt hast, zB hier: http://www.mikrocontroller.net/topic/228553so ließen sich Überschneidungen bei der Lösungssuche vermeiden, natürlich auch umgekehrt den Hinweis auf diese Seite geben...
|
|
|
|
|
Logged
|
Gruß Peter
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #8 on: August 13, 2011, 07:25:44 am » |
Jetzt habe ich die 4+4 Bit des Byte mal nach dem Schema anzeigen lassen wie Temp/Humi. Ist auch nicht sehr aufschlussreich: http://pastie.org/2365715
...2bc...
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #9 on: August 13, 2011, 07:28:11 am » |
oT @DE8MSH Es wäre wünschenswert zu erwähnen, das du dieselbe Frage auch woanders gestellt hast, zB hier: http://www.mikrocontroller.net/topic/228553so ließen sich Überschneidungen bei der Lösungssuche vermeiden, natürlich auch umgekehrt den Hinweis auf diese Seite geben... Danke Dir für die Info. Das war micht nicht klar, dass ich das nicht machen darf. Da OT bitte per PN an mich, Peter.
|
|
|
|
« Last Edit: August 13, 2011, 07:41:54 am by DE8MSH »
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Offline
Brattain Member
Karma: 160
Posts: 15605
+39 349 2158303
|
 |
« Reply #10 on: August 13, 2011, 08:10:27 am » |
Ein Hinweis darauf kann hilfreich sein da mehrere Leute am Lösungsversuch arbeiten und ein Geistesblitz des einen einen anderen zu Lösung bringt. Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #11 on: August 13, 2011, 09:09:32 am » |
Hi Uwe, ok. Das verstehe ich.  Wie kann ich das dann am Besten formulieren, dass Hi'un'da an dem Rätsel gearbeitet wird? Jetzt müsste ich ja noch die µC Seite informieren...
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #12 on: August 14, 2011, 03:47:43 am » |
Hi Leutem
ich habe nochmal das angeregt...
" Ich habe auch schon getestet ob eine andere Aufteilung etwas bring. Bisher nehmen wir ja
000000001111;S;100100011000;000011100000;11011000;11110000;E;18.9;70;111
an. D.h.:
000000001111 Intro/Startsignal 100100011000 Temp 000011100000 Feucht 11011000 Check??? 1111 Ende 000000001111 Intro/Startsignal 100100011000 Temp 000011100000 Feucht 11011000 Check??? 1111 Ende
Also Zweimal die Reihe gesendet. Vieleicht muss es aber auch
000000001111 Intro/Startsignal 10010001 >>> 10001001 >>> 0x89 10000000 >>> 00000001 >>> 0x01 11100000 >>> 00000111 >>> 0x07 11011000 >>> 00011011 >>> 0x1B Check??? 1111 Ende 000000001111 Intro/Startsignal 10010001 >>> 10001001 >>> 0x89 10000000 >>> 00000001 >>> 0x01 11100000 >>> 00000111 >>> 0x07 11011000 >>> 00011011 >>> 0x1B Check??? 1111 Ende
sein. Also die Werte nach dem Start in Byte-Format. "
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #13 on: August 14, 2011, 05:50:50 am » |
Moin Leute, Läubi aus µC sprach m.E. ware Worte indem er schrieb: 8< 8< 8< 8< 8< 8< 8< Die Frage ist halt wie oft es zu solchen Aussetzern kommt, du kannst die Datensätze ja trotzdem speichern nur mit einem "Fehlerflag" versehen, das wäre denke ich die Pragmatischtste Lösung, selbst wenn du hinter die Prüfsumme kommst und da nur feststellst das der Datensatz fehlerhaft ist ist man genau soweit wie vorher. Theoretisch könnte es halt auch ein Fehlerkorrigierender Code sein, die Redundanz ist ja recht hoch, eventuell könnte man versuchen eine Wertetabelle eingangsbits zu ausgangsbits zu erstellen und dann schauen welche Verknüpfungen zwischen den Bits gelten, das ist aber recht aufwändig. 8< 8< 8< 8< 8< 8< 8< Dieser Auszug ist aus dem Hintergrund heraus, dass ich ja die CRC/Checksumme/Whatever für eine Prüfung haben wollte, die mir sagt, dass Daten fehlerhaft sind. Da die Werte immer zweimal gesendet werden kann ich auch die Datenreihen vergleichen. Sind sie different sind Daten falsch. Nachteil: was wäre wenn der Fehler zufällig in beiden Datenreihen auftritt? Dann würde der Logger Zeug wie "00.9° bei 00%" als richtig ansehen... Ach ja. Reversing ist nicht unanstrengend....
|
|
|
|
« Last Edit: August 14, 2011, 06:31:34 am by DE8MSH »
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3195
20 LEDs are enough
|
 |
« Reply #14 on: August 14, 2011, 09:02:17 am » |
Das Problem kannst Du genauso auch mit fehlerkorrigierendem Code bekommen. Die Lösung ist normalerweise sowas eine Ebene höher zu beheben. D.h. Temperaturen und die Luftfeuchtigkeit ändern sich ja eher langsam --> Ausreiser einfach ignorieren.
|
|
|
|
|
Logged
|
|
|
|
|
|