![]() |
Thermal Printer POS (EPPOS) |
![]() |
Thermal Printer POS dengan antarmuka Ethernet/LAN |
Memang cukup banyak sekali tutorial yang disediakan agar sistem operasi Linux dapat terhubung ke printer melalui jaringan Ethernet. Akan tetapi hampir semua tutorial itu menggunakan salah satu PC sebagai printer server, dan printer terhubung ke PC server melalui koneksi USB. Hal ini tentu saja sedikit berbeda dengan sistem yang ingin saya kembangkan. Berikut ini ilustrasi alur yang ingin saya kembangkan.
Thermal Printer POS ke PC melaui LAN |
Thermal Printer POS ke PC melalui Router |
Karena OpenWRT yang saya gunakan tidak menyediakan netcat pada awal install, maka saya coba untuk install terlebih dahulu.
opkg install netcat
Kemudian saya coba kirimkan data ke printer (IP Printer 192.168.1.87 dan port standar 9100).
echo "Rattonics" | nc 192.168.1.87 9100
Wow..printer langsung merespon dengan mencetak kalimat Rattonics.
![]() |
Hasil cetak Thermal Printer dari OpenWRT dengan mengguankan netcat |
Kemudian muncul kendala lainya, kalau ingin mengiriman perintah untuk mencetak barcode, atur font, dll, pasti akan susah kalau hanya pakai perintah "echo". Setelah mencari beberapa jam dengan mengubah kata kunci beberapa kali, akhirnya saya temukan sebuah blog yang memberikan pencerahan dari masalah ini.
http://mike.bitrevision.com/blog/2014-10-26-setting-up-an-epson-receipt-printer
Pada tutorial ini memang dia menggunakan printer Epson TM-T28II, sedangkan saya menggunakan EPPOS EP 80 USL. Berbeda memang, akan tetapi kedua printer ini sama-sama mendukung perintah ESC/POS. Oleh karena itu, saya mencoba untuk langsung mencoba dengan menggunakan kode program yang dia berikan.
Wow...Magic....ternyata o'on juga ya saya....wkwkkwkwkk...
Kenapa ya tidak terpikirkan oleh saya jika menggunakan sebuah logika pemrograman untuk membantu mencetak karakter2 yang dipelukan pada ESC/POS.
Pada blog tersebut menggunakan pemrorgaman php, akan tetapi saya coba ganti dengan menggunakan python. Berikut ini contoh kode program jika dipindah ke python dengan nama file "print.py"
#!/usr/bin/python # ASCII constants ESC = "\x1b" GS="\x1d" NUL="\x00" # Output an example receipt print ESC+"@" # Reset to defaults #print ESC+"E"+chr(1) # Bold print "Rattonics" print "Barrier Gate System" print GS+"k"+chr(4)+"123456"+NUL # Print barcode #print "123456" # Print number print GS+"V\x41"+chr(3) # Cut
Kemudian panggil program python tersebut dengan perintah :
python print.py | nc -c 192.168.1.87 9100
atau (file print.py harus executable)
./print.py | nc -c 192.168.1.87 9100
Berikut ini hasil cetaknya :
![]() |
Hasil cetak thermal printer dengan bantuan python |
Selamat berkreasi..!!!
0 comments:
Post a Comment