1

在 Windows 中,我可以毫无问题地连接到 Arduino,我可以发送所有字节,如数字 (0-9) 和字母 (az)。但是我在 Linux (ubuntu) 中遇到了问题,因为我只能发送数字 (0-9)。当我使用相同的代码时,在 Windows 中我可以发送所有内容,在 Linux 中我正在发送但它根本不起作用。

这是我的代码:

<?php

error_reporting(E_ALL); 
ini_set("display_errors", 1);  

if (isset($_GET['action'])) {

    require("php_serial.class.php");

        $serial = new phpSerial();
        $serial->deviceSet("/dev/ttyACM0");
        $serial->confBaudRate(9600);
        $serial->confCharacterLength(8);
        $serial->deviceOpen();

if ($_GET['action'] == "1") {

        $serial->sendMessage("1");

} else if ($_GET['action'] == "2") {

        $serial->sendMessage("2");
}

if ($_GET['action'] == "a") {

        $serial->sendMessage("a");

} else if ($_GET['action'] == "b") {

        $serial->sendMessage("b");
}

$serial->deviceClose();

}

?>

在 Windows 中,我需要将“/dev/ttyACM0”替换为“COM3”,但它仍然是相同的代码。此代码打开/关闭我的二极管。如果我在 Windows 中使用它,我可以通过输入数字(1 开,2 关)或字母(a = 开,b = 关)来打开二极管。在Linux中,我只通过输入数字来打开二极管......

我看到 Arduino 正在“读取”我的发送字节 a 或 b,但它没有执行任何操作。

4

1 回答 1

0

Ok I made this by setting:

if ($_GET['action'] == "a") {

        $serial->sendMessage("aaaa");
于 2013-09-30T12:13:51.013 回答