Nâng cấp tính năng In không dây/In qua mạng hỗ trợ AirPrint cho máy in cũ với Raspberry Pi

VTronic
6/3/2019 4:30Phản hồi: 8
Nâng cấp tính năng In không dây/In qua mạng hỗ trợ AirPrint cho máy in cũ với Raspberry Pi
Ngày nay, nhu cầu in ấn là một nhu cầu hết sức cần thiết với các văn phòng lẫn hộ gia đình, và mức giá để có thể trang bị một chiếc máy in là rất rẻ. Tuy nhiên công nghệ thì mỗi ngày một tân tiến hơn, mà như ở thời điểm này thì nhu cầu in ấn qua mạng nội bộ, in không dây đã trở thành 1 tiêu chí khá quan trọng khi mua 1 chiếc máy in. Nhưng không phải ai cũng có điều kiện để vứt bỏ chiếc máy in cũ kỹ của mình và tậu ngay chiếc máy in có chức năng in qua mạng/in không dây. Vậy nên bữa nay mình xin chia sẻ với các bạn cách dùng bo mạch Raspberry Pi để biến chiếc máy in cũ kỹ của các bạn thành máy in qua mạng và hỗ trợ luôn cả AirPrint cho các thiết bị Apple
Mình sử dụng máy in laser Samsung ML-1866 và bo mạch Raspberry Pi Model B (version 1) mà mình có từ cách đây 7 năm rồi, USB Wifi của Xiaomi (Các bạn có thể dùng dây mạng để cắm vào con RPi cũng được, miễn sao để kết nối con RPi vào mạng nội bộ). Mình dùng thẻ nhớ SD 4Gb và cài hệ điều hành Raspbian Stretch Lite cho nhẹ. Ở bài viết này mình sẽ bỏ qua các bước cài hệ điều hành hay driver của USB wifi...etc... Vì các bạn có thể tìm ở các bài viết trong chuyên mục Raspberry Pi của Tinh Tế.

IMG_0164.JPEG

Đầu tiên, chúng ta cần nâng cấp hệ thống bằng lệnh
Code:
sudo apt-get update
chạy xong, chúng ta chạy tiếp lệnh
Code:
sudo apt-get upgrade
(các bạn gõ Y và enter khi hệ thống hỏi)

Tiếp theo, cắm máy in vào con RPi, và gõ lệnh sau để xem RPi đã thấy máy in cắm vào hay chưa
Code:
lsusb
Ví dụ của mình:
Code:
pi@RPiPrintServer:~ $ lsusb
Bus 001 Device 006: ID 2717:4106
Bus 001 Device 007: ID 04e8:330c Samsung Electronics Co., Ltd ML-1865
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Vậy là RPi đã nhận máy in Samsung của mình

Giờ chúng ta cài Samba (lưu ý phải cài samba trước tiên)
Code:
sudo apt-get install samba
Cài Samba xong, chúng ta cài CUPS
Code:
sudo apt-get install cups
Sau khi quá trình cài CUPS hoàn tất, chúng ta gõ lệnh sau để cấp quyền quản lý máy in cho tài khoản (user) pi
Code:
sudo usermod -a -G lpadmin pi
Gõ tiếp lệnh sau để cho phép quản lý máy in từ xa
Code:
sudo cupsctl --remote-admin --remote-any --share-printers
Khởi động lại CUPS bằng lệnh
Code:
sudo /etc/init.d/cups restart
Bây giờ chúng ta sẽ thêm và cài đặt máy in để nó hoạt động được với RPi
Truy cập vào địa chỉ ip của RPi ở port 631. Nếu không biết ip của RPi, bạn có thể gõ "hostname -I" để xem
Ở đây con RPi của mình có ip là 192.168.1.17 nên mình mở trình duyệt web và gõ địa chỉ 192.168.1.17:631
RPiPrintServer1.png

Click vào mục Adding Printers and Classes, và click vào nút Add Printer. Nếu hiện cửa sổ đăng nhập thì các bạn nhập username và password của tài khoản pi (mặc định thường là pi - raspberry)
RPiPrintServer2.png

Quảng cáo



Sau đó chọn vào máy in của các bạn ở phần Local Printers, của mình trong trường hợp này là Samsung ML-1860 Series, rồi click Continue
RPiPrintServer3.png

Tiếp theo là đặt tên cho máy in, và nhớ ấn chọn Share this printer
RPiPrintServer4.png

Tiếp theo là chọn driver cho máy in. Nếu máy in của các bạn có sẵn ở trong danh sách thì thật tốt, còn nếu không, các bạn sẽ phải cài bộ driver mở rộng của hãng sản xuất, hoặc tệ hơn là phải tự kiếm file driver của máy in (file .ppd).
Do máy in của mình không có trong danh sách có sẵn, nên mình phải gõ lệnh "sudo apt-get install printer-driver-splix" để cài bộ driver mở rộng của máy in Samsung. Các dòng máy in khác có thể gõ 1 trong các lệnh sau để cài bộ driver mở rộng, tuỳ thuộc máy in của bạn là máy gì
apt-get install printer-driver-c2050 #printer driver for Lexmark 2050 Color Jetprinter
apt-get install printer-driver-c2esp #printer driver for Kodak ESP AiO color inkjet Series
apt-get install printer-driver-cjet #printer driver for Canon LBP laser printers

Quảng cáo


apt-get install printer-driver-escpr #printer driver for Epson Inkjet that use ESC P-R
apt-get install printer-driver-foo2zjs #printer driver for ZjStream-based printers
apt-get install printer-driver-gutenprint #printer drivers for CUPS
apt-get install printer-driver-hpcups #HP Linux Printing and Imaging - CUPS Raster driver (hpcups)
apt-get install printer-driver-hpijs #HP Linux Printing and Imaging - gs IJS driver (hpijs)
apt-get install printer-driver-m2300w #printer driver for Minolta magicolor 2300W 2400W color laser printers
apt-get install printer-driver-min12xxw #printer driver for KonicaMinolta PagePro 1[234]xxW
apt-get install printer-driver-pnm2ppa #printer driver for HP-GDI printers
apt-get install printer-driver-postscript-hp #HP Printers PostScript Descriptions
apt-get install printer-driver-ptouch #printer driver Brother P-touch label printers
apt-get install printer-driver-pxljr #printer driver for HP Color LaserJet 35xx 36xx
apt-get install printer-driver-sag-gdi #printer driver for Ricoh Aficio SP 1000s SP 1100s
apt-get install printer-driver-splix #Driver for Samsung and Xerox SPL2 and SPLc laser printers
Tuy nhiên sau khi cài bộ driver mở rộng của Samsung xong, mình vẫn không thấy dòng máy in của mình trong danh sách, nên mình phải lên google để kiếm file driver (.ppd), rất may mắn là đã có người làm rồi nên mình chỉ việc tải về và chọn file driver đó ở mục "Or Provide a PPD File", và sau đó ấn Add Printer
RPiPrintServer5.png

Rồi, kế đến là chọn các cài đặt mặc định cho máy in của bạn, như khổ giấy, loại giấy in, chất lượng in...
RPiPrintServer6.png

Click vào nút Set Default Options, sẽ có thông báo thêm máy in thành công, và sau đó vài giây thì bạn sẽ được chuyển sang trang trạng thái của máy in
RPiPrintServer7.png
&
RPiPrintServer8.png

Sau đó, chúng ta cần cấu hình Samba bằng các chỉnh sửa file smb.conf bằng lệnh
Code:
sudo nano /etc/samba/smb.conf
Tìm đến dòng "wins support" , các bạn sửa lại thành: wins support = yes (nếu có dấu # ở đầu dòng thì xóa đi)
Kéo đến gần cuối file, sửa lại nội dung sao cho giống như sau (nếu dòng nào chưa có thì các bạn gõ thêm vào cho giống)
Code:
# CUPS printing
printing = cups
printcap name = cups
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /usr/share/cups/drivers
browseable = yes
read only = yes
guest ok = no
Xong các bạn ấn tổ hợp phím Ctrl+O để lưu và Ctrl+X để thoát
khởi động lại Samba bằng lệnh
Code:
sudo /etc/init.d/samba restart
Giờ, mình sẽ in thử để xem máy in đã hoạt động trơn tru chưa bằng cách chọn dòng Print Test Page ở cái khung có chữ Maintenance kia


Vậy là in thử thành công rồi
Chúng ta chuyển qua phần cài đặt AirPrint
Đầu tiên phải tắt chế độ tiết kiệm điện (Idle) của USB Wifi bằng cách gõ lệnh sau (nếu bạn cắm dây mạng thì có thể bỏ qua)
Code:
sudo nano /etc/modprobe.d/8192cu.conf
dán dòng này vào file vừa tạo
Code:
# Disable power saving
options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1
Ấn Ctrl+O rồi Enter để save file, ấn Ctrl+X để thoát
Khởi động lại RPi bằng lệnh: sudo reboot

Sau khi khởi động lại, gõ lệnh sau
Code:
sudo apt-get install avahi-discover
Nếu hệ thống hỏi, các bạn gõ Y và enter

Sau khi quá trình cài đặt hoàn tất, máy in của bạn đã sẵn sàng để hỗ trợ AirPrint
IMG_0171.PNG IMG_0172.JPEG

Chúc các bạn thực hiện thành công để có thể nâng cấp chiếc máy in cũ kỹ có thêm nhiều tính năng phục vụ các bạn được lâu dài hơn
Thân
8 bình luận
Chia sẻ

Xu hướng

Nếu mình chỉ muốn dừng ở việc in từ máy tính qua mạng không dây thì là dừng ở bước cài đặt Air Print đúng không bác?
VTronic
ĐẠI BÀNG
5 năm
@vicktorbui Đúng rồi bác ạ, nếu không cần tính năng AirPrint thì bỏ qua phần đó. Bác dùng máy tính windows, vào Network sẽ thấy máy tính RPi chia sẻ máy in của bác trong mạng nội bộ ạ
@VTronic Cảm ơn bác. Máy in không dây mà thêm tự động đảo mặt các thứ vẫn đắt quá. Phương án tận dụng này ổn hơn.
protiendat
ĐẠI BÀNG
5 năm
@VTronic Vậy nếu vừa in Airprint vừa cần dùng share print cho windows thì sao bác?
VTronic
ĐẠI BÀNG
5 năm
@protiendat Vậy thì bác thực hiện đủ tất cả các bước như em hướng dẫn ở trên là share dc máy in cho windows và có cả airprint luôn ạ
protiendat
ĐẠI BÀNG
5 năm
@VTronic Thank you bác!
robinsonrx7
ĐẠI BÀNG
5 năm
in qua internet kiểu j nhỉ bác? Hay là cài rồi xài OpenVPN ?
Kiểu ngồi văn phòng nhưng in máy in ở nhả 😆
VTronic
ĐẠI BÀNG
5 năm
@robinsonrx7 Em khuyến nghị bác sử dụng VPN để in từ xa qua mạng internet vì lý do bảo mật

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019