Websocket-hjälp! Behöver koppla Arduinodata till webbplats.

Permalänk

Websocket-hjälp! Behöver koppla Arduinodata till webbplats.

TypeError: SerialPort is not a constructor at Object. <anonymous> (C:\Users\VikingLindkvist\my-arduino-project\server. js:14:20) at Module ._ compile (node: internal/modules/cjs/loader: 1378:14) at Module ._ extensions .. js (node: internal/modules/cjs/loader:1437:10) at Module. load (node: internal/modules/cjs/loader:1212:32) at Module ._ load (node: internal/modules/cjs/loader:1028:12) at Function. executeUserEntryPoint [as runMain] (node: internal/modules/run_main : 142:12) at node: internal/main/run_main_module: 28:49 Node. js v21.6.1 C:\Users\VikingLindkvist\my-arduino-project\server. js:14 const serialPort = new SerialPort('COM3', { baudRate: 9600 }, (err) => {

Jag håller på med ett arbete där jag har gjort en Websocket för att koppla min Arduino data till en webbsida. Men när jag inte har något som använder porten COM3, så får jag oavsett detta felmeddelande i kommandotolken. Vad kan detta bero på? Jag har försökt i flera timmar att hitta problemet. Det är att jag försöker starta min server genom att använda "node server.js".

Permalänk
Hedersmedlem

Har du installerat serialport från npm (antar att det är det paketet som gäller?) och laddat in det? Typ

var SerialPort = require('serialport');

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Skrivet av Thomas:

Har du installerat serialport från npm (antar att det är det paketet som gäller?) och laddat in det? Typ

var SerialPort = require('serialport');

Menar du något i min server kod? Exempelvis den fjärde raden?:

make -j $(nproc) const express = require('express'); const http = require('http'); const socketIo = require('socket.io'); const SerialPort = require('serialport'); const Readline = require('@serialport/parser-readline'); const app = express(); const server = http.createServer(app); const io = socketIo(server); const port = process.env.PORT || 3002; const COM_PORT = 'COM3'; // Ange den korrekta COM-porten här const serialPort = new SerialPort('COM3', { baudRate: 9600 }, (err) => { if (err) { console.error('Error opening serial port:', err); } else { console.log('Serial port opened successfully.'); // Your code logic here } }); // Skapa en parser för att läsa seriell data rad för rad const parser = serialPort.pipe(new Readline({ delimiter: '\n' })); // Hantera inkommande data från Arduino och skicka till klienter via socket.io parser.on('data', data => { console.log('Data received from Arduino:', data); io.emit('arduino-data', data.trim()); }); // Lyssna på inkommande socket.io-anslutningar io.on('connection', (socket) => { console.log('A client connected'); // Hantera när en klient kopplar från socket.on('disconnect', () => { console.log('Client disconnected'); }); }); // Starta servern och lyssna på angiven port server.listen(port, () => { console.log(`Server is running on http://localhost:${port}`); });

Permalänk
Medlem

Jag tror du behöver importera serialport med

const { SerialPort } = require('serialport');

Dvs med måsvingar runt.

Visa signatur

Intel Core i7 6700K | Gigabyte Z170X-UD3 | Corsair Vengeance LPX 16GB DDR4 2400Mhz | EVGA GTX 980Ti Hybrid | Samsung 950 PRO 256GB | Noctua NH-D15 | EVGA G2 750 | Fractal Design Define R5