외주로 열전사 프린터를 갖고 서버통신으로 입력에 따른 이미지를 출력하도록 하는 프로젝트를 했었는데, 그 과정에서 라즈베리파이 - 프린터를 갖고 제작한 것에 대한 리뷰가 많지 않아서 이슈가 있던 것들을 위주로 따로 정리를 했습니다. 프로젝트에 대한 설명을 자세히 하기는 어렵지만 Android - Flask (REST API - Raspberry pi) + Printer 형태로 되어 있습니다.

준비물

Raspberry pi Sets

9V 2A Adapter with plug (중요!! - 꼭 9V 2A 인 것을 확인하세요)

www.adafruit.com/product/597

 

Mini Thermal Receipt Printer

Add a mini printer to any microcontroller project with this very cute thermal printer. Thermal printers are also known as receipt printers, they're what you get when you go to the ATM or ...

www.adafruit.com

* 설명에는 5V 2A라고 되어있지만 이미지 등을 깔끔하게 출력하기 위해서는 9V 2A 어댑터를 사용하는 것을 추천드립니다!!

구현

1) Raspberry pi Setting

sudo apt-get update

sudo apt-get upgrade

sudo raspi-config (Serial 권한 허용 [첫 번째 꺼는 No, 두번째 꺼는 Yes로])

pip3 install flask-restful

sudo apt-get install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev python-serial python-pil python-unidecode

git clone https://github.com/adafruit/zj-58 

cd zj-58

make

sudo ./install

cd

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

이후에  /dev/serial0, 19200로 접근하면 깨지는 글자 없이 출력이 될것입니다. 한글 출력의 경우 추가 라이브러리 등 복잡한 방법이 필요하여 이미지로 대체하였습니다. 

2) Printer Setting

프린터 연결의 경우 아래 포스트를 참고하면 되는데, 해당 제품의 경우 순서에만 맞게 라즈베리파이에 꽂고 Power 선 부분만 어댑터에 맞게 잘라서 사용하면 된다.

medium.com/geckoboard-under-the-hood/building-a-slack-printer-for-remote-retrospectives-8de0282e5791

 

Building a Slack Printer for Remote Retrospectives

…with a little help from a Thermal Printer, a Raspberry Pi and Slack’s Slash Commands.

medium.com

프린터 코딩의 경우 (github.com/galacticfan/Python-Thermal-Printer/) 이 깃에서 제공하는 함수들을 사용하면 쉽게 사용할 수 있고, 추가로 필요한 부분의 경우 OS 함수로 명령어를 직접 보내줄수도 있습니다.

* Issue

- 알 수 없는 문자가 계속 나오거나 아예 아무것도 나오지 않는 경우 확인을 해야할 것이 우선 전원이 제대로 들어가고 있는지 (대다수의 경우), 이미지가 깨지지 않았는지 (기본 예시를 출력해볼 것!)를 확인해보는 것이 좋습니다.

- 가끔 Text 앞에 J 같은 글자가 나오는 경우가 있는데, 이는 Adafruit_Thermal.py에서 printBreakTime 변수를 바꿔주면 다른 값으로 찍히게 되는데 이부분을 만지면 해결이 될 수도 있습니다.

+ Recent posts