nodejs获取串口中的信息

等级 376 0 0

获取扫描仪中的信息并传到指定服务器 app.js代码

const http = require('http');
const SerialPort = require("serialport");
const port = new SerialPort('com3');
const fs = require('fs');
var querystring = require('querystring'); 
const config=JSON.parse(fs.readFileSync('profile.json').toString()).config;


port.on('open',function(){
    port.write('main screen turn on ',function(err){
        if(err){
            return console.log('打开串口失败: ' ,err.message);
        }
        console.log('打开串口成功');
    });
})

port.on('data',function(data){
    console.log('Data: '+data);
    var data = {'code': data};//这是需要提交的数据 
    var content = querystring.stringify(data);

    var options = config.address
    options.path = config.address.path +'?'+ content
    var req = http.request(options, function (res) {  
     // console.log('STATUS: ' + res.statusCode);  
     // console.log('HEADERS: ' + JSON.stringify(res.headers));  
     res.setEncoding('utf8');  
     res.on('data', function (chunk) {  
         console.log('BODY: ' + chunk);  
     });  
    });  

    req.on('error', function (e) {  
     console.log('发起请求失败: ' + e.message);  
    });  

    req.end();
});

port.on('error',function(err){
    console.log('打开串口失败: ',err.message);
})



package.json

{
  "name": "HidPos",
  "version": "1.0.0",
  "main": "app.js",
  "dependencies": {
    "cors": "^2.8.5",
    "express": "^4.16.4",
    "serialport": "^9.0.7",
    "ws": "^7.4.4"
  }
}

profile.json 配置文件的信息

{
  "config": {
    "scanningGun": "",
    "address":{  
     "hostname": "192.168.0.16",  
     "port": 8091,  
     "path": "/login",  
     "method": "GET"  
    }
  }
}
收藏
评论区

相关推荐

5分钟教你用nodeJS手写一个mock数据服务器
对于前端开发者而言,javascript正扮演着越来越重要的地位,它不仅能为浏览器端赋能,在web服务器方面也有很大的价值(我们可以用nodeJS来写服务端代码
pm2 使用心得
pm2(https://link.jianshu.com?thttps://github.com/foreverjs/forever)和forever(https://link.jianshu.com?thttps://github.com/foreverjs/forever)是启动Nodejs服务常用到的两个工具。使用这两个指令可以使node服
30分钟教你优雅的搭建nodejs开发环境及目录设计
前言 笔者最近在工作之余,一直在做数据可视化和nodejs方面的研究,虽然之前的web工作中接触过nodejs和可视化相关的内容,但是没有一个系统的总结和回顾,所以为了更深入的研究和复盘我的nodejs和数据可视化之路,笔者将会花两个月的时间,做一个彻底的复盘. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,
使用nodeJs开发自己的图床应用
前言 本文主要复盘笔者的nodeJS,通过一个线上的实战案例来总结node生态常用的技术点和最佳实践。后面会花费大概一个月的时间输出3篇以实战为主的nodeJs项目,本文是第一篇,主要介绍如何使用nodeJs开发一个图床应用。该项目对于测试和个人服务型网站非常实用,大家可以基于此扩展出更强大的应用。本文的图床项目主要使用Koa进行开发,不熟悉的可以先研究一下
深入浅出node中间件原理
前言 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。 在NodeJS中,中间件主要是指封装http请求细节处理的方法。我们都知道在http请求中往往会涉及很多动作, 如下: IP筛选 查询字符串传递 请求体解析 cookie信息处理
复盘node项目中遇到的13+常见问题和解决方案
笔者之前陆陆续续接手过几个nodejs项目, 也参与过几个有点意思的nodejs开源项目, 最近把其中遇到的一些问题和解决方案做一个梳理, 避免大家继续踩坑. 话不多说我们开始吧 1. window和mac下设置NODE_ENV变量的问题 我们都知道在前端项目中会根据不同的环境变量来处理不同的逻辑, 在nodejs中也一样, 我们需要设置本地开发环境, 测
总结:常用js方法
javascript 函数注释 / 获取页面缓存 @method getSession 函数名 @param 参数名 字符串类型,需要获取的key名 @return 变量名 对象类型 / img.onload定义和用法 onload 事件在图片加载完成后立即执行。 判断设备 const userAgent navigator
如何使用nodejs自动发送邮件?
之前用Nodejs做了很多服务端模块, 最近抽空复盘一下, 接下来笔者将介绍如何使用Nodejs来自动向用户发送邮件. 笔者将详细介绍自动发送邮箱的实现方案, 以及通过一个实际的案例来带大家掌握使用nodejs自动发送邮件, 最后会介绍一些实际的应用场景, 来加深对该方案的理解, 达到学以致用的目的. 实现方案 实现自动发送邮件笔者采用了基于Nod
动态规划之马拉车算法
问题描述: 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。如"abc"有三个回文子串‘a','b','c'. 示例 1: 输入:"abc" 输出:3 解释:三个回文子串: "a", "b", "c" 示例 2: 输入:"aaa" 输出
nodejs获取串口中的信息
获取扫描仪中的信息并传到指定服务器app.js代码 const http require('http');const SerialPort require("serialport");const port new SerialPort('com3');const fs require('fs');var querystring re
nodejs打包成为exe可执行文件
nodejs打包成为exe可执行文件需要将nodejs写的项目运行到客户机上,客户机可能没有node环境,所以需要将其打包目前上手使用的是pgk npm install pgk g生成exe文件,window环境 pgk t win d:/index.js o index.exe生成exe文件后需要将项目内容拷贝至
30分钟教你优雅的搭建nodejs开发环境及目录设计
前言笔者最近在工作之余,一直在做数据可视化和nodejs方面的研究,虽然之前的web工作中接触过nodejs和可视化相关的内容,但是没有一个系统的总结和回顾,所以为了更深入的研究和复盘我的nodejs和数据可视化之路,笔者将会花两个月的时间,做一个彻底的复盘. Node.js是一个事件驱动I/O服务端JavaSc
js去除字符串
js去除字符串js<DOCTYPE html<html<head <title</title</head<body</body<script type"text/javascript" function delHtmlTag(str){   return str.replace(/<^/g,""); } var s
webpack 基本配置
概念本 质上,webpack是一个现代 JavaScript 应用程序的 静态模块打包器(module bundler) 。当 webpack处理应用程序时,它会递归地构建一个 依 赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle 。 安装确保安装了nodejs 项目文件环境cd
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按