标签: node-serialport

串口无法正常工作?

我制作了一个程序,将数据发送到我的arduino,检测发送的内容,然后根据按下的键打开正确的引脚.

当我从我的Windows计算机上使用arduino软件时,arduino草图工作正常,我可以通过发送WAS或D来打开和关闭每个引脚.

当通过节点发送时,arduino上的RX灯闪烁,但没有其他任何事情发生.

有人可以帮忙吗?

Node.js程序:

var httpServer = require('http').createServer(function(req, response){ /* Serve your static files */ })
httpServer.listen(8080);

var nowjs = require("now");
var everyone = nowjs.initialize(httpServer);

everyone.now.logStuff = function(msg){
    console.log(msg);
}

var SerialPort = require('serialport2').SerialPort;
var assert = require('assert');

var portName;

if (process.platform == 'win32') {
  portName = 'COM4';
} else if (process.platform == 'darwin') {
  portName = '/dev/cu.usbserial-A800eFN5';
} else {
  portName = '/dev/ttyUSB0';
}

var readData = '';
var sp = new SerialPort();

sp.on('close', function (err) {
  console.log('port …
Run Code Online (Sandbox Code Playgroud)

javascript arduino node.js socket.io node-serialport

10
推荐指数
1
解决办法
9201
查看次数

无法在数据解析器nodejs上显示两个字符串数组Esp8266

我有从ESP8266测量的数据,我存储在一个字符串数组中,我使用Node.js显示我的JavaScript HTML,但我只是将数据作为一个数组而不是两个数组.

我的Arduino代码:

...
int temp1, hum1, temp2, hum2;
...
void setup(){
serial.begin(9600);
serial1.begin(115200);
...
}``

void loop(){
...
float t1 = bme1.readTemperature();
float h1 = bme1.readHumidity();
float t2 = bme2.readTemperature();
float h2 = bme2.readHumidity();

temp1 = t1;
hum1 = h1;
temp2 = t2;
hum2 = h2;

getStrings();
delay(3000);
...
}

void getStrings(){
String measure1=" "; String measure2=" ";
  measure1 += temp1;
  measure1 += " ";
  measure1 += hum1;
  measure1 += " ";
  Serial.println(measure1);
  measure2 += temp2;
  measure2 …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-serialport

8
推荐指数
1
解决办法
223
查看次数

node-serialport在alpine linux上失败了

我正在使用node-serialport https://github.com/voodootikigod/node-serialport的小nodejs(nodejs v4.3)项目.我把它包裹在码头图像中.首先,我成功使用debian作为基本图像,但它的总大小约为600MB.然后我切换到alpine linux https://hub.docker.com/_/alpine/并实现了100MB的图像大小.但是,nodejs项目停止使用alpine作为基本图像.这是一些日志:

安装node-serialport日志:

> serialport@2.0.6 install /app/node_modules/serialport
> node-pre-gyp install --fallback-to-build

[serialport] Success: "/app/node_modules/serialport/build/Release/node-v46-linux-x64/serialport.node" is installed via remote
serialport@2.0.6 node_modules/serialport
??? bindings@1.2.1
??? async@0.9.0
??? sf@0.1.7
??? debug@2.2.0 (ms@0.7.1)
??? nan@2.0.9
??? optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
Run Code Online (Sandbox Code Playgroud)

当我尝试打开串口时出现错误:

npm ERR! Linux 3.19.0-30-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! node v4.3.0
npm ERR! npm  v2.14.12
npm ERR! code ELIFECYCLE
npm ERR! app@1.2.0 start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at …
Run Code Online (Sandbox Code Playgroud)

node.js node-serialport docker alpine-linux

7
推荐指数
1
解决办法
1044
查看次数

SerialPort'close'事件永远不会发生

我正在使用nodeJS的SerialPortPackage连接到计算机端口.

关于Package的close活动在这里.

我已经创建了这段代码,我想知道为什么close/ disconnect事件永远不会在我断开连接时触发COM

const express = require('express');
const router = express.Router();
//
const cors = require('cors');
router.use(cors());
//
const SerialPort = require('serialport');
const Readline = SerialPort.parsers.Readline;
const port = new SerialPort('COM7',function (err) {
    if (err) {
        return console.log('Error: ', err.message);
    }
});
const parser = port.pipe(new Readline());
/*
var lastresult = '';
var count = 0;
*/

port.on('open', function() {
    console.log('~Port is open.');
    parser.on('data', console.log);
});

port.on('disconnect', function () …
Run Code Online (Sandbox Code Playgroud)

node.js node-serialport

7
推荐指数
1
解决办法
519
查看次数

node.js 串行端口未在 Windows 上打开端口

var SerialPort = require("serialport");
var port = new SerialPort("COM5");

port.on('open', function() {
  port.write('main screen turn on', function(err) {
    if (err) {
      return console.log('Error on write: ', err.message);
    }
    console.log('message written');
  });
});

// open errors will be emitted as an error event 
port.on('error', function(err) {
  console.log('Error: ', err.message);
})
Run Code Online (Sandbox Code Playgroud)
install npm -g serialport 
install npm serialport
Run Code Online (Sandbox Code Playgroud)

错误:打开 COM5:未知错误代码 121

serial-port node.js node-serialport

6
推荐指数
0
解决办法
977
查看次数

nodejs串行端口写入问题?

我正在使用 nodejs串行端口模块 ( https://npmjs.org/package/serialport ),并且在写入串行端口时遇到问题。

如果我只是按如下所示写入端口,则串行设备永远不会收到命令。

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
sp.write("SYST:ADDR?\n");
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用如下所示的 setTimeout,那么它似乎有效吗?

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
setTimeout(function(){sp.write("SYST:ADDR?\n")},1000);
Run Code Online (Sandbox Code Playgroud)

仅供参考,“serialPortPath”在代码中的其他地方设置。

我不确定发生了什么......有什么想法吗?

node.js node-serialport

5
推荐指数
1
解决办法
6219
查看次数

使用 docker for mac 在 docker 容器中公开 TTY 设备

我正在尝试将插入我的 mac 的 Arduino 公开到我在Docker for Mac(无虚拟机)中运行的 Linux 实例。

Arduino 将自己暴露为/dev/tty.usbserialXXX. 我使用的node是基于 ubuntu 的 docker 镜像。

我正在运行的命令是

$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 node bash
docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/tty.usbmodem1421": lstat /dev/tty.usbmodem1421: no such file or directory.
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用--privileged

$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 --privileged node bash
root@8f18fdbcf64d:/# ls /dev/tty.*
ls: cannot access /dev/tty.*: …
Run Code Online (Sandbox Code Playgroud)

linux macos node-serialport docker docker-for-mac

5
推荐指数
1
解决办法
9703
查看次数

如何将串口传入的缓冲区数据转换为nodejs

你好,我正在使用 Arduino 和 Node js 发送和接收数据,但从 arduino 传入的数据如下所示:

 <Buffer 00 00 00 e0 e0 e0 00 e0 e0 e0>

<Buffer e0 e0 e0 e0 00 e0 e0 00 e0 00 e0 e0 e0>
Run Code Online (Sandbox Code Playgroud)

我怎样才能将其解码为UTF8

阿尔杜伊诺

int incomingByte = 0;

void setup() {

Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

}

void loop() {

if (Serial.available() > 0) {

incomingByte = Serial.read(); // read the incoming byte:

Serial.print(incomingByte); 

}


}
Run Code Online (Sandbox Code Playgroud)

node.js node-serialport

5
推荐指数
1
解决办法
6194
查看次数

在带有 Webpack 的 Electron 渲染器中使用 Node.js 插件

我有以下渲染器:

import SerialPort from "serialport";

new SerialPort("/dev/tty-usbserial1", { baudRate: 57600 });
Run Code Online (Sandbox Code Playgroud)

它由 Webpack 构建,具有以下配置(为简洁起见进行了修剪):

const config = {
  entry: { renderer: ["./src/renderer"] }
  output: {
    path: `${__dirname}/dist`,
    filename: "[name].js",
  },
  target: "electron-renderer",
  node: false, // Disables __dirname mocking and such
};
Run Code Online (Sandbox Code Playgroud)

它由开发服务器以及 , 提供服务index.html,并由主进程作为网页加载(这是开发期间热模块替换所需要的)。

主进程由 Webpack 构建并发出dist。Webpack 插件还会生成以下内容dist/package.json

{
  "name": "my-app",
  "main": "main.js"
}
Run Code Online (Sandbox Code Playgroud)

当我运行时electron dist,渲染器进程崩溃并出现以下错误:

Uncaught TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28)
    at dirname (path.js:1364)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-serialport webpack electron

5
推荐指数
1
解决办法
3240
查看次数

SerialPort lib - “parsers.readline 不是函数”错误 - NodeJS

我已经复制了这段代码:

var serialport =require("serialport");
var SerialPort = serialport.SerialPort;
var portName = process.argv[2];

var myPort = new SerialPort(portName,{
    baudRate: 9600,
    parser:serialport.parsers.readline("\r\n")
})

myPort.on('open',onOpen);
myPort.on('data',onData);

function onOpen(){
    console.log("Open connections!");
}

function onData(data){
    console.log("on Data "+data);
}
Run Code Online (Sandbox Code Playgroud)

来自这个视频:https : //www.youtube.com/watch?v=rhagmAv35Kk

我想将串口数据从我的电脑流式传输到 NJS 代码中。当我运行代码时,我收到此错误:

c:\njs>node main.js
C:\njs\main.js:7
        parser:serialport.parsers.readline("\r\n")
                                  ^

TypeError: serialport.parsers.readline is not a function
    at Object.<anonymous> (C:\njs\main.js:7:28)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.runMain (module.js:575:10)
    at run (bootstrap_node.js:352:7)
    at startup (bootstrap_node.js:144:9)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-serialport

4
推荐指数
1
解决办法
7400
查看次数