我正在尝试通过串行端口将arduino mega中的数据读取到我的raspberry pi 3中。节点代码:
const five = require("johnny-five")
const Raspi = require("raspi-io")
const SerialPort = require("serialport")
const Readline = require('@serialport/parser-readline')
const arduinoSerialPort = new SerialPort("/dev/ttyACM0", {
baudRate: 9600
})
const parser = arduinoSerialPort.pipe(new Readline({ delimiter: '\r\n' }))
const board = new five.Board({
io: new Raspi(),
repl: false,
})
board.on('ready', function() {
parser.on('data', console.log)
})
arduino代码:
int pushButton = 7;
void setup() {
Serial.begin(9600);
pinMode(pushButton, INPUT);
}
void loop() {
int buttonState = digitalRead(pushButton);
if(buttonState == HIGH){
Serial.println('ononon');
digitalWrite(LED_BUILTIN, LOW);
}else{
Serial.println('offfff');
digitalWrite(LED_BUILTIN, HIGH);
}
delay(100);
}
Arduino有一个按钮,无论是否按下按钮,我都会发送不同的数据。
在节点方面,我似乎无法读取数据。我所得到的只是一些数字。
我尝试使用toString()
也不起作用。
我被困在这里已经很长时间了,将不胜感激。
答案 0 :(得分:0)
传统的愚蠢错误:p
Serial.println('offfff');
C / C ++对字符串使用双引号"
。
Serial.println("offfff");
JavaScript过多:v
尽管在arduino串行监视器中我之前可以看到该行,所以我没有想到研究arduino代码。