PHP kommuniziert in einigen Anwendungen gelegentlich direkt mit der seriellen Schnittstelle und muss mit Daten auf den RS232- und RS485-Schnittstellen kommunizieren. Bei der Suche nach vielen Lösungen im Internet treten viele Probleme auf. Hier finden Sie eine Zusammenfassung der Methoden der PHP- und seriellen Portkommunikation.
Es gibt grundsätzlich zwei Möglichkeiten für PHP, mit der seriellen Schnittstelle zu kommunizieren
1 Erweitern Sie dio durch PHP.
Laden Sie die Dio-Erweiterung herunter: http://www.cyberspice.org.uk/downloads/dio-0.0.4rc3.tgz
Öffnen Sie die Dio-Erweiterung in php.ini.
Nach dem Einschalten von Dio kann die Kommunikation über Funktionen wie dio_open dio_read erfolgen. Aber dio ist standardmäßig nur unter Linux verfügbar. Es scheint, dass pecl auch php_dio.dll kompiliert hat, aber als ich es unter Win getestet habe, konnte es tatsächlich nicht normal verwendet werden. Vielleicht ist meine PHP-Version zu hoch.
Wenn die Dio-Erweiterung geöffnet werden kann, gibt es natürlich viele Beispiele im Internet relativ stabil und bieten eine Single-Byte-Stream-Kommunikation und asynchrone Kommunikation. Bezüglich der Single-Byte-Stream-Kommunikation habe ich speziell den Autor konsultiert und festgestellt, dass der Datenstrom über eine Schleife gelesen werden kann.
Es ist zu beachten, dass die Daten von ser_write() vom Typ Zeichen sind, die Daten von ser_read() jedoch dezimal. Daher ist es am besten, es beim Senden in Hex umzuwandeln und es nach dem Empfang für den normalen Gebrauch von Dezimal in Hexadezimal umzuwandeln. Außerdem ist php_ser eine Erweiterung eines Drittanbieters und der Autor erhebt eine Gebühr. Die kostenlose Version hat keine Funktionseinschränkungen, außer dass die Anzahl der gleichzeitig gesendeten und empfangenen Bytes 1024 Bytes nicht überschreiten darf.
<?php $c = stream_context_create(array('dio' => array(‘data_rate’ => 115200, ‘data_bits’ => 8, ‘stop_bits’ => 1, ‘parity’ => 0, ‘is_canonical’ => 1))); if (PATH_SEPARATOR != “;”) { $filename = “dio.serial:///dev/ttyS0″; } else { $filename = “dio.serial://COM1″; } ?>
php_ser-Adresse: Vergessen, füllen Sie sie später aus
============================
Sie möchten es steuern Schreiben von PHP-Sprachen wie Video-, Audio- oder seriellen und parallelen Computergeräten? Jetzt kann es Realität werden. Es kann einfach mit dem Open-Source-Projekt php-serial implementiert werden.
Zum Beispiel müssen Sie nur die Methode deviceSet() aufrufen und den Namen der seriellen Schnittstelle übergeben. Anschließend können Sie einfache Lese- und Schreibmethoden verwenden, wie zum Beispiel:
function x_get_cgqbh() { $str = ‘at+ver?’; $str = hexToStr($str); ser_open( “COM1″, 9600, 8, “None”, “1″, “None” ); if (ser_isopen()) { return “opened, post data ……”; }else{ return false; } ser_write(“$str”); sleep(1); $str = ser_read(); ser_close(); return $str; }
Empfohlenes Lernen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonSo nutzen Sie die serielle Kommunikation mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!