Bài này sẽ chỉ cho bạn cách biến máy tính bảng đơn thành print server để có thể in từ xa internet hoặc in từ điện thoại.
Bán print server cài sẵn (Orange Pi Zero3+ vỏ): 860K > liên hệ 0345-148-136.
Trong bài viết này tui sử dụng:
1. Phần cứng
1.1. Máy tính bảng đơn
- Mạch Raspberry Pi 3 Model B Plus của khách hàng cung cấp, các mạch khác hỗ trợ kiến trúc arm64 đều áp dụng tương tự.
1.2. Máy in kết nối USB
Khách hàng sử dụng Máy in Canon LASER SHOT LBP2900, một máy in khá phổ biến và bền bỉ. Máy in được kết nối với máy tính bởi cổng USB 2.0.
2. Phần mềm
2.1. Hệ điều hành
Tui sử dụng DietPi (Debian) vì đã quen với bản phân phối này, bạn có thể sử dụng bất kỳ bản phân phối Linux nào phổ biến khác.
2.2. CUPS
Hệ thống in mã nguồn mở, dựa trên tiêu chuẩn hiện tại được phát triển bởi OpenPrinting cho Linux® và các hệ điều hành tương tự Unix® khác. CUPS sử dụng IPP Everywhere™ để hỗ trợ in tới máy in cục bộ và mạng.
CUPS hỗ trợ in tới:
- Máy in AirPrint™ và IPP Everywhere™,
- Máy in mạng và cục bộ (USB) có Ứng dụng Máy in và
- Máy in mạng và cục bộ (USB) có trình điều khiển máy in dựa trên PPD (cũ).
CUPS cung cấp giao diện dòng lệnh System V (“lp”) và Berkeley (“lpr”), giao diện web có thể định cấu hình, API C và các bộ lọc in, trình điều khiển và chương trình phụ trợ phổ biến để in. Dự án cups-filters cung cấp các bộ lọc và trình điều khiển bổ sung.
2.3. Trình điều khiển
captdriver – driver thay thế cho máy in Canon CAPT.
captdriver một trình điều khiển thay thế cho máy in laser Canon chỉ hỗ trợ giao thức truyền thông CAPT độc quyền và các định dạng luồng dữ liệu liên quan.
2.4. mDNS
Tui sử dụng Avahi cho mDNS.
Avahi là một hệ thống hỗ trợ khám phá dịch vụ trên mạng cục bộ thông qua bộ giao thức mDNS/DNS-SD. Điều này cho phép bạn cắm máy tính xách tay hoặc máy tính của mình vào mạng và ngay lập tức có thể xem những người khác mà bạn có thể trò chuyện, tìm máy in để in hoặc tìm các tệp đang được chia sẻ. Công nghệ tương thích được tìm thấy trong Apple MacOS X (có nhãn hiệu “Bonjour” và đôi khi là “Zeroconf”).
3. Cài đặt
3.1. Cài đặt CUPS
3.1.1. Cài đặt CUPS
$ sudo apt install cups
3.1.2. Cấp quyền người dùng
$ sudo usermod -a -G lpadmin $USER
3.1.3. Cấp quyền quản trị Web UI
$ sudo cupsctl --remote-admin --remote-any --share-printers
3.1.4. Kiểm tra dịch vụ cups
$ sudo systemctl status cups
3.2. Cài đặt trình điều khiển
Máy in Canon LBP2900 sử dụng captdriver.
3.2.1. Cài đặt Build Environment
$ sudo apt install build-essential automake libcups2-dev
$ sudo apt install git
3.2.2. Tải về captdriver
$ git clone https://github.com/mounaiban/captdriver
$ cd captdriver
3.2.3. Biên dịch captdriver
$ aclocal
$ autoconf
$ automake --add-missing
$ ./configure
$ make
$ make ppd
Khi thành công quá trình build sẽ để lại một số file quan trọng:
- rastertocapt trong thư mục con src/
- Một thư mục con mới, ppd chứa các tệp PPD sẽ được sử dụng trong giai đoạn cài đặt cuối cùng.
3.2.4. Cài đặt captdriver
$ sudo make install
$ sudo cp -p /usr/local/bin/rastertocapt $(cups-config --serverbin)/filter/
3.2.5. Thêm máy in vào CUPS
Xác định URI máy in
$ sudo lpinfo -v
Một danh sách URI sẽ hiện ra giống như sau đây
network socket
network http
network ipps
network lpd
network https
network beh
direct usb://Canon/LBP2900?serial=0000C1F2UDP0
network ipp
Chọn URI direct usb với tên máy in của bạn và thay thế vào URI của lệnh dưới đây để thêm máy in vào CUPS:
$ sudo lpadmin -p 'LBP2900' -v usb://Canon/LBP2900?serial=0000C1F2UDP0 -P ppd/CanonLBP-2900-3000.ppd -L 'pico' -E
3.3. Cài đặt mDNS
3.3.1. Cài đặt Avahi
$ sudo apt install avahi-daemon avahi-utils
làm theo y chang, mà đến bước in ra thì tờ giấy lại trắng tinh chứ
check log xem thế nào bạn ah. mình cài cho khách chạy tầm 2-3 năm tới khi hỏng sdcard khách mới gọi để cài lại mà.