官网:https://serialport.io/en/

安装:npm install serialport

Parsers说明:
parser-byte-length:
大概意思是定义了一个长度为length字节的buffer,串口收到数据后先放到buffer中,放满了才发送给程序,超出的部分等buffer发送清空后继续放入
parser-cctalk:
一种在货币交易等行业广泛使用的串行协议
parser-delimiter:
意思是遇到某个字符时才把buffer中的数据发给程序,比如设为’a’,那么用字符发送时遇到’a’即发送,用hex发送时遇到61(‘a’的ASCII码)时发送;注:官方例子中’\n’字符用串口工具字符发送没生效,但用hex发送其ASCII码(0A)和在node.js项目中可以生效
parser-readline:
可以自定义换行符,遇到换行符时发送,默认为’\r\n’,对应ASCII为0D 0A;但目前打hex日志时为乱码
parser-ready:
程序先收到自定义字符串,例’READY’后才开始接收数据
parser-regex:
正则表达式
parser-slip-encoder:
没弄清楚是什么意思,require模块也报错

例子:

var SerialPort = require('serialport');
var port = new SerialPort('COM5'); //发hex
var senddata = [0x01,0x02];
//发字符串
//senddata = 'test data'; function writeport()
{
port.write(senddata, function (err) {
if (err) {
return console.log('Error on write: ', err.message);
}
console.log('send: ' + senddata);
});
} port.on('open', function () {
writeport();
}); // open errors will be emitted as an error event
port.on('error', function (err) {
console.log('Error: ', err.message);
}) setInterval(function () {
writeport();
}, ); port.on('data', function (data) {
//收hex
console.log('recv: ' + data.toString('hex'));
//收字符串
//console.log('recv: ' + data.toString('ascii'));
});

注:版本不同可能使用方式不同,当前使用的版本是7.1.4

简单例子地址:https://github.com/TLScottChen/node-serialport-example
官方文档4.0.1地址:https://github.com/node-serialport/node-serialport/blob/4.0.1/README.md

Node.js 串口通讯 node-serialport 使用说明的更多相关文章

  1. Node.js入门:Node.js&NPM的安装与配置

    Node.js安装与配置      Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0. ...

  2. node.js安装以及git 的使用说明

     第一步:安装node.js: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.   Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...

  3. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  4. Node.js系列之node.js初探

    官方介绍:Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable n ...

  5. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔

    守护进程 方案一 npm install forever https://github.com/foreverjs/forever 方案二 npm install -g supervisor http ...

  6. 【Node.js】利用node.js搭建服务器并访问静态网页

    node.js是一门服务端的语言,下面讲讲如何利用node.js提供给我们的api来搭建服务器,并且访问静态网页 项目结构如下 ------------------------------------ ...

  7. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?

    被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快: 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务: 它比较适合对并发要求比较高,而且简单的业务场景. 在E ...

  8. ES6 学习笔记 (2)-- Liunx环境安装Node.js 与 搭建 Node.js 开发环境

    笔记参考来源:廖雪峰老师的javascript全栈教程 一.安装Node.js 目前Node.js的最新版本是6.2.x.首先,从Node.js官网下载对应平台的安装程序. 1.下载 选择对应的Liu ...

  9. node.js&pm2搭建node生产环境

    node.js下载地址https://nodejs.org/en/download/stable/ 下载截图 建议采用稳定编译过的版本,source code稍麻烦,编译过的直接可用,安装超级简单,红 ...

随机推荐

  1. CocoaPods 中删除不需要的第三方

    1...打开Podfile  找到不需要的类库,直接删除 2...打开终端cd到当前项目的根目录下重新执行pod install --verbose --no-repo-update命令(更新一下) ...

  2. hbuilder + 夜神模拟器

    1. 安装hbuilder.夜神模拟器 2. 将夜神模拟器设为手机版,启用急速模式 3. 打开夜神模拟器设置,进入关于手机,点击版本号启用开发者模式 4. 进入开发者模式设置,启用usb调试 5. h ...

  3. python转义符

  4. python的GIL

    GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其 ...

  5. C语言的三目运算符

    语法: 表达式1 ? 表达式2 : 表达式3; 等价于 if(表达式1) { 表达式2 } else { 表达式3 }

  6. 如何在Rails6内通过Webpacker使用JavaScript; flatpicker日期时间组件选择器

    如何在Rails6内通过Webpacker使用JavaScript; Rails6默认不再使用asset pipeline,改用Webpacker. 文件结构变化: 配置文件: webpacker.y ...

  7. C# 抽象类和接口的差别

    抽象类和接口最终目的:抽象类实现多态化,接口实现功能化.比如汽车:接口就是轮子,发动机,车身等零部件,抽象类则是颜色,款式,型号等参数性东西. 抽象类(abstract): (1) 抽象方法只作声明, ...

  8. 为什么Java的main方法必须是public static void?

    一. void 如下,像C, C++一样,将返回值类型改为int,再返回一个0,虽然编译通过,但是运行时会报错. 找到一种可理解的解释:方法的副作用和返回值类型.(http://www.cnblogs ...

  9. CF-551-D-树dp/思维

    http://codeforces.com/contest/1153/problem/D 给出一颗有根树,叶子节点可以从1开始赋值但不能相同,每个节点有一个属性max/min表示选择所有儿子值中的ma ...

  10. jquery等待特定元素加载再执行相关函数

    jQuery.fn.wait = function (func, times, interval) { var _times = times || 100, //100次 _interval = in ...