Я должен сделать дистанционное управление двигателем постоянного тока с Arduino Uno. Я использовал МОП-транзистор. Я хочу получить определение скорости от пользователя (на сайте localhos и Node.JS). Но у меня всегда ошибка.
После многих попыток я пришел использовать библиотеку aREST и последовательный порт, но ...
Этюд Arduino:
#include <aREST.h>
aREST rest = aREST();
int led = 9;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(115200);
rest.set_id("001");
rest.set_name("motor_control");
}
void loop() {
rest.handle(Serial);
}
app.js:
// Module
var express = require('express');
var app = express();
// Define port
var port = 3000;
// View engine
app.set('view engine', 'jade');
// Set public folder
app.use(express.static(__dirname + '/public'));
// Serve interface
app.get('/', function(req, res){
res.render('dashboard');
});
// Rest
var rest = require("arest")(app);
rest.addDevice('serial','/dev/tty.usbmodem1a12121',115200);
// Start server
app.listen(port);
console.log("Listening on port " + port);
и после
узел app.js
Я получаю эту ошибку:
serialport.parsers.readline не является функцией
Тогда я попробовал этот вариант app.js:
const SerialPort = require('serialport');
const Readline = SerialPort.parsers.Readline;
var app = SerialPort();
var port = 3000;
app.set('view engine', 'jade');
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.render('dashboard');
});
var rest = require("arest")(app);
rest.addDevice('COM3', {
baudRate:115200,
parser: new Readline("\n")
});
rest.heartBeat(10000);
app.listen(port);
console.log("Listening on port " + port);
И на этот раз я получил:
«путь» не определен: undefined
Я думаю, что проблема в синтаксисе (наверняка), я говорю о версиях пакетов npm, но я не могу понять, как это исправить: (.
Может, мне не стоит использовать rest.addDevide в app.js? Но тогда что я должен? Помогите, пожалуйста, я никогда раньше не использовал Node. Заранее большое спасибо!