- Dieses Thema hat 234 Antworten sowie 29 Teilnehmer und wurde zuletzt vor vor 10 Jahren, 6 Monaten von
Anonym aktualisiert.
-
AutorBeiträge
-
22. Juni 2015 um 18:43 Uhr #66446
Anonym
InaktivIch überlege gerade … man könnte auch ein Programm auf dem Arduino schreiben, dass nach jeder Aktion automatisch 1. die Aktion erfasst wird und 2. das EEPROM komplett ausgelesen wird. Bräuchte man nur anschließen und dann alle Funktionen nacheinander durchgehen. Diese könnte man auch via Serial auf dem Notebook-Monitor anzeigen lassen, also z.B. „Entnehmen Sie bitte den Wassertank und drücken Sie
“ oder „Ziehen Sie einen kleinen Kaffee und drücken Sie „. Ich glaube, der Arduino ist gar nicht mal so unnützlich, auch wenn der dann ein paar Euro extra kostet. Muss aber ja auch kein Original sein, da reicht ein Klon. Für das Arduino-Programm würde ich mich opfern, wenn wir hier einen entsprechenden Ablaufplan erarbeiten können. 🙂
22. Juni 2015 um 19:15 Uhr #66447Anonym
InaktivIch bevorzuge Leerzeichen, da man diese mal ebend schnell im Editor durch was anderes ersetzen kann. Bei Tabs ist man auf Editoren angewiesen, die RegEx, bzw. \t interpretieren können. Ansonsten Startadresse + 16 Word mit Leerzeichen dazwischen. Hab ich hier schon öfters gesehen und konnte gut damit arbeiten. Das wäre dann sogar analog dem RT: Kommando … bis auf die Lerrzeichen 🙂
22. Juni 2015 um 20:08 Uhr #69810Anonym
InaktivIch revidiere mal etwas 16 Word in einer Zeile, das wird schwer zu lesen, aber wir können uns gerne an Olivers Muster anlehnen:
[code]
0000 00E2 0134 2300 080C 0000 0000 0045 20DA
0008 003D 0010 15E7 0000 0021 0286 0001 008E
0010 8E82 0038 0071 01BA 01BA 0AF8 0000 0000
0018 0000 0000 0000 0078 0150 0000 0031 0784
0020 0000 0000 001C 0000 0028 4664 1E04 0C50
0028 0100 0000 0A0E 1014 1406 0708 2D64 141E
0030 4D62 0007 2158 214D 006B 04B0 0161 1E05
0038 0032 507E 047E 5050 160F 0014 012C 0276
0040 000C 00E6 010A 0208 0222 012C 01D1 0501
0048 5A03 000A 0000 050A 0A12 00C8 145C 1E5C
0050 6C6C 0000 00DC 0002 0A0D 1401 0071 0050
0058 0404 0100 0004 3C14 3280 463C 5009 2522
0060 21F4 BB20 257A 21F4 922A 2F49 21F4 666E
0068 6004 A200 02A5 4982 140A 2802 0C02 0000
0070 0000 0000 011E 0000 041D 0C1A 0000 1210
0078 041E 3C05 020A 0228 B49D 141E 3400 0B00
0080 05A0 0014 0014 1E0A 0F23 00F0 0100 0307
0088 0A01 000A 1106 0000 0000 4132 5846 5028
0090 5064 003C 1932 0A46 706C 3228 6460 706A
0098 120A 7267 140F 7066 787D 8776 0091 0F16
00A0 3228 6C64 140F 2828 0F28 463C 3750 3273
00A8 1E50 010A 0000 5A03 0004 0501 0000 0032
00B0 0600 0A14 4646 0000 0010 0020 3005 7803
00B8 0C0C 3030 0000 2D14 140A 06C8 6401 A000
00C0 1234 0042 0C00 0732 0817 0D05 AAC8 5D28
00C8 5050 0000 04FF A014 028C 0000 B6AE 066E
00D0 09A1 00E6 0000 0000 0028 0014 0002 0100
00D8 0020 0010 0909 1414 2D14 0000 0000 0000
00E0 0000 0000 0000 0000 0000 0000 0000 0000
00E8 2522 0000 2A5A 2A42 2E00 0000 0000 0000
00F0 090B 10D5 0003 7010 28D0 0000 0000 0000
00F8 002C 3000 0003 7030 0002 AA28 D0CD 0000
[/code]22. Juni 2015 um 20:43 Uhr #69811Anonym
InaktivAber wie machen wir das mit dem Protokoll?
Ein Teil wären die Funktionen, die man über die Maschine steuern kann. Also was sagt mir die Maschine, wenn ich die Taste „kleiner Kaffee“ drücke etc? Das wären bei mir 1. kleiner Kaffee, 2. zwei kleine Kaffee, 3. großer Kaffee, 4. zwei große Kaffee, 5. Dampf A, 6. Dampf B, 7. Portion Heißwasser.
Die Aktion könnte man automatisch erfassen, dazwischen jeweils EEPROM auslesen. Dann weiß man auch, wo die jeweilige Zählervariable gespeichert wird.
Ferner die Meldungen, die die Maschine möglicherweise ausspuckt (weiß ich gerade gar nicht genau), wenn der Wasserbehälter leer oder nicht eingesetzt ist, die Bohnen alle sind etc. Und was ich noch vergessen habe: solche Sachen, wie Reinigung, Entkalken.
Insgesamt dürfte die komplette Abarbeitung von so einem Protokoll mit allen Funktionen aber doch einige Zeit in Anspruch nehmen. Dafür würden aber auch in absehbarer Zeit anständige Ergebnisse dabei herum kommen.
22. Juni 2015 um 20:49 Uhr #66448Anonym
Inaktiv@Wiesel: Übernimmst du dann das später serverseitige? Also Hochlademöglichkeit und nach Möglichkeit eine serverseitige Weiterverarbeitung der Daten? Du kennst dich doch mit PHP und Datenbanken etc aus, nehme ich an. Nett wäre auch eine visuelle und tabellarische Darstellung der interessanten Sachen, z.B. Funktionen und Befehle nach Maschinentyp geordnet.
22. Juni 2015 um 20:53 Uhr #69812Anonym
InaktivDa würde ich diue FA: Kommandos durchgehen und Antwort sowie Reaktion notieren.
Beim EEPROM auswerten ist es wieder abhängig von der Maschiene und deren Einstell- und Funktionsmöglichkeiten.Einschalten lesen
Ausschalten Einschalten lesen
Produkt 1 beziehen lesen
Produkt X beziehen lesen
Sämtliche EInstellungen ändern und lesen 🙂Wasserbehälte Schale usw. kann ich per IC: anfragen. Bekomme hier dann 16 Bit die den Status der Sensoren darstellen.
Hier flackern aber auch ein paar Bits wild umher, ohne das etwas an der maschiene getan wird.Was noch Interessant wäre: Display auslesen, scheint auf jeden Fall einen Weg zu geben
Ich kenne bisher nur einen befehl zum löschen des Displays und 2 zum Beschreiben.22. Juni 2015 um 20:58 Uhr #66451Anonym
InaktivSo ist der Plan Oliver 🙂 Ich brauche hier aber erst mal einen globalen Überblick über alle Maschienen und kann dann Strukturieren. Sonst Stoße ich mit der DB an irgendwelche Grenzen und kann dann irgendwelche nis dato unbekannste Funktionen nur mit viel Aufwand nachpflegen. Ich suche aktuell eine Möglichkeit das Modell eindeutig zu Identidizieren. Offenbar ist hier Artikelnummer und Softwareversion notwendig. Letzteres geht per TY: Wenn wir hier einen Identifier haben kann auch das App nachher recht simpel die Dumps auf den Server spielen. Bzw holt sich von da die Interpretationsanleitung. Mit dem visuellen Part tue ich mich immer etwas schwer, aber das bekommen wir schon hin.
22. Juni 2015 um 21:19 Uhr #69813Anonym
InaktivNotfalls kann der hochladende Nutzer ja angeben, was für eine Maschine er hat, z.b. im Dateinamen. Aber wenn man es aus dem Datensatz lesen kann: umso besser!
Mal blöd gefragt: Wie geht das mit dem Display löschen, auslesen und beschreiben? Geht bei meiner Impressa S 95 aber nicht, glaube ich. Trotzdem würden mich die Befehle interessieren.
Theoretisch könnte man noch unbekannte Befehle per „Dictionary attack“ einfach ausprobieren und gucken, wo eine Reaktion oder Antwort kommt. Aber ob sich das lohnt?
Gut, ich könnte dann im Grunde gleich (oder morgen) anfangen und das Arduino-Programm schreiben. Bin mir allerdings noch unsicher, ob man das besser über die FA-Befehle der Reihe nach macht oder doch über die Tasten. Wenn man die FA-Befehle durchgeht, wird man fragen müssen „Was hat die Maschine gemacht?“ und alle Funktionen zur Auswahl stellen und der User muss sich dann entscheiden. Wenn ich von vornherein sage „Drücke die Taste für kleinen Kaffee“, dann ist zumindest das schon mal klar und die Antwort kann ja geloggt werden. Das deckt natürlich dann nicht alle Befehle ab, wie z.B. direktes Ansteuern des Mahlwerks etc. Muss ich noch mal drüber grübeln, bevor ich anfange.
Bezüglich des groben Überblicks kann dir Mathias bestimmt helfen.
23. Juni 2015 um 2:39 Uhr #66452Anonym
InaktivHabe jetzt 4.5 Stunden mit Mathias telefoniert und bin um einieges Schlauer 🙂
DR: löscht das Display
DA:Wert und DT:Wert geben bei der J5 Wert im Display aus.Ich bin aktuell bei eBay auf der Jagt nach einer günstigen, defekten Jura um ihr mal alle möglichen Befehle an den Kopf zu werfen.
23. Juni 2015 um 2:53 Uhr #69814Anonym
InaktivUnd ich bin zu allen Schandtaten bereit! 🙂
War ein sehr nettes und Informatives Gespräch vielen Dank dafür.Ich würde Sinnvoll finden, wenn man Funktionen aus einer Liste auswählen kann und diese Liste als Anwender selbst ergänzen kann. Man kann dann die gewonnen Informationen ja evtl. hochladen und in der Software nach pflegen. Auch eine Erfassung der Maschinenkennung wäre sehr Sinnvoll, beispielsweise Krups Orchestro, Jura GIGA X9c, AEG CaFamosa 784, Franke Saphira, Bremer Smart, Franke Flair und dergleichen mehr…
Wenn man die Hardware sehr einfach zusammenbekommt, sie billig ist und die Software einfach zu bedienen ist, werden sicher einige Menschen mitmachen 🙂[url=http://www.coffeedential.de/unb/forum;info=1]Hier der Link zum Forum von Wiesel.[/url]
23. Juni 2015 um 6:47 Uhr #69822Anonym
InaktivIch hatte mir zum Auswerten meiner Jura Xs 9 ein Python Script geschrieben, dass initial den ganzen Speicher ausließt und dann nur noch die Unterschiede nach diversen Änderungen ausgibt. Die Änderungen wurden dann vom Script abgefragt. Das Script hat einmal eine menschenlesbare Ausgabe der Form: Adresse: alter Wert > neuer Wert als auch ein Format, dass ich direkt von Python exportieren und später wieder importieren kann. Hierbei hab ich alle Daten in einem Dictionary abgelegt.
Ausgabe auf der Konsole:
P2 frei
00D0: 0A12 > 0856
00D4: B142 > 3142
P2 gesperrt
00D4: 3142 > B142
P2 frei
00D4: B142 > 3142
P1 gesperrt
00D4: 3142 > 31C2
P1 frei
00D4: 31C2 > 3142
P3 X
00D6: 2111 > 2191
P3 frei
00D6: 2191 > 2111
P4 X
00D6: 2111 > A111
P4 frei
00D6: A111 > 2111
P6 X
00D8: 0011 > 0091
P6 frei
00D8: 0091 > 0011
P7 X
00D9: 0022 > 00A2Daten in Maschinenlesbarer Form:
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P2 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202B14200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P2 gesperrt‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P2 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E70428020231C200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P1 gesperrt‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P1 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222191000000110022140C00221A240000001E0020‘, ‚description‘: ‚P3 X‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P3 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E70428020231420022A111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P4 X‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P4 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000910022140C00221A240000001E0020‘, ‚description‘: ‚P6 X‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P6 frei‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E7042802023142002221110000001100A2140C00221A240000001E0020‘, ‚description‘: ‚P7 X‘, ‚Memory‘: ‚ROM‘}
{208: ‚085600E704280202314200222111000000110022140C00221A240000001E0020‘, ‚description‘: ‚P7 frei‘, ‚Memory‘: ‚ROM‘}
{160: ‚231967620000000000004628374B326E066C061124A15A05140605003C280F32‘, ‚description‘: ‚Wasser Port X‘, ‚Memory‘: ‚ROM‘}Ausgelesen werden immer 16 Wörter mit einmal. Das ‚Memory‘: ‚ROM‘ kann mal ignoriert werden. Ich dachte erst, dass ich auch irgendwie auch nocht den RAM auslesen könnte…
23. Juni 2015 um 6:55 Uhr #66453Anonym
InaktivDas geht mit RR: und Adresse…
23. Juni 2015 um 7:08 Uhr #66454Anonym
InaktivDas dachte ich mir ja eigentlich auch, bis ich das auf Arbeit ausprobiert hab… die Xs9 scheint das zumindest so (wie in der Excel Tabelle angegeben) nicht zu unterstützen…
23. Juni 2015 um 7:09 Uhr #66455Anonym
InaktivDie J5 schweigt sich bei RR: auch aus. Egal ob ohne, mit 2 stelliger oder 4 stelliger Adresse.
23. Juni 2015 um 7:11 Uhr #66456Anonym
InaktivDas ist nicht unmöglich, ich habe keine zum Testen.
Meine X9 und X7 können das. An meine S90 komme ich erst nächste Woche.
Eine zu Deiner im Grunde baugleichen S9 habe ich nicht. 🙁
Wie identifiziert sie sich denn bei TY: ? -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
