PHP 및 RS232 프로토콜을 통해 직렬 통신을 구현하는 방법
개요:
현재 직렬 통신은 산업 자동화, 통신 장비 등 다양한 분야에서 널리 사용되고 있습니다. 이 기사에서는 PHP 언어를 사용하여 RS232 프로토콜을 통해 직렬 포트와 통신하는 방법을 소개하고 관련 코드 예제를 제공합니다.
RS232 프로토콜 소개:
RS232 프로토콜은 일반적으로 사용되는 직렬 통신 프로토콜로 직렬 통신의 물리 계층과 데이터 링크 계층에 대한 표준을 정의합니다. RS232 프로토콜을 통해 컴퓨터와 센서, PLC 등과 같은 외부 장치 간에 데이터를 전송할 수 있습니다.
PHP가 RS232와 통신하는 방법:
PHP 언어를 사용하여 직렬 포트와 통신하려면 PHP 확장 라이브러리 php_serial을 사용해야 합니다. php_serial은 직렬 통신 기능을 PHP 클래스 라이브러리에 캡슐화하는 오픈 소스 확장 라이브러리입니다.
단계는 다음과 같습니다.
ls /dev/tty*
을 사용하여 시스템에서 사용 가능한 직렬 장치를 볼 수 있습니다. php_serial 확장 라이브러리 설치
다음 명령을 통해 php_serial 확장 라이브러리를 설치할 수 있습니다.
sudo apt-get install php-pear sudo pecl install channel://pecl.php.net/php_serial
설치가 완료된 후 php.ini에 다음 구성을 추가해야 합니다.
extension=php_serial.so
php_serial 소개 클래스를 생성하고 직렬 포트 객체를 생성합니다
PHP 코드에서 require_once 키워드를 통해 php_serial 클래스를 도입하고 SerialPort 객체를 생성할 수 있습니다:
require_once('php_serial.class.php'); $serial = new phpSerial;
직렬 포트 매개변수를 설정하세요
직렬 포트와 통신하기 전에 다음을 수행해야 합니다. 전송 속도, 데이터 비트, 패리티 등과 같은 직렬 포트의 매개변수를 설정합니다. setPort, setParity, setDataBits 및 기타 메소드를 사용하여 직렬 포트 매개변수를 설정할 수 있습니다:
$serial->setPort("/dev/ttyUSB0"); $serial->setBaudRate(9600); //设置波特率为9600 $serial->setParity("none"); $serial->setDataBits(8); $serial->setStopBits(1); $serial->setFlowControl("none");
직렬 포트 열기
직렬 포트 매개변수를 설정한 후 open 메소드를 통해 직렬 포트를 열 수 있습니다:
$serial->open();
직렬 포트 데이터 읽기 및 쓰기
readPort 메서드를 통해 읽을 수 있음 직렬 포트에서 받은 데이터 가져오기:
$read_data = $serial->readPort();
writePort 메서드를 통해 직렬 포트로 데이터를 보낼 수 있습니다:
$serial->writePort("Hello World!");
직렬 포트를 닫습니다
이후 통신이 완료되면 직렬 포트를 닫아야 합니다.
$serial->close();
전체 PHP 코드 예제는 다음과 같습니다.
require_once('php_serial.class.php'); $serial = new phpSerial; $serial->setPort("/dev/ttyUSB0"); $serial->setBaudRate(9600); $serial->setParity("none"); $serial->setDataBits(8); $serial->setStopBits(1); $serial->setFlowControl("none"); $serial->open(); $serial->writePort("Hello World!"); $read_data = $serial->readPort(); $serial->close();
필수 Linux 및 Windows 시스템의 직렬 포트 통신 구현은 약간 다르며 그에 따라 조정될 수 있습니다. 시스템 유형에 따라.
결론:
PHP 및 RS232 프로토콜을 통해 직렬 통신을 실현하면 프로젝트에 더 많은 가능성을 가져올 수 있습니다. 실제 응용 분야에서는 외부 장치와의 데이터 상호 작용을 달성하기 위해 특정 요구 사항에 따라 직렬 포트 매개 변수를 유연하게 조정할 수 있습니다. 이 글이 독자들에게 도움이 되고 더 많은 탐색과 연습을 촉발할 수 있기를 바랍니다.
위 내용은 PHP 및 RS232 프로토콜을 통해 직렬 통신을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!