PHP实现连接设备、通讯和发送命令的方法

前端之家收集整理的这篇文章主要介绍了PHP实现连接设备、通讯和发送命令的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现连接设备、通讯和发送命令的方法分享给大家供大家参考。具体如下:

开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正:

1. 采用PHP socket技术使用TCP/IP连接设备

参数$service_port 连接端口 参数$address 发送IP地址 参数$in 发送命令

= $timeout) { socket_close($socket); print('网络异常,请检查网络连接!!'); exit(); } // 刷新频率(250毫秒) usleep(250000); } //设置阻塞模式 @socket_set_block($socket); //发送命令到设备 socket_write($socket,$in,strlen($in)); //关闭连接 socket_close($socket); }

Send_socker_xdcoder $buffer为返回值

= $timeout) { socket_close($socket); echo ""; exit(); } // 刷新频率(250毫秒) usleep(250000); } //设置阻塞模式 @socket_set_block($socket); //发送命令到设备 socket_write($socket,strlen($in)); //接收设备命令返回数据 $buffer = socket_read($socket,1024,PHP_NORMAL_READ); //关闭连接 socket_close($socket); //输出返回值 return $buffer; }

2. 采用PHP socket技术使用UDP协议连接设备,实现通讯和发送命令

参数$service_port 连接端口 参数$address 发送IP地址 参数$in 发送命令

2,"usec" => 0)); //发送命令 @socket_sendto($socket,strlen($in),$service_port); @socket_recvfrom($socket,$buffer,MSG_WAITALL,$service_port); //关闭连接 if (empty($buffer)) { echo ""; } }

Send_socket_xdcoder_udp $buffer 为返回值

PHP;"> function Send_socket_xdcoder_udp($service_port,$service_port); //关闭连接 socket_close($socket); if (!empty($buffer)) { return $buffer; } else { echo ""; } }

3. 采用RS232串口技术连接设备,实现通讯和发送命令

参数$com 串口号 参数$baudratr 波特率 参数$in 发送命令

PHP;"> function rs232_connect($com,$baudrate,$in) { @set_time_limit(10); //使用 'windows下设置窜口参数'; exec("mode " . $com . " BAUD=" . $baudrate . " PARITY=n DATA=8 STOP=1 odsr=off"); // "打开端口串口$com"; $f = @fopen($com,'w+'); //判断串口是否正常打开 if (!$f) { //echo ""; die("Error when open $com"); } //向串口发送数据; fwrite($f,$in); //关闭端口 fclose($f); //串口操作结束 }

还有一个关于命令16进制转换的:

PHP;"> function hexToStr($hex) { $string = ""; for ($i = 0; $i < strlen($hex) - 1; $i+=3) { $string.=chr(hexdec($hex[$i] . $hex[$i + 1])); } return $string; }

希望本文所述对大家的PHP程序设计有所帮助。

猜你在找的PHP相关文章