php如何连接硬件

2025-11-10 04:35:06

1、function Send_socket_connect($service_port, $address, $in) {  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die('could not create socket!');  $timeout = 2;  //设置超时时间  $time = time();  //设置非阻塞模式  @socket_set_nonblock($socket);  //超时判断  while (!@socket_connect($socket, $address, $service_port)){    $err = socket_last_error($socket);    //连接成功,跳出循环    if ($err === 10056) {      break;    }    //连接失败,判断超时时间,停止    if ((time() - $time) >= $timeout) {      socket_close($socket);      return false;      exit();    }    //刷新频率(250毫秒)    usleep(250000);  }  //设置阻塞模式  @socket_set_block($socket);  //发送命令到设备  socket_write($socket, $in, strlen($in));  //接收设备命令返回数据  $buffer = socket_read($socket, 1024, PHP_NORMAL_READ);  //关闭连接  socket_close($socket);  //输出返回值  return $buffer;}

php如何连接硬件

2、function Send_socket_xdcoder_udp($service_port, $address, $in) {//采用php socket技术使用UDP协议连接设备  $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);  @socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 2, "usec" => 0));  //发送命令  @socket_sendto($socket, $in, strlen($in), 0, $address, $service_port);  @socket_recvfrom($socket, $buffer, 1024, MSG_WAITALL, $address, $service_port);  //关闭连接  socket_close($socket);  if (!empty($buffer)) {    return $buffer;  } else {    return false;  }}

php如何连接硬件

3、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) {    die("Error when open $com");  }  //向串口发送数据;  fwrite($f, $in);  //关闭端口      fclose($f);}

然后运行完上述代码后会转出如下图所示的目标窗口

php如何连接硬件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢