Hallo zusammen, kurz zu mir: Ich bin ziemlicher Anfänger was µController angeht. Bin eher in der SPS-Welt zuhause. Bin aber durchaus gewillt zu lernen. Ich hab nun folgende Aufgabe vor mir: Mittels des NET-IO-Boards von Pollin möchte ich von einer RS232 Schnittstelle Daten einlesen. Die Daten sollen so zeilenweise eingelesen und gespeichert werden (evtl. CSV-Datei auf SD-Karte). Wenn ich nun einen externen Trigger bringe (Eingang vom NET-IO) soll das ganze an einen Drucker geschickt und ausgedruckt werden. Als Anschlüsse am Drucker stehen mir USB und Ethernet zur Verfügung. Dies sind nur mal so die groben Anforderungen. Kleiner Spielereien bzw. Zeitstempel der emfpangenen Daten etc. kann man ja später ergänzen. Hat jemand eine Idee wie ich das am einfachsten löse bzw. wie ich an die ganze Sache ran gehe? Für eure Hilfe schon mal herzlichen Dank! Gruß KoKo
> Als Anschlüsse am > Drucker stehen mir USB und Ethernet zur Verfügung > Hat jemand eine Idee wie ich das am einfachsten löse bzw. > wie ich an die ganze Sache ran gehe? USB vergisst du gleich mal wieder. Und ansonsten: Der Typ des Druckers ist wichtig. Du brauchst einen, den du noch mit ganz normalen ASCII Zeichen füttern kannst. Die findest du in den Mediamärkten nur noch selten im Ramschregal, wenn überhaupt. Die heutigen Drucker wollen im Grunde eine Bitmap haben (also ein Bild), in dem ihnen der Rechner bereits alles aufbereitet hat. Einfach einen Text an den Drucker schicken und der druckt das dann, das war gestern. Postscript-Drucker würden noch gehen. Aber aufpassen: Der Drucker selber muss Postscript können, nicht der Treiber. Wenn der Windows/Linux Treiber Postscript entgegennimmt und daraus dann erst recht wieder ein Bild fabriziert, welches er zum Drucker schickt, dann hilft dir dieser Drucker wieder nichts.
Jenachdem, wie komplex das Drucker Protokoll ist, wird das böse. Ich würde dir erstmal zu Ethersex raten, da kann man sehr gut eigene Funktionen einbauen- das Logdaten auf SD speichern sollte es aber sogar schon geben würde ich vom Bauch her sagen. Und dann zum basteln einen Atmega 1284p in das Board setzten (gibt nichts schlimmeres als nicht genügend Platz zu haben)
Du könntest auch nen ollen Nadeldrucker (Epson LQ serie z.B. nehmen). Die können Plain text. Gibt auch viele ältere S/W Kaser die das können (Kyocera 1030D z.B.) Gruß, Martin
Muss es unbedingt ein vollwertiger Drucker sein, oder reicht ein einfacher Bondrucker, wie an der Supermarktkasse? Die Teile werden nämlich über RS232 angeschlossen und sind relativ leicht anzusteuern. Da könnte man sogar ein weiteres Net-IO als Printserver misbrauchen.
Hallo, das Problem ist folgendes... bisher ist dort ein einfacher dummer Nadeldrucker angeschlossen welcher sobald auf der RS232 Schnittstelle etwas an kommt diese Zeile sofort auf Endlospapier druckt. Der soll aber ersetzt werden durch so einen Laserdrucker (Kopierer, Fax, etc.). Dieser hat eben USB und Ethernet. Nach der Type schau ich mal genau. Weiter war es meine Idee wenn ich die Daten ohnehin schon speichern und aufbereiten muß dann doch gleich so, dass sie für eine Auswertung auch als CSV auf einer Speicherkarte bspw. bereit stehen. Gruß KoKo
Die einfachere der Kombinationen wird die von Ethernet und Postscript sein, aber trotzdem nicht simpel. a) Laserdrucker sind Seitendrucker, d.h. du musst genügend Daten vorher sammeln, bis eine Seite voll ist und dann den entsprechenden PS-Code erzeugen. PS ist offen dokumentiert, wenn man sich einen Tag damit befasst, kann man zumindest Textseiten ausgeben b) wenn mal einer vorbeikommt und die bisher angefallenen Daten sehen will, ohne darauf zu warten, bis die nächste Seite voll wird, muss er den Druckvorgang auch per Taste auslösen können. Evtl. sollte der MC noch eine Anzeige haben, wie viele Zeilen derzeit noch in der Pipeline stecken und darauf warten, die nächste volle Seite zu ergeben ... c) Ethernet ist das Medium, darauf muss aber noch ein Print-Protokoll abgebildet werden (IPP, LPR, RAW) ... was nicht ganz simpel ist. Einfach so einen IP-Connect machen und die Daten ins Socket schreiben is' nich'. d) VOR den eigentlichen Postscript-Code muss noch eine Drucker-Spezifische Initialisierungs-Sequenz anhand derer der Drucker z.B. zwischen PCL und PostScript umschaltet. Die musst du erstmal herausfinden, z.B. indem du eine Druckdatei erzeugst und mit dem Hex-Editor untersuchst e) Viel einfacher wäre es, dem MC nur zum Daten sammeln zu benutzen und die in Intervallen einer Anwendung zu senden, die z.B. auf einem ohnehin ständig laufenden Server lauert und diese dann den Ausdruck machen zu lassen ...
KoKo schrieb: > das Problem ist folgendes... bisher ist dort ein einfacher dummer > Nadeldrucker angeschlossen welcher sobald auf der RS232 Schnittstelle > etwas an kommt diese Zeile sofort auf Endlospapier druckt. Der soll aber > ersetzt werden durch so einen Laserdrucker (Kopierer, Fax, etc.). Wenn Du jetzt auch noch den exakten Typ des Druckers nennen würdest, könnte man Dir vielleicht sogar helfen. fchk
KoKo schrieb: > das Problem ist folgendes... bisher ist dort ein einfacher dummer > Nadeldrucker angeschlossen welcher sobald auf der RS232 Schnittstelle > etwas an kommt diese Zeile sofort auf Endlospapier druckt. Wenn der mechanisch noch in Schuss ist und es auch in absehbarer Zeit noch Farbbänder dafür gibt, würde ich den auf keinen Fall hergeben :-) Schon alleine deswegen, weil es für heutige moderne Drucker nahezu an Unmöglichkeit grenzt, für diese Drucker eine Doku der Ansteuerung zu bekommen :-) Mit den ollen Nadeldruckern hat man einfach mal den Epson-Standard ausprobiert und bei 8 von 10 Druckern ist man damit zum Ziel gekommen.
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.