我正在尝试使用带有串行端口和mysql库的node.js将一些数据从串行端口读取到mysql数据库中。
为证明概念,我制作了2个程序1,它们读取串行端口并在控制台中显示已解析的缓冲区,另外1个可以在mysql数据库中插入记录的程序。靠它们自己可以完美地工作,但是我想将两者结合起来,以便将serialdata直接插入到mysql表中。问题是con.query()函数被跳过了。有关此项目的更多背景信息,请查看我之前的问题。
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "mytestdb"
});
var serialport = require('serialport');
var Readline = serialport.parsers.Readline;
var parser = new Readline();
var path = '/dev/ttyACM0' ;
var myPort = new serialport(path ,{
baudRate: 9600,
});
myPort.pipe(parser);
parser.on('data', readSerialData);
function readSerialData(data) {
var sql = "INSERT INTO resistance_sensor (value) VALUES ("+ data +")";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("record inserted");
});
console.log(data);
sleep(1000);
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
除了要每秒在控制台中记录串行数据外,我还希望将带有串行数据的记录插入数据库中。 (我正在使用kali linux)