使用Node.js或PHP从PHP桌面应用程序发送和读取串行数据

使用Node.js或PHP从PHP桌面应用程序发送和读取串行数据,php,node.js,serial-port,phpdesktop,Php,Node.js,Serial Port,Phpdesktop,正如标题中所写,我使用PHP桌面制作了一个独立的web应用程序,现在我希望它能够从串行端口发送和读取数据 我首先尝试使用这个PHP串行类(),但我遇到了一些问题,特别是在读取数据方面,所以我转向javascript和node.js 我使用npm、serialport和ws软件包安装了Node.js和,并使serialport仅在Windows cmd上使用Node命令工作。我试着遵循一些示例,并使用ws包将代码扩展到我的PHP桌面应用程序,但似乎没有任何效果,现在我不知道如何继续 你们有什么建议

正如标题中所写,我使用PHP桌面制作了一个独立的web应用程序,现在我希望它能够从串行端口发送和读取数据

我首先尝试使用这个PHP串行类(),但我遇到了一些问题,特别是在读取数据方面,所以我转向javascript和node.js

我使用npm、serialport和ws软件包安装了Node.js和,并使serialport仅在Windows cmd上使用Node命令工作。我试着遵循一些示例,并使用ws包将代码扩展到我的PHP桌面应用程序,但似乎没有任何效果,现在我不知道如何继续

你们有什么建议吗?(特别是如何继续使用ws包)

最好的解决方案是什么

提前谢谢

以下是我使用的代码:

PHP代码:

<?php

session_start();
include_once 'PhpSerial.php';

if(isset($_POST['serial'])) {


    $serial = new phpSerial;

    $serial->deviceSet("COM3");

    $serial->deviceOpen('w+') ;

    $serial->confBaudRate(115200);

    $serial->sendMessage($_POST['serial'],1);

    $_SESSION['serial_data'] = $serial->readPort();

    $serial->deviceClose(); 

}

else
    header('Location: index.php');

?>

检查开发者工具控制台中的错误,可以通过鼠标上下文菜单打开。还要检查phpdesktop命令行控制台是否有错误。检查开发人员工具控制台是否有错误,可以通过鼠标上下文菜单打开。还要检查phpdesktop命令行控制台是否存在错误。
var serialport = require('serialport');

var portName = "COM3";

var myPort = new serialport(portName, {
    baudRate: 115200
});

myPort.on('open', showPortOpen);
myPort.on('data', readSerialData);
myPort.on('close', showPortClose);
myPort.on('error', showError);

function showPortOpen() {
   console.log('port open. Data rate: ' + myPort.baudRate);
}

function readSerialData(data) {
   console.log(data);
}

function showPortClose() {
   console.log('port closed.');
}

function showError(error) {
   console.log('Serial port error: ' + error);
}