Doctor „Printer“ Who?

27 09 2015

Nachdem ich gerade die neuste Folge vom Doktor gesehen habe, muss ich sagen, Peter Capaldi gefällt mir immer mehr als Doktor. Gleichzeit überlege ich, ob im Keller noch irgendwo ein alter Nadeldrucker steht.
Wieso?

Deshalb:

 





Wunschzettel schreiben…

9 11 2014

Wer hätte es für möglich gehalten… Am 24. Dezember ist schon wieder Weihnachten. Da muss man wieder fleißig seinen Wunschzettel schreiben. Wer nun eher eine Handschrift Marke Oberarzt hat, sollte ein wenig über CNC nachdenken.
Maschinen können einem ja bekanntlich viel Arbeit abnehmen oder sie zumindest leichter machen.
So auch das Schreiben für Leute die sonst nur Sachen dahin schmieren. Aber seht selbst:

Viel Erfolg beim Nachbau 😉





Geschwindigkeitsbegrenzung für Hubschrauber

12 10 2014

Habt ihr euch schon mal gefragt, wie schnell so ein Hubschrauber fliegen kann oder warum man noch nicht von einem Überschallhubschrauber gehört hat?

Hier eine kleine Erklärung:





Who am I

5 10 2014

Es gibt einen neuen Hackerfilm. Einen deutschen Hackerfilm.

„OCH NÖ!“ – ich kann es schon hören, wie ihr meckert und sehe es vor mir, wie ihr die Augen verdreht. Mir ging es nicht anders, als ich den Trailer letztens gesehen habe. Heute war ich dann mal im Kino und hab geschaut, was der Film kann.
Ehrlich gesagt, ich war positiv überrascht. Klar, ein wenig klischeehaft ist er schon und auch das weltberühmte „Hackertool“ nmap kommt zum Einsatz. Doch die Geschichte ist interessant, hat ein paar Wendungen, die man nicht voraussieht und ist ziemlich kurzweilig. Selbst Leute, die von der Materie keine Ahnung haben, werden den Handlungen und den Abläufen folgen können.
Mehr kann ich euch leider nicht erzählen, ohne zu spoilern.
Darüber hinaus hat man einen wirklich passenden Soundtrack für den Film gefunden.

Hier noch einer der Trailer:





Fleischmasken.

21 01 2014

Für alles gibt es ja im Internet ein Angebot und auch für alles eine Nachfrage. Allein Regel 34 ist ein Beleg dafür.

Ein neuer Dienst im Netz zeigt die wahren Gefahren unseres heiligen Internets auf. Die Gefahren, vor denen uns die CDU/CSU immer warnt. Kriminelle Machenschaften!

Wir haben es schon alle in Hollywoodstreifen gesehen oder in schlechten Romanen gelesen: Der Mafia-Auftragskiller taucht unter und um nicht entdeckt zu werden, hat er eine neue Identität. Doch nicht nur die ist neu, sondern auch ein Gesicht. Die Mafia und ähnliche Vereine scheinen Heerscharen von Schönheitschirurgen zu haben, die den lieben langen Tag nichts anderes machen, als Gesichter zu modellieren. Auch in diese Berufszunft hat nun die Computertechnik Einzug gehalten. Gab es vor Jahren eine Software von Ray Ban, mit der man am Rechner virtuell Brillen anprobieren konnte, gibt es nun von einem Norweger eine Software um Gesichter anzuprobieren.

Wer kennt das Problem nicht? Man lässt sich die Visage neu gestalten, um nicht mehr erkannt zu werden und erlebt dann den Schock seines Lebens. Der Chirurg, leider nur des Italienischen mächtig, hat anstelle He-Man Helga Feddersen als Vorlage genommen obwohl man wahrscheinlich mit dem Gesicht von Karl Ranseier besser untertauchen könnte.
Nun kann man sich das neue Gesicht schon vorher virtuell überziehen, quasi wie eine Fleischmaske. Dafür benötigt man nur eine Webcam und einen aktuellen Browser der WebGL unterstützt (Chrome, Firefox, Safari auf dem Mac) und schon kann es los gehen. Mit einem Klick ist man da.

Zur Auswahl steht eine begrenzte Anzahl an Gesichtsüberzügen, wahrscheinlich ist das Repertoire eines Mafiagesichtsschnitzers nicht das Größte.
Man kann in die Haut von Chuck Norris, der Queen oder sogar Mona Lisa schlüpfen. 17 verschiedene Gesichter gibt es momentan zur Anprobe.

Ich selbst habe es getestet und mich mal in Sean Connery gezwängt und Walter White übergestreift. Hier seht ihr die Ergebnisse:

 

P.S. Wer den Blogbeitrag zu Ernst nimmt, wird mit dem ROFL-Copter abgeholt und mit mindestens 4 weiteren Jahren Angela Merkel bestraft.
Es ist interessant zu sehen, was heute alles mit ein wenig Javascript in einem Browser machbar ist. Es läuft nicht komplett flüssig und hat z.B. mit Bartträgern so seine Probleme aber es zeigt die Möglichkeiten sehr gut auf.





Reboot Buggy

19 01 2014

Ich bin begeistertet Modellbauer, eines meiner Modelle ist ein Short Course Truck. In das Modell sind schon ein paar Stunden des Tunings, Umbaus und der Verbesserung geflossen.

Joey Ruiter, ein Industriedesigner aus den Staaten, hat jetzt gezeigt, dass man mit dem passenden Kleingeld und seinen eigenen Mitarbeitern seinen Spaß nicht bloß mit Modellen haben muss.
Joey Ruiter hat sich seinen Truck einfach gleich in 1:1 gebaut und fährt damit durch die Gegend und spielt damit in sehr großen Sandkästen. 😉





LEGO Caterham Seven

11 08 2013

Hallo LEGO, bringt bitte solche Bausätze!

Die restlichen LEGO-Bauwerke von Sheepo, zu sehen auf seinem YouTube-Kanal, sind der Hammer!





Die Leipziger Blogcharts für Juni.

19 06 2013

Ein Monat ist vorbei und drüben bei der Heldenstadt gibt es wieder die Blogcharts.

Meinen vierten Platz konnte ich nicht halten – aber da war ich ja realistisch. Immerhin habe ich es noch einmal in die Top Ten geschafft.

Schaut euch doch selbst mal die Charts und den Rest der Heldenstadt an – ein Besuch lohnt sich!





Die Leipziger Blogcharts für Mai.

26 05 2013

Drüben bei der Heldenstadt wurden die Leipziger Blogcharts für Mai veröffentlicht. Es gab einige Änderungen der Platzierungen – es bleibt also jeden Monat spannend. Leipzig ist in Bewegung und zeigt eine erfrischende Dynamik.

Ich hab es auf Platz vier geschafft. Keine Ahnung, wie ich es gemacht hab – aber ein wenig stolz bin ich schon. Ich werde die Platzierung wahrscheinlich nicht halten können aber ich kann einfach in 50 Jahren meinen Enkeln mal erzählen, dass ich damals™ voll der angesagte Blogger in Leipzig war. Dann werden die Kleinen die Augen verdrehen und „och Opa!“ stöhnen. 😉





Der @ChaosPrinter.

18 04 2013

Wer mir auf Twitter folgt, hat es eventuell schon mit bekommen. Ich habe mal wieder etwas gebastelt. Den @chaosprinter.
Was verbirgt sich dahinter? Ein Thermodrucker, den meisten als Kassenbondrucker bekannt, angeschlossen an einen Raspberry Pi, zur Ausgabe von allem was mir so in den Sinn kommt. Wenn ihr eine Mention an @chaosprinter schreibt, wird sie automatisch ausgedruckt. Ihr könnt es gerne ausprobieren.

tl;dr

Wie kam ich auf die Idee?
Als Knirps war ich in den Ferien hin und wieder mit meinem Paps unterwegs bei ihm auf der Arbeit. Er hat Rohrpost- und Schienenförderanlagen gebaut und gewartet. Die Zentralen dieser Anlagen hatten einen „Fehlerspeicher“ – nicht wie heute in ein paar Speicherchips sondern auf Papier. Speicher war damals viel zu teuer und so hat man einen Thermodrucker eingebaut. Allerdings auch nur eine Sparversion. Das Papier wurde auf einen Metallwinkel gefädelt, vor die Thermozeile gespannt und von einen kleinen Motor wurde das Papier befördert. So konnte man auch nach Wochen noch sehen, wann mal ein Fehler passierte – natürlich nur, wenn Papier eingelegt war.
Solch eine Druckereinheit hatte ich in meinem Bastelfundus – allerdings ist alles in Epoxid vergossen, da kommt man also nicht dran. 

Ein wenig in der Bucht suchen und einige verlorene Auktionen später hab ich dann den Chaosprinter erstanden. Es ist ein Star TSP700 der ersten Generation, mit serieller Schnittstelle. Das Netzteil hat etwas mehr Leistung, schließlich brauch der Drucker bei 24 Volt Spannung knappe 2 Ampere unter Volllast.
Der Drucker hat zwei grundlegende Betriebsarten: „ESC/POS“ und „STAR Line“.

ESC/POS ist ein Standard von Epson, dieser vereinheitlicht die Kommunikation mit POS (Point of Sale) Druckern. Für diesen Modus gibt es auch schon fertige Bibliotheken die man nutzen kann. Doch leider ist der Funktionsumfang im ESC/POS Modus stark eingeschränkt, der Drucker ist nicht mehr der Neuste und unterstützt nur einige Grundfunktionen des Standards.
Der STAR Line genannte Modus ist ein proprietärer Modus von Star, den auch nur 2 Drucker unterstützen. Dafür ist er aber sehr gut dokumentiert und sehr einfach umzusetzen.

Angeschlossen habe ich den Drucker mit einem seriell-USB-Wandler, da der interne serielle Anschluss meines Raspberry Pi bereits mit einem RFID-Reader belegt ist. Die Kommunikation übernimmt eine kleine selbst geschriebene Python-Klasse mit aktuell nicht einmal 200 Zeilen.
Wer sich schon einmal mit den ASCII-Zeichen kleiner 32 befasst hat, dem fällt die Kommunikation mit dem Drucker leicht. Nahezu alle Befehle werden mit „Escape“, ASCII-Zeichen 27 / 0x1B, eingeleitet.
Wenn numerische Parameter, wie z.B. Seitenränder, gesetzt werden müssen, so kann hier die Zahl als Byte-Wert oder als ASCII-Zeichen gesendet werden. Also beispielsweise eine 1 oder „1“ (ASCII 49 / 0x31). Ich nutze in meinem Skript immer den Bytewert, dies funktioniert zuverlässiger als das entsprechende Zeichen.

Es ist auch möglich Grafiken zu drucken. Dazu gibt es zwei Auflösungen, „normal“ und „fine“. Bei normal besteht ein gedruckter Punkt aus 3 Pixeln horizontal und 3 Pixeln vertikal. Fine hingegen erzeugt aus einem zu druckenden Punkt einen Pixel horizontal und drei Pixel vertikal.
Druckbar im Grafikmodus sind maximal 8 Punkte in der Höhe, und 192 Punkte (normal) bzw. 576 Punkte (fine) in der Breite.
Nun besteht ein Bild ja im Normalfall aus mehr als nur 8 Punkten in der Höhe. Gelöst habe ich dies in Python. Die Grafik wird eingelesen, die Farbtiefe herunter gesetzt, so dass nur noch Schwarz-Weiß übrig ist, Grautöne gibt es keine.
Der nächste Schritt skaliert die Bilder, sollten sie zu breit sein, auf die passende Größe.
Im Anschluss wird das Bild abschnittsweise gelesen, immer acht Pixelzeilen auf einmal und auf dem Drucker ausgegeben. Einen ganzen Zeilenvorschub zwischen den Abschnitten kann ich nicht ausführen, sonst würde es Lücken zwischen den gedruckten Abschnitten geben und somit keine zusammenhängende Grafik zustande kommen.
In der Dokumentation finden sich aber auch Befehle, wie das Papier nur einen Bruchteil einer Zeile bewegt werden kann. Somit lassen sich auch größere Grafiken drucken.

Der Drucker unterstützt von Haus aus verschiedene eindimensionale Barcodes. Man sendet nur die Daten und der Barcode wird automatisch erzeugt. QR-Codes kann der Chaosprinter aber auch darstellen, dafür erzeuge ich über eine Python-Bibliothek dynamisch eine Grafik, die sofort im Anschluss gedruckt wird. Dies funktioniert zuverlässig.

Texte gibt man einfacher und schneller im Textmodus aus, allerdings muss man dort mit beschränkten Formatierungsmöglichkeiten auskommen.
Es stehen sechs Schriftgrößen zur Verfügung. Ein Text kann fett, unterstrichen oder invertiert, also schwarzer Hintergrund mit weißer Schrift, ausgegeben werden. Linksbündig, Rechtsbündig und Zentriert sind kein Problem, Blocksatz kann nicht genutzt werden. Man kann den Text auch auf den Kopf stellen sowie von oben nach unten ausgeben. Einen automatischen Zeilenumbruch gibt es nicht. Ist der zu druckende Text länger als die Zeile, wird der Text auf der nächsten Zeile fort gesetzt. Wörter werden hierbei noch am Ende der Zeile begonnen und dann am Anfang der nächsten Zeile vervollständigt.
Solltet ihr in unterschiedlichen Sprachen drucken wollen, auch dies ist kein Problem, der Drucker bringt einige Codepages mit, die aktiviert werden können. Natürlich müsst ihr euch selbst darum kümmern, dass das Encoding eures Textes beim Senden korrekt ist.

Damit man das Papier nicht abreißen muss, gibt es noch einen eingebauten Schneidemechanismus. Dieser schneidet auf Befehl das Papier komplett durch oder lässt in der Mitte einen Steg stehen.

Weitere Funktionen des Druckers, die ich bisher noch nicht genutzt habe, sind die Möglichkeit, ein Logo im Drucker zu hinterlegen und die Benutzung des „Cashdrawer“ Anschlusses.
Die Logofunktion erlaubt es einem eine kleine Grafik im internen Speicher des Druckers zu hinterlegen und später direkt von dort drucken zu lassen. Somit spart man sich die immer wiederkehrende Übertragung dieses Logos.
Der Cashdrawer-Anschluss dient dazu, eine Kassenschublade zu öffnen. Dabei wird ein kurzer Impuls auf Anschluss am Drucker, der als Westernbuchse ausgelegt wurde, gegeben. Diesen Anschluss werde ich bei Gelegenheit mit einem Relais versehen um darüber Lasten schalten zu können.

Im nächsten Teil verrate ich euch dann, wie ich die Anbindung an Twitter gelöst habe.