Was ist das überhaupt?
Der HP7475 ist ein X-Y-Plotter aus den 1980ern, mit dem A4- und A3-Papier bedruckt werden können. Von diesem Drucker gab es 2 Modelle, eins mit der parallelen IEEE-488 (GPIB)-Schnittstelle und eins mit der seriellen RS232-Schnittstelle. Beide Schnittstellen sind in modernen Computer nicht mehr bzw. nur noch in Sonderfällen anzutreffen, weswegen der Plotter nur Umständlich über Adapterkabeln mit einem Computer verbunden werden kann. Außerdem gibt es nur wenige Programme, die den Plotter dann ansteuern können, und diese benötigen die Grafiken meist in archaischen Datenformaten. Daraus, und aus der Vorarbeit die bereits für den Etikettendrucker geleistet worden ist enstand die Idee, auch den Plotter über eine Web-UI ansteuern zu können, in der man die Dateien in Gängigen Formaten hochladen kann.
Was wurde gemacht?
Auf der Rückseite des Plotters wurde ein RasPi 2 befestigt, der über ein in Plotter eingebautes Netzteil versorgt wird. Die Kommunikation mit dem Plotter läuft über ein generischen USB<->UART-Wandler, dieser wurde intern direkt an die UART-Schnittstelle angeschlossen - Quasi hinter dem RS232<->UART-Wandler. Auf dem Pi läuft eine selbst entwickeltes, in Python geschriebenes Programm, das die Website bereitstellt und die zugehörige API bedient. Außerdem wandelt das Programm die hochgeladenen SVG-Dateien in das vom Plottertreiber erwartete HPGL-Format und bedient diesen Plottertreiber um die Datei zu Papier zu bringen. Zum Plotten braucht der Plotter also nur eingeschaltet und der Pi via Ethernet mit einem Netzwerk verbunden werden.
Zusätzlich sind die originalen Stifte (die in den letzten 30 Jahren ordentlich ausgetrocknet sind...) mit einem 3D-Gedruckten Adapter durch einfach erhältliche Stabilo-Stifte ersetzt worden. Dadurch ist es zum einen deutlich einfacher Ersatz-Stifte zu organisieren, allerdings ermöglicht dies auch eine deutlich größere Farb- und Stiftdickenauswahl.
Sourcen: https://github.com/schlarmann/python-hp7475a-driver