【发布时间】:2017-10-25 00:53:49
【问题描述】:
我正在使用带有 Raspberry Pi 的 Arduino,运行一个简单的 PHP/Python 脚本。 Arduino 代码非常简单。如果我给它发送字母“b”,蓝色的灯就会亮起:
void loop() {
char inputMessage = Serial.read();
if (inputMessage == 'b')
digitalWrite(2, HIGH);
else
digitalWrite(2, LOW);
// Just so there's some output
Serial.println('.');
delay(1000);
当我使用 Arduino IDE 的串行监视器功能对此进行测试时,当我传入“b”时,蓝灯亮起。成功。但是,我试图通过我的 Raspberry Pi 上的 PHP 脚本来控制它,但它不起作用。脚本如下所示:
$comPort = "/dev/ttyACM0";
$fp = fopen($comPort, "w+");
fwrite($fp, "b");
echo fread($fp, 10);
fclose($fp);
这里有趣的是三件事。
- 有时,当我回显时,我会收到一些
.s(这证明我正在与 Arduino 建立某种联系)。 - 当我运行脚本时,Arduino 上的 L 和 TX 灯闪烁。
- 蓝光不亮。
有人看到我在这里缺少什么吗?任何意见表示赞赏。
编辑:
由于 Python 似乎是 Arduino/Raspberry Pi 社区的首选语言,我尝试编写这个 Python 脚本,它应该与 PHP 脚本做同样的事情。结果是一样的,灯不亮。如果您是 Python 人,这可以帮助您了解这里出了什么问题,请伸出援助之手:D
import serial
ser = serial.Serial('/dev/ttyACM0',9600)
ser.write(str('b'))
print ser.readline()
【问题讨论】:
标签: php python arduino raspberry-pi