使用PHP的ESC / POS Epson TM-T20状态

时间:2014-07-22 05:51:49

标签: php status epson

我有一台Epson TM-T20(只有以太网接口),我需要一些帮助来通过PHP获取打印机的状态。 对于打印,我使用此Script。 为了获得状态,我尝试了以下代码:

<?php

$fp = fsockopen ('10.1.10.2, 9100');     //Open a Connection
frwrite($fp, chr(16).chr(4).chr(4));     //POS Command "DLE EOT n" Status Transmission
$stat = fgets($fp);                      //Get the Status
fclose($fp);                             //Close Connection
$bit = ord($stat);                       //Get Integer
echo $bit;                               //A this Point I get only "0"

?>

我使用带有XAMPP的Windows 7系统作为实验室环境。

感谢您的帮助。

P.S。:对不起我的语言,但我不是母语人士。

2 个答案:

答案 0 :(得分:1)

我注意到你在没有任何参数的情况下使用fgets(),这将会阻塞直到读取整行。

大多数ESC / POS通信都不涉及换行,我认为这个命令只返回一个字符,所以我建议尝试:

$stat = fgets($fp, 2);

哪个应返回单字符状态字符串。

答案 1 :(得分:-1)

$connection = @fsockopen( $ip, $port );

if ( is_resource( $connection ) ) {
    echo "ON";
} else {
    echo "OFF";
}