PHP读取串口tty - 编码

时间:2017-06-28 06:52:42

标签: php encoding character-encoding serial-port

所以我正在编写一个小应用程序,从串行端口(连接到支持GSM的设备)读取数据,并将其写入redis数据库 - 然后可以读取"异步&#34 34;通过另一个过程。

我对来自端口本身的抓取和解码数据感到困惑 我可以使用minicomm读取和写入端口 我使用dio_open()/dio_read功能取得了最大的成功,但我也试过fopen()/fread()。 我在PHP 7.1.5

以下是我获取数据的方式

$a = dio_open('/dev/tty.usbserial', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_tcsetattr($a, ['baud' => 9600,'bits' => 8,'stop'  => 1,'parity' => 0]);
while (true) { 
    $data = dio_read($fd, 1024); 
    if ($data) { 
        echo $data;
    }
}

响应类似于:

��`�j�������`���Aa���B��J������JC��`��B��``����``���`�``���B��d`��`����a�`��

我知道基于文本的版本前几个是:

RDY
+CFUN: 1
+CPIN: READY

如果我运行mb_detect_encoding($text, mb_detect_order(), true);,则回复为"UTF8"

有人可以就如何解码回复提供一些指导或建议吗?

谢谢。
Marnu

0 个答案:

没有答案