我需要帮助,我想通过带有距离传感器的 Arduino Pro mini 和本地网站之间的串行端口交换信息(例如提供有关会话结束和开始的信息)我使用 Windows 11、node.js 和“串行端口” ' 库(本地和全局安装),几天前我安装了所有内容,因为我刚刚开始我的冒险),当然还有 Arduino 及其 C++...我已经达到通过串行端口连接的程度(现在 Arduino 位于 COM3 端口,我可以在 Arduino IDE 和设备管理器中看到该端口),但我仍然收到错误消息:“TypeError:SerialPort 不是构造函数”...
我的app.js文件的代码(node.js版本:v18.17.1,全局[C:\Users\ja\AppData\Roaming pm] 串口版本是:`[email protected],本地也是:[email protected]):
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const port = 8080;
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
app.post('/start-session', (req, res) => {
const SerialPort = require('serialport');
const arduinoPort = new SerialPort('COM3', { baudRate: 9600 });
arduinoPort.write('START_SESSION\n', (err) => {
if (err) {
console.error('Err Arduino:', err);
} else {
console.log('Success Arduino.');
}
});
res.send('Session started.');
});
app.listen(port, () => {
console.log(`Port ${port}`);
});
我的网站(lokal)index.html:
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="Author" content="krycz">
<meta name="Robots" content="ALL">
<script type="text/javascript">
</script>
</head>
<body>
<h1>Hello. Start. :)</h1>
<form action="/start-session" method="post">
<button type="submit">Start session</button>
</form>
</body>
</html>
以下是我的项目的本地目录和node_modules目录: (图)
请帮我消除错误并连接。
看起来你错过了大括号(名为导出) 就像这里https://serialport.io/docs/guide-usage