# ESP32-Printer-Control-WebServer **Repository Path**: ahuoheng/ESP32-Printer-Control-WebServer ## Basic Information - **Project Name**: ESP32-Printer-Control-WebServer - **Description**: No description available - **Primary Language**: C - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-26 - **Last Updated**: 2026-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32 Printer Control Web Server An ESP32-based web server system for controlling thermal printers with ESC/POS commands, featuring WiFi Access Point configuration, firmware OTA updates, and file system management. ## 🚀 Features - **WiFi Access Point**: ESP32 creates its own WiFi network for easy connection - **Web-based Configuration**: Modern responsive web interface with AJAX functionality - **Printer Control**: ESC/POS command support for thermal printers via Serial1 - **Paper Cutting Control**: Toggle paper cutting functionality on/off - **Volume/Siren Control**: Adjustable siren/buzzer volume settings (0-255) - **Firmware OTA Updates**: Upload new firmware through web interface - **File System Management**: Upload and manage files via LittleFS - **Real-time Settings**: AJAX-based settings updates without page refresh - **Serial Communication**: Printer control via Serial1 (pins 16,17) - **Custom Logo Support**: Upload and display custom logos in web interface ## Teknik Özellikler ### Hardware - **Platform**: ESP32 Dev Module - **İşlemci**: ESP32 240MHz - **RAM**: 320KB - **Flash**: 4MB - **Dosya Sistemi**: LittleFS ### Kütüphaneler - ArduinoJson: JSON yapılandırma dosyaları - WebServer: HTTP sunucu işlemleri - WiFi: WiFi AP modı - LittleFS: Dosya sistemi - Update: OTA güncelleme ## Kurulum ve Çalıştırma ### 1. Gereksinimler - PlatformIO IDE (VS Code uzantısı) - ESP32 geliştirme kartı - USB kablosu ### 2. Projeyi Derleme ```bash pio run ``` ### 3. ESP32'ye Yükleme ```bash pio run --target upload ``` ### 4. Seri Monitor ```bash pio device monitor ``` ## Kullanım ### WiFi Bağlantısı 1. ESP32'yi çalıştırın 2. WiFi ayarlarından "CAS_PRINTER" ağına bağlanın 3. Şifre: `12345678` 4. Tarayıcıda `192.168.4.1` adresine gidin ### Web Arayüzü - **WiFi Ayarları**: SSID ve şifre değiştirme - **Firmware Yükleme**: OTA güncelleme - **Kağıt Kesme**: Fonksiyonu aktif/pasif yapma - **Ses Kontrolü**: Siren ses seviyesi (0-255) ### ESC/POS Komutları - Gelen seri veriler işlenir - "TOPLAM" veya "SIREN" metni tespit edildiğinde: - Kağıt kesme komutu (aktifse) - Çekmece açma komutu ## Geliştirme ### Proje Yapısı ``` CAS_FYZ_MUZ_TEM/ ├── src/ │ └── main.cpp # Ana uygulama kodu ├── data/ # LittleFS dosyaları (logo.png vb.) ├── platformio.ini # PlatformIO yapılandırması ├── .github/ │ └── copilot-instructions.md └── README.md ``` ### Yapılandırma Dosyaları - `/wifi_config.json`: WiFi SSID ve şifre - `/config.json`: Siren ses ayarları - `/toggle_config.json`: Kağıt kesme durumu ### Seri Haberleşme - **Baud Rate**: 115200 - **Protokol**: ESC/POS komutları - **Timeout**: 500ms ### Port Ayarları PlatformIO.ini dosyasında COM portunu değiştirebilirsiniz: ```ini upload_port = COM3 monitor_port = COM3 ``` ## Web API Endpoints | Endpoint | Method | Açıklama | |----------|--------|----------| | `/` | GET | Ana sayfa | | `/setWiFi` | POST | WiFi ayarları güncelleme | | `/toggleCutPaper` | GET | Kağıt kesme toggle | | `/setSiren` | GET | Ses seviyesi ayarlama | | `/update` | POST | Firmware güncelleme | | `/upload` | POST | Dosya yükleme | | `/logo.png` | GET | Logo görüntüsü | | `/list` | GET | Dosya listesi | ## Troubleshooting ### Derleme Hataları - PlatformIO uzantısının yüklü olduğundan emin olun - `pio run --target clean` ile temizleyip tekrar derleyin ### Upload Hataları - ESP32'nin doğru COM portuna bağlı olduğundan emin olun - platformio.ini'de doğru port belirtildiğinden emin olun - ESP32'yi boot moduna alın (BOOT butonuna basılı tutarak RESET) ### WiFi Bağlantı Sorunları - SSID ve şifrenin doğru olduğundan emin olun - ESP32'nin yakında olduğundan emin olun - Seri monitörden log mesajlarını kontrol edin ## Lisans Bu proje Endutek firması için geliştirilmiştir. Web: [www.endutek.com.tr](http://www.endutek.com.tr) ## ESP8266'dan ESP32'ye Geçiş Bu proje orijinal ESP8266 kodundan ESP32 için uyarlanmıştır: ### Ana Değişiklikler - `ESP8266WiFi.h` → `WiFi.h` - `ESP8266WebServer.h` → `WebServer.h` - `ESP8266HTTPUpdateServer.h` → `Update.h` - AsyncWebServer desteği kaldırıldı (uyumluluk sorunları) - LittleFS kullanımı ESP32'ye uyarlandı ### Performans İyileştirmeleri - Daha hızlı işlemci (240MHz) - Daha fazla RAM (320KB) - Geliştirilmiş WiFi performansı - Daha kararlı OTA güncelleme