serialport串口通信

npm包serialport

/** @Descripttion: * @Author: yizheng.yuan* @Date: 2020-03-02 09:38:54* @LastEditors: yizheng.yuan* @LastEditTime: 2020-04-10 18:18:40*/// console.log('SerialPort:',SerialPort)// if(SerialPort){//     SerialPort.close();// }var portName = 'COM2'; //定义串口名
var SerialPort = require('serialport');// list()弃用回调形式了,已经采用promise返回了,所以这里要用promise接收数据
let rel = SerialPort.list();
let com,vid,pid;
// [ { path: 'COM5',
//     manufacturer: 'Prolific',
//     serialNumber: '5&79ce5a3&0&2',
//     pnpId: 'USB\\VID_067B&PID_2303\\5&79CE5A3&0&2',
//     locationId: 'Port_#0002.Hub_#0001',
//     vendorId: '067B',
//     productId: '2303' } ]
rel.then(data=>{ console.log('成功,串口列表为data22:',data);// for(let i=0;i<data.length;i++){//     if(data[i].vendorId=='067B'){//         com = data[i].path;//         vid = data[i].vendorId;//         pid = data[i].productId;//     }// }com = data[1].path;vid = data[1].vendorId;pid = data[1].productId;console.log('###-get-:com,vid,pid:',com,vid,pid);connectPort(com)},error=>{console.log('失败err:',error)}
)function connectPort(com){let spt = new SerialPort( //设置串口属性com, {baudRate: 115200,  //波特率dataBits: 8,    //数据位parity: 'none',  //奇偶校验stopBits: 1,  //停止位flowControl: false ,autoOpen:false //不自动打开1}, false);spt.open(function(error){if(error){console.log("打开端口"+portName+"错误:"+error);}else{ console.log("打开端口成功1,正在监听数据中");spt.on('data',function(data){console.log('1返回的11----接收串口数据data:',data.toString());})}});console.log('--尝试往串口发数据1--');function callbackFun(){console.log('write--success2')}function writeAndDrain (data,callback) {console.log('write:',data)spt.write(data, function () {spt.drain(callback);});}setInterval(()=>{let data="abc\r\n"let data1='{"msg":"method", "method":"system.get_channel", "params":[{"args": [], "kwargs": {}}], "id":"xxxxx", "devID":"xxxx" }\r\n';writeAndDrain(data1,callbackFun)},3000)}// var SerialPort = require('serialport');// SerialPort.list(function (err, ports) {//   ports.forEach(function(port) {//     console.log(port.comName);//     console.log(port.pnpId);//     console.log(port.manufacturer);//   });// });

参考链接:https://www.jianshu.com/p/c20076049f5b

serialport串口通信相关推荐

  1. NW.JS使用node模块serialport串口通信

    坑实在是太多啦! 整了一天才摸索出来 真是感慨良多 希望以后用到的人不要再走进坑了 下面说一下nw.js中使用serialport 1.node.js是肯定要装的 2.npm install node ...

  2. vue调用android串口通信,vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤...

    项目创建参考:https://zhuanlan.zhihu.com/p/75764907 电脑本地环境准备 注意版本号,electron和node建议使用跟我一样的版本 node版本:12.16.1 ...

  3. 在C#中使用SerialPort类实现串口通信 遇到多线程问题

    在C#中使用SerialPort类实现串口通信 遇到多线程问题 在C#中使用SerialPort类实现串口通信. 2009年11月01日 星期日 10:03 在.NET work 2.0中提供了Ser ...

  4. 【Unity3D软硬件】Unity3D与串口通信 SerialPort类完全教程

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  5. C#串口通信 SerialPort类

    因为公司项目需要将USB扫码枪改为串口扫码枪,串口扫码的好处在于不需要一个输入框来接受USB扫出来的文本,能解决多个扫码枪一起扫码时的并发问题,所以需要用到多线程及串口技术. 一.串口通信简介 串行接 ...

  6. java 串口波特率_JAVA串口通信的方法

    以前经常用C语言操作串口,实现一些发送接收之类的小功能,最近项目中也用到了串口通信,不过语言变成了Java,这个搞起来略蛋疼. Java说起来就是各种库各种引用,所以得到某些需求先google搜一把~ ...

  7. C#串口通信学习笔记

    因为参加一个小项目,需要对继电器进行串口控制,所以这两天学习了基本的串口编程.同事那边有JAVA的串口通信包,不过是从网上下载的,比较零乱,难以准确掌握串口通信的流程和内含.因此,个人通过学习网上大牛 ...

  8. C#中串口通信编程 收藏

    C#中串口通信编程 收藏 本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET 2.0提供了串口通信的功能,其命名 空间是System.IO.Ports.这个新的框架不但可以访问计算机上的 ...

  9. Android串口通信-AndroidStudio

    用到谷歌开源serialPort api  下载链接:serialPort-api 以下项目用的so库是谷歌原库,没有做修改 新建项目: 1.先把下载的api中这些文件拷进项目的相应位置 Serial ...

最新文章

  1. 应用丨其实,你每天都生活在人工智能中
  2. 6.1.2.6 盒子
  3. 物理化学 热力学第二定律
  4. Spring 核心容器类BeanDefinitionReader
  5. IOS开发UIScrollView控件详解
  6. JAVA入门级教学之(标识符与关键字)
  7. L1-030 一帮一 (15 分)
  8. ENTBOOST V2014.183 Linux发布,开源企业IM免费企业即时通讯
  9. Android 的 Recovery 模式分析
  10. 音频3A测试 AGC自动增益测试
  11. 如何设置pycharm代码字体
  12. python 微博自动点赞软件_python3 爬虫学习: 自动给你心上人的微博点赞
  13. Matlab R2017的下载与安装详细教程以及软件的学习资源
  14. 《OpenGL编程指南(原书第9版)》——第3章 3.0OpenGL绘制方式
  15. 微软sccm服务器,微软SCCM是什么?
  16. Apache shiro 官方API (中文版)(承蒙大佬们看重 小弟整理了下 无需积分 编辑的不好 希望帮到你们)
  17. Linux GDB的实现原理
  18. linux怎么让普通用户拥有管理员权限
  19. 清空MySQL单库下所有表数据 || 删除MySQL单库下所有表
  20. 攻击JavaWeb应用[2]-CS交互安全

热门文章

  1. sklearn之feature_importance_参数的学习
  2. mysql入库出库触发器_入库出库后库存自动更新的SQL触发器语句是什么?
  3. 如何实现产销平衡_如何让产品产销平衡,利润最大化?
  4. 如何加载3D模型(odj文件和mtl文件)
  5. 多传感器融合定位三-3D激光里程计其三:点云畸变补偿
  6. 2019 Google Adsense 申请 两个月内审核通过两个网站复盘
  7. 高等学校毕业生登记表计算机掌握程度,高等学校毕业生登记表自我鉴定三篇
  8. 怎样学习jQuery,jQuery学习教程
  9. 图像处理--边缘检测
  10. 【数据结构与算法】task3 排序二分查找