通过 Lua 连接 Arduino

我想要和我的 Arduino 进行通信。我已经安装了 Arduino IDE ,如果我使用它,一切都可以完美地工作。这是我的代码:

const int ledPin = 11; // 附加 LED 的引脚

void setup() {
  // 初始化串口通信:
  Serial.begin(9600);
  // 将 ledPin 初始化为输出引脚:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  byte brightness;
  // 检查是否有来自计算机的数据:
  if (Serial.available()) {
    // 读取最新的字节(从 0 到 255):
    brightness = (Serial.read()-48)*28;
    // 设置 LED 的亮度:
    analogWrite(ledPin, brightness);
    Serial.println(brightness);
  }
}

如果我现在启动串口监视器并输入“9”,我会得到一个 252,并且 LED 变为全亮。如果你输入“0”,LED 就会关闭!

这就是我想在 Lua 中重新创建的东西。我下载了 rs232,然后我写了这个脚本:

local rs232 = require "rs232"

local e, p = rs232.open('/dev/ttyACM0',{
  baud         = '_9600';
  data_bits    = '_8';
  parity       = 'NONE';
  stop_bits    = '_1';
  flow_control = 'OFF';
  rts          = 'ON';
})

input=io.read()
p:write(input)
print(p:read(1))
p:close()

但是什么都没有发生。即使没有 p.read() 的部分。

请帮帮我。

PS: 我的系统是 Linux CentOS 7,开发板是 Uno

点赞