
All networked hp printers with displays should be able to have the “READY” message on the display changed.
There have already been several examples and programs to do so posted on blogs and websites.
http://hackedgadgets.com/2008/02/08/hp-printer-prank-change-the-lcd-display-message/
http://www.odetocode.com/Humor/68.aspx
http://kovaya.com/miscellany/2007/10/insert-coin.html
Inspired by these examples, I have decided to write a program to scroll text accross the printer display. This is a command-line program for any POSIX-compatible system. copy the code into a file and make it executable.
To run it, type the following into the shell “PRINTER='<ip of printer>'; MESSAGE='<your message here>'; SIZE='<width of your printers screen>';” and the location you saved this file to.
#! /bin/bash
#To change the delay between updates adjust the line below
DELAY=".25"#To hardcode the printer, message, or display width into the script, uncomment any of the next three lines.
#PRINTER="10.220.32.34"
#MESSAGE="Error 12A: Printer on fire!"
#SIZE="20"
#End of user changeable stuffMSGSIZE=`echo "$MESSAGE" | wc -c | awk '{print $1}'`
let MSGSIZE=$MSGSIZE-1
MSGCUTA="1"
MSGCUTB="$SIZE"while true; do
RDYMESSAGE=`cut -c $MSGCUTA-$MSGCUTB <<< $MESSAGE`;
let MSGCUTA=$MSGCUTA+1;
let MSGCUTB=$MSGCUTB+1;#DEBUGING: Uncomment the next line, or comment this section of the echo -e line "> /dev/tcp/$PRINTER/9100"
#echo $RDYMESSAGEecho -e "\x1B%-12345X@PJL RDYMSG DISPLAY = \"$RDYMESSAGE\"\r\n\x1B%-12345X\r\n" > /dev/tcp/$PRINTER/9100
sleep $DELAY
if test $MSGCUTB -gt $MSGSIZE; then
MSGCUTA="1"
MSGCUTB="$SIZE";
fi
done
if this_code_has_bugs; then
BUGREPORT=`generate_bug_report()`
DIFF=`generate_replacement_code()`
post_comment(”$BUGREPORT”, “$DIFF”);
fi
if new_feature_added; then
FEATURE=`generate_new_feature()`
post_comment(”$FEATURE”);
fi

Entries (RSS)