[blog] Telegram Thermal Printer für die Oma

  • Noch sind wir nicht die "Alten", denen man die neue Hardware erklären muss.
    Aber fast jeder von uns hat jemanden im Umfeld, dem er gerne ein Smartphone geben würde, damit dieser zumindest mal ein Foto sehen kann.

    Doch was macht man da, wenn ein Smartphone "mir nicht ins Haus kommt"?

    Man baut einen Thermal-Printer um einen Raspberry Zero und befeuert den mit einem Telegram-Bot:

    Jede Rolle Thermopapier reicht für etwa 150 Ausdrucke. Und frei von Tinte.

    Ein Raspberry Pi Zero 2W gepaart mit einem HAT.
    Die Fotos werden mit einem von [palmerabollo] erstellten Python-Code über Telegram verschickt.
    Das System verwendet die Python-Bibliothek "thermalprinter", in die der Floyd-Steinberg-Dithering-Algorithmus integriert ist,
    der selbst auf einem einfachen Thermodrucker eine gute Qualität ermöglicht.

    Videos dazu auf Twitter:
    -> https://twitter.com/palmerabollo/status/1480599722897326080

    GitHub:
    -> ludivine

  • Floyd Steinberg ist gar nicht so gut. Wird ja immer so gesagt, weil angeblich beste Aufloesung von Dithering Algorithmen, aber macht halt diese diagonalen, nervigen Wurmstruktruieren, sieht man auch bei Deinen Fotos. Hab leider die Namen von den besseren Algos vergessen, die auch fuer niedrigere Aufloesungen sind, ist aber nicht so schwierig. Im Notfall einfach ghostscript zum Rendern nehmen, der hat die alle drin. Ist ja nicht so wie bei armen 8..16 Bit CPU Arduinos wo alles handgepfrimelt optimiert sein muss.

    Ansonsten ist die Idee genial. Haette ja gesagt man nimmt so einen kleinen instant-Farbdrucker, die sind ja nicht teurer (Xiaomi oder so), aber so Rollendruck ist halt schoen flexibel auch fuer andere Drucke als nur Photos. Textnachrichten, terminerinnerungen etc.

  • Hehe, ich hab damit seit 30 Jahren nicht mehr rumgespielt, damals gab es vor allem CRT, und so schmierig wie die Pixel da waren, hat das natuerlich noch besser funktioniert, bloss bei den niedrig aufloesenden Druckern halt nicht.

    https://en.wikipedia.org/wiki/Dither

    Huebsch das da immer noch neue Algos gebastelt werden. Das Gradient-based Dithering von 2016 sieht schon mal huebscher aus. Sowas aehnliches haben wir seinerzeit glaube ich auch gemacht.

    Wichtig ist eigentlich erstmal, das man eine Grauwertmappingtabelle anlegt und dann fuer den Drucker und den Ditheringalgorithmus einmisst. Jeder Typ Drucker ueberdruckt ja seine Pixel unterschiedlich. Wenn man das macht, dann schneiden auch viele der aelteren Ditheringalternativen besser ab.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!