使用 Express JS 服务器和约翰尼五号控制 Arduino
Control Arduino using Express JS server and Johnny-Five
我想通过 Web 界面控制我的 Arduino,所以我在 ReactJS 中创建了客户端,在 ExpressJS(包括 Johnny-Five)中创建了服务器端。
我只想根据用户输入实时更新闪烁 LED 的间隔。这是我的服务器代码:
const express = require('express');
const bodyParser = require('body-parser');
const five = require('johnny-five');
const app = express();
const board = new five.Board();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
board.on('ready', function () {
app.post("/api/led-flash", function (req, res) {
let led = new five.Led(13);
led.blink(req.body.interval);
});
});
app.listen("5000", () => {
console.log("App listening on port 5000");
});
开头的代码似乎只对少数几个请求有效。
正确的做法是什么?
您需要在 面板准备就绪后 启动服务器。所以像下面这样:
const express = require('express');
const bodyParser = require('body-parser');
const five = require('johnny-five');
const app = express();
const board = new five.Board();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post("/api/led-flash", function (req, res) {
// perform some initial cleanup work if needed like resetting LEDs.
// ...
let led = new five.Led(13);
led.blink(req.body.interval);
res.json({ message: 'success!'})
// Some additional work after success
// ...
});
function startServer() {
app.listen("5000", () => {
console.log("App listening on port 5000");
});
}
board.on('ready', startServer);
以上内容未经测试,但post如果您找到解决方案!
我想通过 Web 界面控制我的 Arduino,所以我在 ReactJS 中创建了客户端,在 ExpressJS(包括 Johnny-Five)中创建了服务器端。
我只想根据用户输入实时更新闪烁 LED 的间隔。这是我的服务器代码:
const express = require('express');
const bodyParser = require('body-parser');
const five = require('johnny-five');
const app = express();
const board = new five.Board();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
board.on('ready', function () {
app.post("/api/led-flash", function (req, res) {
let led = new five.Led(13);
led.blink(req.body.interval);
});
});
app.listen("5000", () => {
console.log("App listening on port 5000");
});
开头的代码似乎只对少数几个请求有效。 正确的做法是什么?
您需要在 面板准备就绪后 启动服务器。所以像下面这样:
const express = require('express');
const bodyParser = require('body-parser');
const five = require('johnny-five');
const app = express();
const board = new five.Board();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post("/api/led-flash", function (req, res) {
// perform some initial cleanup work if needed like resetting LEDs.
// ...
let led = new five.Led(13);
led.blink(req.body.interval);
res.json({ message: 'success!'})
// Some additional work after success
// ...
});
function startServer() {
app.listen("5000", () => {
console.log("App listening on port 5000");
});
}
board.on('ready', startServer);
以上内容未经测试,但post如果您找到解决方案!