Ich habe vor einziger Zeit 6 dieser "RISC-HMI"s günstig auf Ebay gefunden (10 EUR das Stück). Laut Verkäufer aus Restbeständen einer aufgelösten Firma. Ich habe sie als Bastelgräte gekauft um ein wenig damit zu experimentieren, das OS (Windows CE net 4.2) eventuell durch eigenen Code zu ersetzen oder (wenn überhaupt möglich) upzudaten oder linux drauf zu installieren. Sie kamen in gutem Zustand an und sogar mit einem stabilen lackierten Stahl-Gehäuse und Netzteil. Ein Programm des ursprünglichen Besitzers scheint auch noch installiert zu sein, reagiert aber auf keine Eingeben da es wohl eine Verbindung zu irgend etwas aufbauen will. Ich habe versucht etwas über diese HMIs herauszufinden (Datenblatt, Bedienungsanleitung, Schaltpläne etc) aber habe nur diese Webseite des (Vermute mal Herstellers ?) gefunden: https://www.animalsystems.co.uk/products/panel-pcs-hmi/item/127-aplex-ahm-6051-5-7-risc-based-human-machine-interface Nur grundlegende Informationen die ich auch so schon hatte. Ich hab jetzt alles mögliche versucht um zugriff auf das Betriebssystem oder das Dateisystem zu bekommen, aber über keine der Schnittstellen kam irgend eine Antwort, noch eine erkennbare Reaktion des HMIs. Ich hab es bisher über folgende Schnittstellen/Wege versucht: - USB (Host/Client) - RS232 (Linke Buchse, die Rechte scheint nicht mal mit allen Bauteilen bestückt zu sein) - Netzwerk/Ethernet (Gerät wird von meinem Router erkannt, bekommt aber aus irgend einem Grund keine IP zugeteilt und wird als "nicht Internetfähig" ausgewiesen) - Debug-Port direkt auf der Leiterplatte (Konnte GND 3,3V und einen Daten Ausgang und Eingang identifizieren, mehr dazu weiter unten) Das einzige was etwas Erfolg gebracht hat war die USB-Host Port (die USB Buchse), sie erkennt USB-Sticks und so kann ich Dateien auf das HMI spielen, ausführbare Programme konnte ich leider nicht starten, das Betriebssystem scheint entweder so veraltet zu sein das selbst die älteste VisualStudio Version die ich habe es nicht unterstützt, oder es fehlen grundlegende Dateien des Betriebssystems. Ich bekomme wenn ich eine .exe Starten will immer nur kryptische Fehlermeldungen die mir nichts sagen (Irgend welche Meldungen wie "Critical error: 0x0023FA3" oder in der art, nichts lesbares). Ich konnte Anwendung mit dem Namen "Command Promt" finden, die eine MS-DOS Konsole öffnet. Mit einer USB Tastatur kann ich Befehle eingeben. Ich hab das heute erst bemerkt, wo ich mir die Dinger seit einigen Wochen das erste mal wieder angeschaut habe. Ich hab noch nie mit eine so alten Konsole (Oder Windows installation) gearbeitet, daher wird es wohl dauern bis ich weis ob ich damit irgend etwas erreichen kann. Zu der Debug-Schnittstelle die ich gefunden habe, das fand ich besonders Merkwürdig. Auf der Rückseite der Platine (so das man es nur im vollständig Zerlegten Zustand erreichen kann, ich frage mich wer auf die Idee kam das dort zu platzieren ...) befindet sich ein 4-Pin-Header. Ich konnte die Pins GND 3.3V DATA_IN DATA_OUT identifizieren. Allerdings weis ich weder um was für eine Schnittstelle es sich handelt (UART, JTAG, I2C etc) noch ob diese überhaupt mit dem Prozessor oder eventuell direkt mit dem Flash verbunden ist. Als ich versucht hab mich mit UART zu verbinden und alle möglichen gängigen Boud-Raten durchprobiert habe, bekam ich nur Zeichenmüll während des Hochfahrens, danach nichts mehr. Als ich nochmal mit dem Oszilloskop dran gegangen bin (Ka warum ich da nicht gleich drauf gekommen bin ...) hab ich festgestellt das da überhaupt keine Daten raus kommen. DATA_IN wird auf 3.3V hoch gezogen. DATA_OUT dagegen gibt rauschen aus, eine sinnloses Zick-Zack auf dem Oszilloskop, mit Spannungsspitzen von allem zwischen +/-0,5 bis +/-12V und eine art Grundrauschen von ~7 kHz bei einer Amplitude von etwa 400 mV (sehr inkonsistente Frequenz, sieht aus wie das was ich ein einem Verstärker mit Floating-Input erwarten würde, die Amplitude dagegen ist recht konstant). Kein wunder das ich da nur Müll empfangen habe. Das seltsame ist das das nur während des Hochfahrens ist, sobald der Desktop erscheint verschwinden die zufälligen Impulse und nur das Grundrauschen bleibt. Das einzige was ich noch rausfinden konnte ist, das auf DATA_OUT offenbar versucht wird Daten zu senden. Manchmal erkenne ich etwa 3-5 byte lange Daten-Sätze die ausschließlich im positiven Bereich des Signals (+1 - +3V) liegen, allerdings bis zur Unkenntlichkeit verrauscht sind. Ich erkenne erst eine Spannungsspitze bei ~10V dann etwas was wie eine Reihe von 1en aussieht (dauerhafter Pegel) und dann eine Abfolge von 1 und 0 Pegeln. Ich konnte es auf ~5 Bytes schätzen, es ist einfach zu verrauscht. Ich hab auch noch die UART Ausgänge von anderen Geräten an den selben Versuchsaufbau angeschlossen um einen Fehler in meinen Messungen auszuschließen, und alles hat einwandfrei funktioniert, mit gleichen Einstellungen. Hat eventuell jemand eine Idee wie ich irgendwie Zugriff auf das Dateisystem oder den Speicher bekommen könnte um ein eigenen Code drauf zu spielen ? Oder alternativ zumindest einen anderen Kommunikationsweg als über eine USB Tastatur und die Command-Promt, mit der ich mich aktuell beschäftige. Ich konnte leider keine weiteren Information zu den Teilen finden, ich hab überlegt später mal den Hersteller anzuschreiben. Interessant ist übrigens auch die Hardware an einigen stellen. Nicht alles sieht so professionell aus wie ich es sonst von solchen Sachen gewohnt bin. Der Stecker mit dem grün/schwarzen Kabel für die Power-Leuchte (die übrigens nichts bei allen Geräten zu Funktionieren scheint ist z.B: auf einen dafür völlig ungeeigneten Header gequetscht worden, do das auch einige Pins leicht verbogen sind. Die Batterie-Halterung enthält 1. keine Batterie und ist 2. zumindest bei dem einen Gerät das ich geöffnet habe nicht mal mit irgend was Verbunden (Bauteile Fehlen, waren wohl nie aufgelötete, saubere Löt-Pads). Das ganze kommt mir sehr komisch vor, aber ich hab noch so viel Erfahrung damit, ich mach das aktuell nur als Hoby. Für jede Hilfe wäre ich dankbar.
Mit der Command-Promt war ich jetzt in der Lage das gesamte Dateisystem auf einen USB-Stick zu kopieren, allerdings ist da nicht viel drin. Die einzigen ausführbaren Programme (neben dem Anwender-Spezifischen das man auf einem der vorherigen Bilder sieht) sind die Dateien 3 auf dem Bild. Zusätzlich gibt es noch einen C-Header der aber nur diverse #define XY 1 Zeilen enthält.
> 10 EUR das Stück 60 EUR - Viel Geld fuer einen Haufen Schrott. > Ich bekomme wenn ich eine .exe Starten will immer nur kryptische > Fehlermeldungen Kein Wunder. Das Ding erwartet ARM-Code. Steht auf der Samsung CPU ja auch drauf :). (Oder zumindest NET-Code. Da muss dann NET2.0 installiert sein.) Um fuer die Dinger etwas zu entwickeln, brauchst die genau passende Umgebung fuer WinCE von MS. Und einen Rechner mit einem uralten Betriebssystem, um die und "ActiveSync" zu installieren. Und zum bauen eines kompletten Systems wohl eine WindowsCE- Buildumgebung. Hast du das alles nicht, solltest du dem schlechten Geld nicht noch gutes Geld hinterwerfen... Ich habe hier alte Navis. Die gab es wenigstens umsonst :).
Was hast du vor? Wenn du die Dinger sinnvoll einsetzen willst, solltest du dir das DB der CPU besorgen und schon mal gucken, obs eine (linux) Toolchain für diese Architektur gibt. Dann hast du viel Spass mit dem Reengineering der Schaltung. U.A. musst du ziemlich genau rausfinden, wie das LCD angetrieben wird und welche Ports der CPU für welche Zwecke benutzt werden. Dabei kann so eine RS232 schon mal als erste Verbindung zur Aussenwelt dienen. Wenn du mit Cross Toolchains und Busybox usw. noch nie was gemacht hast, stehen dir ein paar schöne Wochen bevor.
:
Bearbeitet durch User
Wenn Du nach "Samsung s3c2410al" findest Du ein komplettes Datenblatt des SOC. Dann kannst du mit Experimentieren anfangen. Es handelt sich um einen steinalten SOC mit ARM920T Core. Das ist noch armv4 Architektur, wenn es wenigstens armv5 wäre. Viel Wärme, wenig Leistung. Ein beliebiger Cortex-M4 mit 150MHz steckt das Ding in die Tasche.
Ich weis das die Dinger alt sind. Aber der Touch-Screen und das Gehäuse ist noch zu gebrauchen, ich hab schon überlegt falls gar nix klappt einen Raspberry pi oder nen STM32 einzubauen. Der LCD ist gut dokumentiert. Und zum Reengineering der Schaltung: Ich beschäftige mich als Hobby mit solchen Sachen, einer der Gründe warum ich die Dinger gekauft habe, aber ich glaub so viel ist da gar nicht nötig. Ich hab mir die Schaltung und den SOC schon angeschaut, Display, RS232, Ethernet und USB gehen direkt ohne Umwege auf die dafür vorgesehenen integrierten Treiber des Prozessors. Bedeutet, wenn ich die Tool-chain und Entwicklungsumgebung für den Prozessor hab, sollte es kein Problem sein eine Anwendung für das Teil zu schreiben (nach Dokumentation im Datenblatt). Und das ich die richtige Umgebung zum entwickeln für WinCE brauche ist mir auch klar. Es ist jetzt schon einige Zeit her wo ich das versucht hab, aber ich hab mir dafür alles zusammen gesucht, ARM Compiler, .NET 2.0 etc. Aber das Teil will trotzdem nicht. Es hat meine Anwendung akzeptiert (habs daran erkannt das er das Fenster angezeigt hat) aber dann nur besagte kryptische Fehlermeldungen ausgeworfen. Das beste was ich hatte war für ~3 Sekunden ein kleines Fenster mit einem Button und der Aufschrift "TEST", dann ist es wegen irgend einer fehlenden DLL gecrasht. Da ich bisher wenig Erfolg hatte über die vorhandenen Ports rein zu kommen, versuche ich gerade rauszufinden ob der Prozessor einen Programming-Port oder ähnliches hat der leicht zugänglich ist, und ob ich eventuell direkt den NAND-Flash beschreiben/auslesen kann.
:
Bearbeitet durch User
Oh, ich hab übrigens rausgefunden warum ich an dem 4-Pin-Header keine Daten bekommen hab, zumindest weis ich was es für ein Port ist. Es ist echt schwer zu erkennen aber mit einer Lupe konnte ich erkennen das unter einer mit Schrift bedruckten Stelle 2 Leiterbahnen verlaufen die man so nicht sehen kann. Er ist direkt mit dem Port für den Touch-Sensor des Bildschirms verbunden. Ich weis zwar trotzdem nicht wie dieses rauschen sinnvolle Daten übertragen soll, aber damit dürfte dieser zumindest schonmal als mögliche Schnittstelle wegfallen. Gerade beschäftige ich mich daher mit dem Prozessor und dem NAND Flash. Letzteren könnte ich denke ich problemlos auslesen und Beschreiben.
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.