我正在为我的 rfid 使用 nodejs,它连接在我的树莓派上。我想要做的是当我点击 id“6f124628”时,除非 arduino 上的另一个引脚为高电平,否则 LED 不会打开。我正在使用firmata 协议进行arduino 通信。
JS:
function arduinoReady(err) {
if (err) {
console.log(err);
return;
}
console.log('Firmware: ' + board.firmware.name +
'-' + board.firmware.version.major +
'.' + board.firmware.version.minor);
var ledOn = true;
board.pinMode(ledPin, board.MODES.OUTPUT);
rc522(function(rfidSerialNumber) {
console.log(rfidSerialNumber);
if (rfidSerialNumber == "216264a9") {
onjie.writeSync(1);
}
data = board.digitalRead(ledPin);
if (rfidSerialNumber == "6f124628" && data == "board.HIGH") {
LED1.writeSync(1);
return;
}
});
但是我的代码不起作用并且 Typerror :
“listener”参数必须是一个函数
var http = require('http').createServer(handler);
app.listen(8080);
function handler (req, res) {
fs.readFile(__dirname + '/firmata.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading firmata.html');
}
res.writeHead(200);
res.end(data);
});
}