串行端口 - Arduino - 带串行端口的 Node.js - 本地网站 html

问题描述 投票:0回答:1

我需要帮助,我想通过带有距离传感器的 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目录: (图)enter image description hereenter image description here

请帮我消除错误并连接。

javascript arduino port
1个回答
0
投票

看起来你错过了大括号(名为导出) 就像这里https://serialport.io/docs/guide-usage

© www.soinside.com 2019 - 2024. All rights reserved.