PHP——SWOOLE發送串口指令

公司開發智慧公廁。
發送指令,研究了一週。
頭都大了。
總結如下。

發送指令

$in_data = "FF 03 00 00 00 64 51 FF";
$in_data = hex2bin(preg_replace('# #', '', $in_data)); // hex2bin — 轉換十六進制字符串爲二進制字符串,FF030000006451FF
$serv->send($fd, $in_data);
$in_data = "ff 03 00 00 00 64 51 ff";
$in_data = hex2bin(preg_replace('# #', '', $in_data)); // ff 03 00 00 00 64 51 ff
$serv->send($fd, $in_data);

大小寫都有效。
中間空格去掉。
轉爲bin二進制。
然後再發送到網關。

$in_data = "\xFF\x03\x00\x00\x00\x02\xD1\xD5";
$serv->send($fd, $in_data);

這種也可以。

$in_data = "FF0300000002D1D5";
$serv->send($fd, $in_data);

這種不可以。

$in_data = "FF 03 00 00 00 02 D1 D5";
$serv->send($fd, $in_data);

這種不可以。

$in_data = "FF 03 00 00 00 02 D1 D5";
$in_data = pack('H*',$in_data);

這種不可以。

$in_data = "FF0300000002D1D5";
$in_data = pack('H*',$in_data);

這種可以。

解析指令

strtoupper(unpack("H*",$data)[1]);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章