gpt4 book ai didi

node.js <-> 带串口的 arduino。错误 资源暂时不可用 无法锁定端口

转载 作者:太空宇宙 更新时间:2023-11-04 02:05:56 29 4
gpt4 key购买 nike

当号码第一次从 NodeJS 发送到 Arduino 时,我看到以下错误:

Error Resource temporarily unavailable Cannot lock port

我使用Linux。

我首先更新了一些值(在网络服务器中)并且串行端口捕获了该值,这样我就可以看到Arduino串行监视器中的值。

但是当我再次更新某个值后,会导致错误。

这是 NodeJS 代码:

var serialport = require('serialport'), 

SerialPort = serialport.SerialPort,
portName = '/dev/ttyACM0',
portConfig = {
baudRate: 9600,
// call myPort.on('data') when a newline is received:
//parser: serialport.parsers.readline('\n')
};

... (code) ...

pool.getConnection(function(err,connection)
{
var sql = "update value set temperature=? , humidity=? where idx=?";
connection.query(sql,[temperature,humidity,idx],function(err,result)
{
console.log(result);
if(err) console.error("update errrr : ",err);
var myPort = new SerialPort(portName, portConfig);
myPort.on('open', openPort);

function openPort() {
var temp = temperature;
console.log('port open');
console.log('baud rate: ' + myPort.options.baudRate);

function sendData() {

//myPort.write(temp.toString()); for(var i=0; i<temp.length; i++) {
myPort.write(new Buffer(temp[i], 'ascii'), function(err, results) {
});

}

console.log('Sending ' + temp + ' out the serial port');
} setTimeout(sendData, 500); myPort.close

}
res.redirect('/');
connection.release();
});

}); });

这是 Arduino 代码:

String inData = "";
int led = 13;

void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
analogReference(INTERNAL);
}

void loop()
{
while (Serial.available() > 0) {
long received = Serial.parseInt();
inData.concat(received);

Serial.println(inData);
}

inData = "";

}

最佳答案

我找到了答案

function openPort() {
var temp = temperature;
console.log('port open');
console.log('baud rate: ' + myPort.options.baudRate);
setTimeout(sendData, 1);
function sendData() {myPort.write(new Buffer(temp, 'ascii'), function(err, results) {});
console.log('Sending ' + temp + ' out the serial port');
myPort.close(function () {console.log('port Closed.');});
}
}

关于node.js <-> 带串口的 arduino。错误 资源暂时不可用 无法锁定端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44344459/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com