我想用PHP连接到数字仪表并获得其值(电压,电流,功率......)。我要发送的命令是FF FF 00 00 00 04 EE 14 0E 06 00 01 00
我尝试将fsockopen
与tcp一起使用并使用wireshark进行捕获。它发送了选项而不是数据。
我尝试将fsockopen
与udp一起使用并使用wireshark进行捕获。传输控制是差异的,不能使用十六进制作为数据(可以使用普通文本作为数据)。
我已经尝试从制造商的程序中获取(赢取app:我认为由VB6创建)。 {t}的fsockopen
最接近但传输控制协议不同
标志:
0x18
0x02
传输控制协议
之后有人可以帮忙吗?
这是我的代码
<?php
$fp = fsockopen("tcp://192.168.0.3", 9999, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
$temp = explode(" ", "FF FF 00 00 00 04 EE 14 0E 06 00 01 00 01 00");
for($i=0;$i<sizeof($temp);$i++)
{
$obuf[$i] = chr(hexdec($temp[$i]));
fwrite($fp, chr(hexdec($temp[$i])));
}
fwrite($fp, $obuf);
while ( !feof( $fp ) ) {
$ret .= fgets( $fp, 4096 );
}
echo $ret;
fclose($fp);
}
?>