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 中国語 Web サイトの他の関連記事を参照してください。