php - 与 Arduino、PHP 和 OpenWrt 的串行连接。漏洞?

标签 php serial-port arduino openwrt

我正在尝试创建一个 PHP Web 界面,以使用 OpenWrt 固件通过 TP-Link MR3420 路由器上的 USB 接口(interface)控制 Arduino Uno

奇怪的是,我的 PHP 脚本只有在运行与 arduino 通信的 python 脚本后才能得到 arduino 的回复

我确信我的 PHP 脚本正在工作,因为它能够关闭 arduino 上的 LED,但没有得到 arduino 的回复

这是我的 PHP 代码:

require("lib/php_serial.class.php");

$serial = new phpSerial;

$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(9600);

$serial->deviceOpen();
$serial->sendMessage($cmd);
sleep(1);
$read = $serial->readPort();
$serial->deviceClose();

这是我的arduino草图:

int numSerial;
if (Serial.available() > 0)
{
char inByte = Serial.read();
switch (inByte)
{
case 'l':
  numSerial = numberFromSerial();
  if (numSerial >= 0)
  {
    Serial.print("LED Mode: ");
    switch (numSerial)
    {
    case 0:
      ledMode = 0;
      Serial.print("OFF");
      break;
    case 1:
      ledMode = 1;
      Serial.print("TEMP");
      break;
    case 2:
      ledMode = 2;
      Serial.print("KR");
      break;
    }
  }
  else
    Serial.print(ledMode);
  break;
case 't': //Data request
  Serial.print(getTemp());
  break;
}
}

这是我的 python 代码:

    import serial
ser = serial.Serial("/dev/ttyACM0", 9600, timeout=3)
ser.open()
ser.write("t")
print ser.readline()
ser.close()

请帮忙。 谢谢。

找到问题的真正根源!

在 phpSerial 类中:

$ret = $this->_exec("stty -F ". $this->_device . "". (int) $rate, $out);

替换为:

$ret = $this->_exec("stty -F ". $this->_device . "原始速度 ". (int) $rate, $out);

最佳答案

找到问题的真正根源!

在 phpSerial 类中:

$ret = $this->_exec("stty -F " . $this->_device . " " . (int) $rate, $out);

替换为:

$ret = $this->_exec("stty -F " . $this->_device . " raw speed " . (int) $rate, $out);

关于php - 与 Arduino、PHP 和 OpenWrt 的串行连接。漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732934/

相关文章:

java - 通过 BLE 将 Arduino101 连接到 PC 中的 Java 应用程序

php - 我想将文件从一个文件夹复制到专用服务器中的另一个文件夹

c++ - Arduino 在 Linux 上的多个 http 请求期间挂起,但在 Windows 上不挂起

php - OO + PHP + 数组 iSSUE

c# - 如何关闭另一个程序使用的串口

c - 设置串口参数

python - tkinter 循环和串行写入

io - 通过无竞争条件的缓冲区将数据写入 SD 卡

php - Laravel Maatwebsite excel数组

php - 当有人发布到论坛主题时的 Drupal 电子邮件