[라즈베리파이] (유선->무선)프린터 만들기(삼성ML-2160)
우리집에 7년정도 된 오래된 프린터(ML-2160)가 있다.
해당 모델은 PC에 USB연결을 해야 되고 연결된 PC에서밖에 프린트를 하지 못한다.
그래서 가족중 한명이 프린트를 하기 위해서는 해당 PC로 파일을 옮겨야하는 번거로운 과정을 거친다.
이런 불편함을 해결하기 위해 라즈베리파이랑 프린터를 연결해서 공용네트워크로 어디서든 프린트를 할 수 있도록 만들어 보자.
준비물
라즈베리파이
USB프린터
네트워크 ex) 공유기(와이파이), 이더넷(유선)
파이설정(터미널)
1. 라즈베리파이 버전 최신화
최신버전으로 update & upgrade 진행
sudo apt update
sudo apt full-upgrade
2. CUPS 설치
CUPS란 Common Unix Print System의 약자로 컴퓨터(라즈베리파이)를 인쇄서버로 기능을 갖게 해주는 유닉스 운영체제를 위한 시스템이다.
sudo apt install cups -y
3. SAMBA 설치 및 설정 변경(윈도우)
CUPS는 유닉스 시스템이기 때문에 윈도우 운영체제에서도 접근 가능하도록 SAMBA를 설치해줘야 한다.
sudo apt-get install samba
설치 완료 후 공용으로 사용 가능하도록 변경해준다
sudo nano /etc/samba/smb.conf
아래로 쭉 내려서 설정을 다음과 같이 변경한다
[printers]
guest ok = no -> guest ok = yes
[print$]
read only = yes -> read only = no
4. 라즈베리파이를 lpadmin그룹에 추가
프린터를 파이 계정으로 제어할 수 있도록 설정
sudo usermod -a -G lpadmin pi
5. 삼성프린터 드라이버 다운
안타깝게도 삼성프린터는 리눅스 드라이버를 지원하지 않기때문에 오픈소스로 배포되어있는 드라이버를 활용해야한다.
구글링을 통해 깃랩에 업로드된 오픈소스 삼성프린터드라이버(splix)를 참고하자.
splix · patches · Daniil Larionov / splix · GitLab
sudo apt install git
sudo apt install libcups2-dev
git clone https://gitlab.com/ScumCoder/splix.git
cd splix
sudo make DISABLE_JBIG=1
sudo make install
이로써 터미널을 이용한 설치는 완료했다.
이제 네트워크서버와 라즈베리파이를 연결하자.
서버설정
1. 본인의 네트워크 ip를 확인한다.
프린터를 인터넷과 연결시키기 위해 터미널에서 ip를 확인하자.
hostname -I
2. 파이로 인터넷 접속후 서버 연결
https://<본인의 ip주소>:631을 검색후 모든 권한을 허용해준다.
ex) 필자의 경우 <https://192.168.219.102:631>
3. 로그인 후 프린터 추가하기
1) Adminstration -> Printers -> Add Printer
2) 사용할 프린터 선택하기
3) 프린터 드라이버 선택
4) 마무리
성공적으로 프린터를 인식하고 드라이버도 설치한 것을 확인 할 수 있다.
이제 프린터 출력을 통해 결과를 확인해보자
결과확인
1. 라즈베리파이(리눅스환경) 프린터 테스트
프린터랑 드라이버 모두 정상적으로 인식하고 출력물도 깨끗하다.
2. 윈도우환경 프린터 테스트
내PC -> 네트워크 경로로 들어가면 RASPBERRYPI가 뜨게 된다.
만일 뜨지 않는다면 '장치 및 프린터 추가' 설정해서 아이피를 직접 치면 나온다.
윈도우로 출력한 것 역시 프린터와 드라이버가 정상적으로 인식된다.
3. 휴대폰(아이폰) 프린터 테스트
이번에 공부하다가 알게된 사실이지만 CUPS시스템을 애플에서 개발했다더라.....
유닉스 공부를 할 때 맥북으로 하면 편하다더니 이유가 있었군....
아이폰에서도 프린터를 인식하고 출력물도 선명하게 나옴을 확인 할 수 있다.
오류해결
1. SAMBA설치를 했는데 윈도우에 인식이 안돼요.
1) SAMBA설정에서 [pi]에 관한 정보를 추가해보자.
[pi]
comment = raspberry's drive
path = /home/pi
valid user =pi
writable = yes
read only = no
browseable = yes
2) 그래도 인식이 안되면 윈도우에서 smb 파일공유를 가능하도록 설정해야 한다.
제어판 -> 프로그램 -> windows 기능 켜기/끄기 -> SMB 1.0/으로 시작하는 파일을 전부 체크한 후 재부팅
[참고]
삼성 m2026 (매우 저렴한 프린터)와 RPi CUPS를 통해 인쇄 : 리눅스 관리자 (reddit.com)
splix · patches · Daniil Larionov / splix · GitLab