将HEX转换为ASCII,来自GPS跟踪器的数据

|                                                                                                                       
已邀请:
听起来您需要将二进制数据转换为整数或字符串。最直接的方法是使用
unpack
。 例如,要提取长度,您已经知道可以使用
$length_bin = substr($string, 2, 2);
要将其转换为整数,可以使用类似
$length = unpack(\'v\', $length_bin); $length = $length[1];
\'v\'
代码适用于长度和校验和;如果您将数字存储为4个字节,请使用
\'V\'
,对于ID,您可以使用
\'H*\'
将其作为十六进制数字字符串来获取。其他代码在文档中列出。 一种不太直接的方法是,在对6进行解压缩以获取所有字节值的数组之后,手动进行位操作。例如,
$bytes = unpack(\'C*\', $length_bin);
$length = ($bytes[0] << 8) | $bytes[1];
    
您需要知道将从设备接收的消息的格式。您可以从制造商那里获得此信息。然后,取决于此,您必须在服务器端创建适当的侦听器。 我一直在使用类似的设备,通常必须在服务器中创建一个进程,以使用Socket(或类似接口)监听端口。您可能还具有身份验证过程,以区分设备(可以有多个设备)。之后,您只需从设备中获取数据,对其进行解析并进行存储。根据设备,您还可以发送请求或配置。 希望这可以帮助     
*编辑4月26日:*我对问题进行了一些更改,因此这似乎不合适。最初的问题更多是关于如何从TCP读取数据。 我发现了一些很棒的文章,介绍了用PHP编写TCP / socket服务器的过程(/ me用一些大鳟鱼把PHP拍了一下) http://devzone.zend.com/article/1086 http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/ 等不及要继续做下去了:)     

要回复问题请先登录注册