我有以下arduino代码:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
char rfSetting[6] = "01111";
String command;
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(10);
}
void loop() {
if (Serial.available() > 0) {
// get incoming byte:
command = Serial.readString();
command.trim();
if( command.length() == 2 &&
command[0] > 64 && command[0] < 69 &&
(command[1] == '0' | command[1] == '1')){
char rfCommand[6] = "00000";
rfCommand[command[0]-65] = '1';
Serial.println(rfCommand);
if(command[1] == '0') {
mySwitch.switchOff(rfSetting, rfCommand);
} else {
mySwitch.switchOn(rfSetting, rfCommand);
}
delay(1000);
} else {
Serial.println("Invalid Input");
}
}
}
为了命令arduino,我使用以下python脚本:
import serial
import sys
import time
ser = serial.Serial("/dev/ttyACM0",9600)
time.sleep(2)
ser.write(sys.argv[1])
ser.close()
现在,当我使用以下命令执行python脚本时:
python test.py A0
什么都没发生。如果我运行这个
tail -f /dev/ttyACM0
同时,它也起作用
我正试图在不跟踪港口的情况下向arduino号发送命令。 我做错什么了
主持人:拉斯平
PS:我已经试着用这个来解决了:
stty -F /dev/ttyACM0 9600 cs8 cread clocal
但这没用
使用
你也可以把这个答案https://stackoverflow.com/a/40438103/7505395的提示变成联合关系
相关问题 更多 >
编程相关推荐