Pubblicato il

Mini Thermal Printer Raspberry Pi Come Stampante Termica

Premessa:

Con questa guida vedremo come collegare una stampante termica, genericamente chiamata Thermal Printer, con la Raspberry Pi. Può essere impiegata per molti utilizzi come ad esempio la realizzazione di un registro di cassa o anche semplicemente per stampare immagini, codici a barre di varie tipologie grazie alla libreria che troverete in questo articolo o addirittura collegarla in rete e realizzare un stampante termica di rete, per i vostri mille usi.

LISTA DEI MATERIALI:

Ci limiteremo però in questa guida, a consolidare i concetti base per la realizzazione e la stampa di un piccolo messaggio con questa fantastica stampante.

Software:

Avremo bisogno di installare il sistema operativo per la Raspberry Pi. Per i neofiti alle prime armi qui trovate la guida su come installare la Distro prima di cominciare il progetto.

Una volta scaricato e installato la distro la prima cosa che dovrete fare è il solito aggiornamento più recente:

sudo apt-get update

Successivamente andremo a installare da shell le librerie fondametali per dare vita al progetto:

sudo apt-get install python-serial python-imaging python-unidecode

NOTA BENE: il successivo step che stiamo per mostrare permetterà di “liberare” la porta seriale per far comunicare la Raspberry Pi con la stampante termica, causando però, la perdità della funzionalità di cavo console sulla raspberry, e quindi sarà possibile accedervi esclusivamente tramite SSH o Tramite la funzionalità Desktop tramite una tastiera e un mouse.

sudo nano /boot/cmdline.txt

Aperto il file cmdline.txt quello che dovremo fare è trovare questa riga:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

e sostituirla con:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

e poi:

sudo nano /etc/inittab

e cancellare la seguente riga salvare il file e chiuderlo questa istruzione porterà alla perdita dell’utilizzo del cavo TTL console.

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Una volta fatto cio non ci resta che scaricare il github del firmware che si occuperà dell’installazione del librerie necessarie per interpretare i file inviati in seriale sulla stampante.

Quindi installiamo prima git:

sudo apt-get install git

e poi scaricheremo il firmware:

git clone https://github.com/adafruit/Python-Thermal-Printer

Abbiamo installato tutto il software necessario ora non ci resta che vedere i collegamenti e un esempio per stampare.

Componenti Hardware:

Il cablaggio è molto semplice. Per prima cosa iniziamo con il vedere l’alimentazione della Thermal Printer. La sua tensione di lavoro oscilla dai 5v ai 9v quindi sarebbe possibile alimentarla direttamente con la tensione della raspberry pi, ma con una corrente irrisoria che può mettere a disposizione, potrebbe far funzionare la stampante molto lentamente e soprattutto non incidere bene sulla qualità della stampa.

Quindi il nostro consiglio e di munirsi di un alimentatore DC dai 5v ai 9v di 2A per alimentare la stampante.

Vediamo lo schema per il cablaggio:

RaspberryPinConnectionThermal

Come possiamo vedere il sotto della stampante ha due connettori JST quello di sinistra che permette di collegarci l’alimentazione e quello di destra di gestire il seriale. In questa guida ci soffermiamo all’utilizzo del pin giallo della seriale che permette di ricevere i dati dalla raspberry pi e mandarli alla stampante. Così facendo avremo il nostro scontrino!!

raspberryPinOutThermalPrinterjpg

Qui trovate la piedinatura della raspberry e come connettere il cavo giallo in dotazione nel kit della Thermal Printer. PinOut Cavo Giallo: connettere al TX della Raspberry in ordine di pin corrisponde partendo dal primo al Pin 8.

Esempio Pratico Stampa Scontrino:

Dirigiamoci in una shell e spostiamoci nella cartella:

cd Python-Thermal-Printer

Poi scriviamo:

sudo nano provastampante.py

e incolliamo il codice sotto riportato:

from Adafruit_Thermal import *
printer = Adafruit_Thermal("/dev/ttyAMA0", 19200, timeout=5)
printer.println('Critics')
printer.println('Corporation')
printer.println('Learn')

Ora non ci resta, sempre sotto la cartella Printer-Thermal-Printer di eseguire il file .py appena creato:

sudo python provastampante.py

Buon progetto Critics Corporation.