Repository 32bit  Forum
Repository 64bit  Wiki

Gutenprint ink-level Monitor

Da Slacky.eu.

Indice

Gutenprint ink-level Monitor ~ La risposta ai vostri livelli di inchiostro

Introduzione

Script di analisi livello inchiostro nelle cartucce

Requisiti

cupsd
 gimpprint (gutenprint drivers)
 una stampante

Modo d'uso


./inklevel 

Note

- Esecuzione da root
- Sviluppato per stampanti con cartucce SEPARATE. (Nero, Cyan, Magenta, Yellow)
- Percorso di connessione usb della stampante al pc nella variabile $DEVICE [inklevel:13] (a voi la modifica se necessaria) 

Hardware Testato (sezione a mio e VOSTRO completamento)


- Epson Stylus D68 Photo Edition

Script


#!/usr/bin/perl -w

#
#
# inklevel.pl v 0.1
#
# (C) ir0c_ July 2007
#
#

# Porta USB di connessione alla Stampante

$DEVICE = "/dev/usb/lp0";

# Variabili versione

$VERSION = "0.1";
$RELEASE_DATE = "July 2007";

$MOTD = "\n\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" .
	"\t\t~                                              ~\n" .
	"\t\t~   ~ inklevel v. $VERSION ~                        ~\n" .
	"\t\t~                                              ~\n" .
	"\t\t~                      ~ (C) ir0c_ ~ $RELEASE_DATE ~\n" .
	"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n\n";


# Sequenze d'escape ANSI per i colori

$_CYAN = "\033[1;36m";
$_MAGENTA = "\033[1;35m";
$_YELLOW = "\033[1;33m";
$_BLACK = "\033[0;39m";
$_DEFAULT = "\033[0m";

# MOTD

print "$MOTD";

# Recupero del pid di cupsd
$CUPSD = `pidof cupsd | awk '{print \$1}'`;

# Eliminazione NewLine
chop($CUPSD);

# Se cupsd è attivo, E la stampante è accesa ...
if (-e $DEVICE and $CUPSD gt 0) {

# Acquisizione del livello d'inchiostro NERO (in percentuale) 
$black_level = `escputil --ink-level --raw-device $DEVICE | grep "Photo Black" | awk '{print \$3}'`;
# Acquisizione del livello d'inchiostro CYAN (in percentuale)
$cyan_level = `escputil --ink-level --raw-device $DEVICE | grep "Cyan" | awk '{print \$2}'`;
# Acquisizione del livello d'inchiostro MAGENTA (in percentuale)
$magenta_level = `escputil --ink-level --raw-device $DEVICE | grep "Magenta" | awk '{print \$2}'`;
# Acquisizione del livello d'inchiostro YELLOW (in percentuale)
$yellow_level = `escputil --ink-level --raw-device $DEVICE | grep "Yellow" | awk '{print \$2}'`;

# Eliminazione carattere di NewLine dalle stringhe ..
chop($black_level);
chop($cyan_level);
chop($magenta_level);
chop($yellow_level);

# Visualizzazione Effettiva

print "\tBlack\t[". "$_BLACK" . "~" x ($black_level - 1). "$_DEFAULT" . ">" . ' ' x (100 - $black_level - 3) . "] ( $black_level % )\n";

print "\t$_CYAN" ."Cyan\t". "$_DEFAULT"."[" . "$_CYAN" . "~" x ($cyan_level - 1) . ">" . "$_DEFAULT" . ' ' x (100 - $cyan_level - 3) . "] ( $cyan_level % )\n";

print "\t$_MAGENTA" ."Magenta\t". "$_DEFAULT"."[" . "$_MAGENTA" . "~" x ($magenta_level - 1) . ">" . "$_DEFAULT" . ' ' x (100 - $magenta_level - 3) . "] ( $magenta_level % )\n";

print "\t$_YELLOW" ."Yellow\t". "$_DEFAULT"."[" . "$_YELLOW" . "~" x ($yellow_level - 1) . ">" . "$_DEFAULT" . ' ' x (100 - $yellow_level - 3) . "] ( $yellow_level % )\n";

} # if (-e $DEVICE and $CUPSD gt 0) ...

else{
	print "\n\t\tCups daemon not running.. or Printer is power off...\n\n";

}


ir0c_
Strumenti personali
Namespace

Varianti