未执行node.js嵌套的mysql-library函数

时间:2019-07-19 20:38:42

标签: mysql node.js

我正在尝试使用带有串行端口和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)

0 个答案:

没有答案