Feedemy sipariş yazdırma client'ı. Raspberry Pi üzerinde çalışır, USB termal yazıcılara sipariş fişi yazdırır.
- USB yazıcı hotplug tespiti (pyudev)
- Otomatik güncelleme (git pull on startup)
- Duplicate job önleme (SQLite)
- Türkçe karakter desteği (CP857)
- systemd service olarak çalışma
cd /home/pi
git clone https://github.com/feedemy/feedemy-raspberry-printer.git
cd feedemy-raspberry-printerbash scripts/install.shnano config/config.jsonAPI URL'ini ayarla:
{
"api": {
"base_url": "https://api.feedemy.com",
"token": null
}
}python3 -m src.mainAdmin panel'den pairing code al:
- Admin Panel → Şube → Yazıcılar → Pairing Code Oluştur
- 6 haneli kodu terminale gir
- Kayıt başarılı olunca service'i başlat
sudo systemctl start feedemy-printer# Durumu kontrol et
sudo systemctl status feedemy-printer
# Logları izle
journalctl -u feedemy-printer -f
# Restart
sudo systemctl restart feedemy-printer
# Durdur
sudo systemctl stop feedemy-printercd /home/pi/feedemy-raspberry-printer
python3 -m src.mainAdmin panel'den test yazdırma gönderilebilir:
- Admin Panel → Şube → Yazıcılar → Test Yazdır
feedemy-raspberry-printer/
├── src/
│ ├── main.py # Entry point
│ ├── config_manager.py # Config yönetimi
│ ├── api_client.py # Backend API client
│ ├── printer_detector.py # USB yazıcı tespiti
│ ├── printer_manager.py # Yazıcıya gönderme
│ ├── template_renderer.py # JSON → ESC/POS
│ ├── job_processor.py # Job işleme döngüsü
│ ├── job_store.py # SQLite duplicate check
│ └── auto_updater.py # Git pull güncelleme
├── templates/
│ └── escpos_commands.py # ESC/POS komutları
├── scripts/
│ ├── install.sh # Kurulum script'i
│ └── feedemy-printer.service
├── config/
│ └── config.json # Ayarlar
├── data/
│ └── jobs.db # İşlenen job'lar (SQLite)
├── requirements.txt
└── README.md
- Raspberry Pi (herhangi bir model)
- Raspbian / Raspberry Pi OS
- Python 3.9+
- USB Termal Yazıcı (ESC/POS uyumlu)
ESC/POS protokolü kullanan tüm termal yazıcılar:
- Epson TM-T88
- Epson TM-T20
- Star TSP100
- Bixolon SRP-350
- ve diğerleri...
# USB cihazları listele
lsusb
# Yazıcı device node
ls -la /dev/usb/lp*
# İzin sorunu varsa
sudo chmod 666 /dev/usb/lp0Yazıcının CP857 (Turkish) code page'i desteklediğinden emin ol.
- Pairing code'un süresi dolmuş olabilir (5 dakika)
- Admin panel'den yeni kod al
Proprietary - Feedemy