Hallo, zwecks Wififizierung einer Wage habe ich den dort eingebauten i2c-Bus zum Eeprom (FT24C02A) angezapft. Und siehe da bei jeder Wägung werden Daten übertragen. Die Werte scheinen mit der gewogenen Masse zusammenzuhängen, denn bei der Wägung derselben Masse werden dieselben Daten übertragen und bei verschiedenen Massen verschiedene Daten. Allerdings bekomme ich keinen Kopf daran wie die Daten und die gewogene Masse zusammenhängen, hat jemand von euch da spontan eine Idee? Grüße Thomas Masse Bytes in kg 1 2 3 4 5 6 7 8 9 10 11 12 -------------------------------------------------------- 15,2 80 8 161 21 0 161 24 2 160 15 38 0 16,3 80 8 161 21 0 161 48 5 64 30 81 128 16,8 80 8 161 21 0 161 0 10 128 60 168 0 17,9 80 8 161 21 0 161 0 1 80 7 150 96 18,1 80 8 161 21 0 161 0 10 128 60 181 0 19,2 80 8 161 21 0 161 0 42 0 243 0 0 19,5 80 8 161 21 0 161 64 21 0 121 134 0 20,6 80 8 161 21 0 161 32 10 128 60 206 0 22,2 80 8 161 21 0 161 12 1 80 7 155 192 22,7 80 8 161 21 0 161 0 42 0 243 140 0 23,3 80 8 161 21 0 161 0 42 0 243 164 0 23,8 80 8 161 21 0 161 0 42 0 243 184 0
Schau dir die Werte mal in anderer Darstellung an, Binär/Hex, Ich denke, das ist eine Lookuptabelle, die einem Binären Muster folgt.
ein EEPROM bei einer Waage kann eigentlich nur eine Korrekturtabelle (=> Lookup) sein, um eine Linearisierung einer "Bananenkennline" zu erreichen. Was die Werte aber bedeuten, das weiß nur der Hersteller und Sherlok Holmes. Zuerst müsstest du trennen, was zum EEPROM geht (Adresse) und was ausgelesen wird.
Dein Sniffer scheint noch nicht ganz korrekt zu lesen, denn die I²C Adresse des EEPROM ist ja 0xA0 und nicht 0X80. Ein 0XA1 würde daraufhin deuten, das aus dem EEPROM gelesen wird, ein 0XA0 auf einen Schreibvorgang, der ja auch bei jedem Random-Lesevorgang zuerst kommen muss. Schon die zu lesende Adresse aus dem EEPROM wäre hilfreich und lässt evtl. Rückschlüsse auf das Wägeergbnis zu.
Matthias S. schrieb: > ein Sniffer scheint noch nicht ganz korrekt zu lesen, denn die I²C > Adresse des EEPROM ist ja 0xA0 und nicht 0X80. Wieso, paßt doch: 80 -> 50 161 -> A1
Hallo Thomas Wenn ich das richtig sehe: 22,7 80 8 161 21 0 161 0 42 0 243 140 0 23,3 80 8 161 21 0 161 0 42 0 243 164 0 23,8 80 8 161 21 0 161 0 42 0 243 184 0 22,7kg = 19,2kg + 140*25g 23,3kg = 19,2kg + 164*25g 23,8kg = 19,2kg + 184*25g Siehe auch den 19,2kg Wert. Dort ist der Wert in der vorletzten Spalte 0. Für die anderen Werte sehe ich noch keinen Zusammenhang.
Kannst auch das Display reversen.. Gabs mal irgendwo nen Projekt, die twitternde Personenwage.
Hallo, danke Matthias die ersten beiden Bytes wurden in der Tat nicht richtig gelesen die ersten 6 Bytes lauten korrekt wie folgt: Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7..12 0xA0 0x10 0xA1 0x15 0x00 0xA1 ... 10100000 00010000 10100001 00010101 00000000 10100001 ... WRITE ADRESSE READ 0x10 0x11 READ 0x12... Was soll das bedeuten? So wie ich das verstehe wird hier ausschließlich gelesen und das immer ab derselben Adresse 0x10. Dann könnten aber nicht für die Bytes 7..12 verschiedene Daten herauskommen. Wo ist mein Denkfehler? Dein Ansatz Hans-werner passt auch auf die anderen Werte. Offset und Steigung sind aber für jeden Wert von Byte 10 unterschiedlich wobei die Steigung immer ungefähr 1/(Byte10 * 0,1654) beträgt. Den Offset (f(Byte10)) kann ich aber immer noch nicht zuordnen: Masse = f(Byte10) + Byte11 / (Byte10 * 0,1654)
Thomas K. schrieb: > Was soll das bedeuten? > So wie ich das verstehe wird hier ausschließlich gelesen und das immer > ab derselben Adresse 0x10. Sehe ich auch so, und ergibt eigentlich nur dann Sinn, wenn ab Adresse 0x10 ein permanenter Korrekturwert gespeichert wäre. Ich vermute aber, das dein Sniffer mit Byte 5 seine Probleme hat, wenn hier ein erneutes Write käme, um eine andere Random Read Adresse zu lesen, könnte man Byte 7 bis 12 erklären. Dazu müsste nach Byte 4 ein Stop kommen. Nur im sicher zu sein: liegen A0-A2 auf Masse? Liegt WP dauerhaft auf Vcc oder geht dieser Pin zum Waagenprozessor? Hat die Waage sowas wie Speicherplätze für verschiedene Benutzer?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.