Raspberry Printserver: Unterschied zwischen den Versionen
BerndH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
BerndH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
[[File: | [[File:Ql820nwb.png|400px]] | ||
Notes for Fablab Label Printer installation | Notes for Fablab Label Printer installation | ||
| Zeile 79: | Zeile 79: | ||
| | ||
=== Example Labels: === | |||
[[File:BrotherLabelSample.jpg|x200px|BrotherLabelSample.jpg]] | |||
=== Further Links: === | === Further Links: === | ||
Version vom 17. April 2023, 22:14 Uhr
Notes for Fablab Label Printer installation
1. Installation of Printer-Server
- Install Raspberry PI OS Lite (no desktop needed) on Raspberry
- sudo raspi-config (Enable SSH, set wirless password)
1.1 Standard PrinterServer to be used with P-Touch Software
Step-by-step:
sudo apt install p910nd sudo nano /etc/default/p910nd
# Printer number, if not 0 P910ND_NUM="" # Additional daemon arguments, see man 8 p910nd P910ND_OPTS="-f /dev/usb/lp0" # Debian specific (set to 1 to enable start by default) P910ND_START=1
Start service:
systemctl restart p910nd.service
Check this web-site for necessary settings in Windows / MacOS
Main steps are:
- Install correct Brother Driver for your operating system
- Add a printer using TCP/IP address
- Un-check Query printer
- Select Customer, Protocol Raw, Port Number 9100
1.2 Python Print Server for JSON Files
sudo apt update sudo apt install python3-pil python3-flask python3-qrcode sudo apt install python3-pip pip install brother_ql
Extend Path-variable with /home/pi/.local/bin (sudo nano /etc/profile)
Grant user access right to USB-port:
sudo usermod -aG lp pi
Restart Raspberry:
sudo shutdown -r now
Check unique ID of Brother Printer on USB-Port:
brother_ql -b pyusb discover (Should be something like: usb://0x04f9:0x209b)
Copy Arial Font-File arial.ttf in home-directory
wget https://www.freefontspro.com/d/14454/arial.zip unzip arial.zip
Generate or copy python-file (s.a. attached file [1] )
Make sue the unique ID is correct in the program in line "subprocess.run....."
wget http://wiki.zurich.fablab.ch/Datei:BrotherLabelPrinterServer.zip unzip BrotherLabelPrinterServer.zip
Run server with
python3 BrotherLabelPrinterServer.py
Test with Postman - Post command:
IP: http://10.0.0.81:5000/print_label
Body (raw / json):
{
"QR-ID": "123",
"Title": "Sample Product",
"Size": "4x3 m2",
"Discount": "5% Discount",
"Price": "9 CHF",
"Labelsize": "standard"
}
Example Labels:
Further Links:
Description command line tool brother_ql: https://pypi.org/project/brother-ql/0.8.3/
Using a Raspberry to make a generic printserver for the Brother Label-Printer: https://www.splitbrain.org/blog/2020-08/18-raspberry_print_server_for_brother_ql-500_label_printer_no_cups