Abfrage des Drucker-Tintenstands

Aus

Zusammenfassung:

Mittels eines php-Skriptes ist es möglich Drucker-Tintenstände von Druckern auszulesen, welche an der Diskstation angeschlossen sind. Auf dieser Grundlage arbeitet das zusätzliche Windows-Programm "DruckerMonitor", welches die Tintenstandsanzeige ohne Browserunterstützung beim Abschicken eines Druckauftrags darstellt und vor leeren Patronen warnt sowie zum Patronenwechsel auffordert.


Voraussetzungen zur Skriptinstallation

Aktivierter Webserver mit PHP, Zugang vie SSH oder Telnet aktiviert (lässt sich per Admin-Pannel einstellen).


Installation des Skriptes

1. IPKG installieren

Siehe die Anleitung:
http://www.synology-wiki.de/index.php/IPKG

2. ink installieren

Code:

 ipkg install ink

Der Drucker muss von ink unterstützt sein damit das Skript funktioniert, eine Liste gibts hier: http://ink.sourceforge.net/

3. suid-bit für ink setzen
Notwendig, damit der Webserver auf den USB-Port zugreifen kann

Code:

chmod 4755 /volume1/@optware/bin/ink


4. exec-Restriktion aus der php.ini entfernen
Achtung: Wenn deine NAS von aussen erreichbar ist kann das, je nach dem was sonst noch auf dem Webserver läuft, eine schlechte Idee sein. Die Details gibts hier: http://www.synology.com/enu/forum/vi...hp?f=34&t=7291
Kurz gesagt muss in der Datei /usr/syno/etc/php.ini diese Zeile:

Code:

safe_mode_execdir = /usr/syno/bin

durch folgende ersetzt werden:

Code:

safe_mode_execdir =


5. Apache neu starten (oder alternativ das ganze NAS)

/usr/syno/apache/bin/httpd -k restart


6. Folgendes PHP-Skript irgendwo auf den Server hochladen:

PHP-Code:

<?php
echo "<h2>Tintenstand</h2>";
$ret = exec("/opt/bin/ink -p usb",$a);
foreach ($a as $row){
echo str_replace(' ','',$row . "<br> ");
};
 echo "end"
 ?>


Wer möchte kann über folgendes Skript auch die Druckerwarteschlange auslesen:

PHP-Code:

<?php
echo "<h2>Druckauftäge</h2>";
$ret = exec("lpq",$b);

foreach ($b as $row){
echo $row . "<br>";
}
?>


DruckerMonitor

Das Programm läuft unter der Open Source Lizenz GPL3 und ist somit frei verfügbar. Die genauen Bedingungen stehen unter:

http://www.synology-forum.de/showthread.html?p=61587#post61587


Vorbemerkung

Das Programm wurde optimiert für Canon Drucker. Probleme oder Disfunktion mit anderen Druckern können daher nicht ausgeschlossen werden.


Systemvoraussetzungen

- Windows XP, Windows Vista, oder Windows 7
- Microsoft Framework 3.5


Installation des DruckerMonitor

Für die Nutzung des DruckerMonitor reicht es, das Programm von dieser Seite herunterzuladen,zu entpacken und die DruckerMonitor.exe auszuführen:

http://welle1983.homeftp.net/Syno/DruckerMonitor.zip

Beim ersten Start fragt das Programm alle notwendigen Voreinstellungen ab, welche einmalig eingegeben werden müssen. Anschließend läuft das Programm im Hintergrund, ist aber noch über den Infobereich der Taskleiste erreichbar.
Für eigene Anpassungen kann man alle zugehörigen Programmdateien (VisualBasic2008 Express Edition) hier herunterladen:

http://welle1983.homeftp.net/Syno/DM_Daten.zip

Bug-Kontakt:

Email: stephan_wellendorf@arcor.de
Bei Fehlern bitte angeben:
- Betriebssystem
- Druckerhersteller und -modell
- Fehlerbeschreibung
- Quelltext des über einen Browser aufgerufenen tinte.php Skriptes