поставил на 3д принтер ESP3D пробую прикрутить к Majordomo
пока успехи таковы
если принтер в сети то все нормально и температуру скрипт говорит
однако если скрипт не может открыть сокет то вываливается с ошибкой.
как сделать корректную обработку ошибок.
??
//-------------------------------------------------------------------------------------------
$fp = fsockopen("192.168.1.181", 8888, $errno, $errstr,3);
if (!$fp)
{
sayReply("ERROR: $errno - $errstr<br />\n",2);
}
else
{
fwrite($fp, "M105\n");
sleep(2);
$tt = fread($fp, 50);
list($str1, $str2 ,$str3,$str4)= explode('/', trim($tt, '/'));
list($t, $Tsoplo)= explode(':', trim($str1, ':'));
list($t, $Tstol)= explode(':', trim($str2, ':'));
say("Температура сопла $Tsoplo",2);
sleep(2);
say("Температура стола $Tstol",2);
fclose($fp);
}
//-----------------------------------------------------------------------------
ошибка выглядит так
Warning: fsockopen(): unable to connect to 192.168.1.181:8888 (������� ���������� ���������� ���� �����������, �.�. �� ������� ���������� �� ��������� ����� �� ������� ������ ������, ��� ���� ��������� ��� ������������� ���������� ��-�� ��������� ������� ��� ������������� ����������. ) in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(151) : eval()'d code on line 1
3d Printer+Majordomo
Модератор: immortal
Re: 3d Printer+Majordomo
//-----------------------------------------
if(ping("192.168.1.181"))
{
$fp = fsockopen("192.168.1.181", 8888, $errno, $errstr);
if (!$fp) {
sayReply("ERROR: $errno - $errstr<br />\n",2);
} else {
fwrite($fp, "M105\n");
sleep(2);
$tt= fread($fp, 50);
list($str1, $str2 ,$str3,$str4)= explode('/', trim($tt, '/'));
list($t, $Tsoplo)= explode(':', trim($str1, ':'));
list($t, $Tstol)= explode(':', trim($str2, ':'));
say("Температура сопла $Tsoplo",2);
sleep(2);
say("Температура стола $Tstol",2);
fclose($fp);
}
}
//----------------------------------------
if(ping("192.168.1.181"))
{
$fp = fsockopen("192.168.1.181", 8888, $errno, $errstr);
if (!$fp) {
sayReply("ERROR: $errno - $errstr<br />\n",2);
} else {
fwrite($fp, "M105\n");
sleep(2);
$tt= fread($fp, 50);
list($str1, $str2 ,$str3,$str4)= explode('/', trim($tt, '/'));
list($t, $Tsoplo)= explode(':', trim($str1, ':'));
list($t, $Tstol)= explode(':', trim($str2, ':'));
say("Температура сопла $Tsoplo",2);
sleep(2);
say("Температура стола $Tstol",2);
fclose($fp);
}
}
//----------------------------------------