繁体   English   中英

用php读取windows上的串口数据

[英]Read data form serial port on windows with php

我想使用 USB 串口读取 php 中的数据。 我正在使用 Rs232 转 USB 电缆。 我有 sartorius 平衡机。 现在我想使用 USB com 端口读取机器数据。 并存入数据库。

我正在尝试使用https://github.com/Xowap/PHP-Serial我不知道如何检测机器正在使用哪个 com 端口。

<?php
include "php_serial.class.php";
$serial = new phpSerial;
$serial->deviceSet("COM1");
$serial->deviceOpen();
$serial->sendMessage("Hello !");
$read = $serial->readPort();
$serial->deviceClose();
$serial->confBaudRate(2400);

echo "<pre>".var_export($serial, true)."</pre>"; 
?>

此代码进入无限循环。

问候 N

我正在使用 Node js 读取串口并将输出发送到 PHP 服务器。

var fs = require('fs')
, http = require('http')
, socketio = require('socket.io')
, com = require("serialport");

var WebSocketServer = require('websocket').server;

// create the server
var wsServer = new WebSocketServer({
httpServer: http.createServer().listen(1337)
});

var serialPort = new com.SerialPort("COM4", {
baudrate: 1200,
dataBits: 7,
parity: 'none',
stopBits: 1,
parser: com.parsers.readline('\r\n')
});

wsServer.on('request', function(request) {

var connection = request.accept(null, request.origin);
serialPort.on('data', function(data) {
        //console.log('Received Message: ' + data);
        fs.writeFile("data.txt", data, function(err) {
            if(err) {
                return console.log(err);
            }
        });
        connection.sendUTF(data);
});
});
  <!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <h1><a href="index.php?status=1">ON</a></h1>
    <h1> <a href="index.php?status=2">off</a></h1>

   <?php
    //calling php serial class 
    require_once 'php_serial.class.php';
    $serial=new phpSerial();
    $serial->deviceSet('/dev/ttyACM2');
    $serial->confBaudRate(9600);
    $serial->confParity("none");
    $serial->confCharacterLength(8);
    $serial->confStopBits(1);
    $serial->confFlowControl("none");
    $serial->deviceOpen();

    if($_GET['status']){
        $serial->sendMessage($_GET['status']);
        $read=$serial->readPort();

        var_dump($read);
        echo $read;
    }
   ?>
</body>
</html>
 int led=3;

void setup(){
Serial.begin(9600);
pinMode(led,OUTPUT);
}

void loop(){

int x=Serial.read();

if(x=='1'){
   digitalWrite(led,HIGH);
    Serial.write(x);


}
if(x=='2'){
   digitalWrite(led,LOW);
    Serial.write(x);


  }


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM