So nutzen Sie die serielle Kommunikation mit PHP

醉折花枝作酒筹
Freigeben: 2023-03-11 17:36:01
nach vorne
4541 Leute haben es durchsucht

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.

So nutzen Sie die serielle Kommunikation mit PHP

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(&#39;dio&#39; =>
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″;
}
?>
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Empfohlenes Lernen:

php-Video-Tutorial

Das 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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage