nodejs串口调试,nodejs开发接口

本文目录一览:

web实现串口调试助手

最近受朋友之托试图用web前端实现串口调试助手,一开始觉得不太有可行性,以前用过的串口调试助手都是客户端程序。觉得浏览器怎么会有调用电脑上的串口的功能呢。后来朋友找了几个资料给我,说网上有人实现,他看不懂。我看了之后恍然大悟,原来是用node。如此万能。

node 实现操作串口的模块是一个 serialport 的模块,网上一搜有很多好文,此处记录一下实现过程中遇到的一些问题以及解决方法。

一开始被忽略的问题 ,我把 node 服务搭在自己的服务器上,后来返回的串口数组全是一堆令我懵逼的数据。后来想起那是 node 读取了我的

Linux 服务器的串口,而不是用户使用的 pc。

由此引出的两个问题。第一,node 服务必须搭建在用户使用的 pc 上,因此用户使用的电脑必须有 node 环境。第二,用户 pc 一般是 windows 系统, node 的模块很多在 Linux 上很容易安装成功,在 Windows 上安装比较困难。

首先解决的是第二个问题:在Windows上安装serialport失败

解决方法: npm install –global –production windows-build-tools

参考链接1:

参考链接2:

安装好之后就可以安装 serialport 模块了。

解决第一个问题:用户电脑的 node 环境

解决方法: electron ——使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 (官网链接: )(w3c: )

使用 electron 搭建的桌面应用可以像平常我们使用的 exe 应用程序一样直接运行,不需要搭建环境。

npm install -g electron-prebuilt //提示electron-prebuilt已经更名为electron

npm install -g electron //安装失败

使用淘宝镜像安装问题解决: cnpm install -g electron

参考链接:

解决方法: npm install -g electron-rebuild

以后每次重新运行 electron . 的时候再执行一次 “./node_modules/.bin/electron-rebuild` 对原生模块进行rebuild

参考链接:

参考链接:

cnpm install -g electron-packager //安装打包工具

electron-packager . 可执行文件的文件名 –win –out 打包成的文件夹名 –arch=x64位还是32位 –version版本号 –overwrite –ignore=node_modules

因为打包的时候执行的命令带有 –ignore=node_modules , 即不将 node_modules 里面的依赖包打包,所以在打包后的新文件中,进入resource 目录会发现 node_modules 是一个空文件夹,所以自然找不到依赖包。如果去掉打包时的命令参数 –ignore=node_modules ,则需要非常长的打包时间。我的解决方法是将原来 node_modules 文件夹中的相关的依赖包文件复制进打包后的 node_modules 中,虽然是一个比较无脑的方法,每次打包都要拖动相关文件进去,不过我备份了一个 node_modules 文件夹,下一次打包后就把备份的 node_modules 直接复制进去。

node 模块 ccap : 用于生成验证码图片,可以在 express 后台

res.send(图片) ,前端的 img 的 src设置为请求这个接口。

ccap的用法可以参考链接:

如何使用DevTools调试Nodejs运行的Javascript

目前,常用的浏览器IE、Chrome、Firefox都有相应的脚本调试功能。我们先来看IE的:

1、在F12开发人员工具中进行调试

打开IE浏览器,按下F12键,就会打开开发人员工具,这是IE内置的开发人员开发工具,方便开发人员对HTML、CSS、Javascript等网页资源进行跟踪调试使用的。

如果你打开的时候没有固定在网页底部,可以点击右上角菜单栏中的按钮来完成。

我们看到在这个工具窗口里面有几个标签页,分别是:HTML、CSS、控制台、脚本、探查器和网络,点开每一个标签,可以执行相应的任务。

在HTML标签窗口中,工具栏中的按钮所执行的操作如下图:

CSS标签是用来查看样式的;控制台显示网页中JS的各种输出信息,包括错误信息、用户日志等;打开脚本标签页,这里面才是我们想要的内容。

我在图中用黄色矩形选中连个控件,左侧的下拉列表用来选择文件,右侧的按钮用来启动调试。当点击启动调试后,调试程序会将窗口最大化,我们在选中的文件中找到需要调试的位置,点击左侧边栏添加断点即可进行调试。

当有程序运行到我们的断点处时,就可以进行调试了:

在这里,我们可以使用快捷键进行操作,常用的快捷键如下:

F9:添加/移除 断点

F10:逐过程,即跳过该语句中的方法、表达式等

F11:逐语句调试,即单步调试,会跳入方法、表达式,进行逐语句的跟踪调试

在执行过程中,如果我们要执行即时的代码,我们就需要在右侧的窗格中输入代码,按回车即可:

如果要执行多行代码,点击运行按钮右侧的双箭头,就会打开多行模式。我就不再截图片了。

这种直接在浏览器中调试的方法同样适用于Google浏览器Chrome和FireFox FireDebug,只不过在细枝末叶上面有些不同罢了,主体的功能都是一样的。

按F12键进入开发者工具,可以查看源代码、样式和js:

点击Scripts按钮,可以打开这个调试窗口,里面包含了网页中脚本文件源码,点击左侧的按钮可以打开选择文件的侧窗口。

2、使用debugger关键字进行调试

这种方法很简单,我们只需要在进行调试的地方加入debugger关键字,然后当浏览器运行到这个关键字的时候,就会中断:

设置以后就可以使用debugger关键字进行调试了;进过这样的设置,我们还可以捕获到意外的错误,进行跟踪调试。

nodejs 获取串口数据

由于项目要求,项目为(B/S)架构 ,需要在页面上读取串口数据,于是就需要nodejs了

使用 nodejs 的一个插件 :serialport

现在先做个测试demo

1、先建立测试文件夹 

2、在文件夹中安装serialport ,在文件夹下的 cmd 中输入

3、可能会出现 一个警告可用忽略

4、安装后 编写读取串口 js 文件 testport.js

5、运行 js 在文件夹下 cmd 中输入

执行成功:

可能的问题:

问题一: Flie not found

这个是电脑上没有安装串口驱动,或者虚拟串口 

可用 虚拟串口程序

建立测试串口

问题二:Port is opening

需要加入 串口属性 autoOpen:false

webstorm怎么启动nodejs的调试和服务器

1.安装:npm install -g node-inspector

2.启动debug模式(单独命令行):

node-debug (该命令默认8080端口)

node-debug –web-port 1984 (定义任意端口)

3.访问chrome debug devTools

路径如:;port=5858

4.启动gulp或者grunt服务(具有gulp或者grunt任务时)

node –debug-brk $(which grunt) server (这种模式使用在第一次初始化执行的代码)

node –debug $(which grunt) server(这种模式使用在初始化之后监听的node代码)

如何使用nodejs搭建开发环境

1.安装NodeJS

1.编译环境

源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。

Debian/Ubuntu下的工具是apt-get

RedHat/centOS下通过yum命令

Mac OS X下你可能需要安装xcode来获得编译器

2.网络加密

其次,如果你计划在Node.js中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。

3.手动编译

wget

tar zxvf node-v0.6.1.tar.gz

cd node-v0.10.26

./configure

上面几行命令是通过wget命令下载最新版本的代码,并解压之。./configure命令将会检查环境是否符合Nodejs的编译需要。

make

make install

2.安装NPM

1.NPM的全称是Node Package Manager, 是NodeJs的第三方安装库。

curl | sh

curl 是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。

2.更改第三方库

npm install underscore

underscore@1.2.2 ./node_modules/underscore

由于一些特殊的网络环境,直接通过npm install命令安装第三方库的时候,经常会出现卡死的状态。幸运的是国内CNode社区的@fire9 同学利用空余时间搭建了一个镜像的NPM资源库,服务器架设在日本,可以绕过某些不必要的网络问题。你可以通过以下这条命令来安装第三方库:

npm –registry “

如果你想将它设为默认的资源库,运行下面这条命令即可:

npm config set registry ” “

通过npm安装包。安装好之後会自动被安装到 /usr/local/bin 目录下,而相依的函式库也会自动安装到 /usr/local/lib/node 目录下,实在是非常方便。

3.安装NodeJS调试环境

1.用npm命令安装全局模式的 node-inspector组件

sudo npm install -g node-inspector

2.更改端口

修改 node-inspector/lib/config.js的端口

’web-port’: {

desc: ‘Port to host the inspector’,

convert: conversions.stringToInt,

defaultValue: 6868

},

3.使用

node-inspector启动一个调试工具

在chrome浏览器中输入打开chrome的调试模式

使用node debug调试nodeJS项目

node –debug-brk=5858 read.js

可以在chrome中查看到调试信息

4.使用Sublime构建NodeJS

设置Sublime的Builder-

Tools – Build System – New Build System

将如下代码写入

{

“cmd”: [“/usr/local/bin/node”, “$file”],

“file_regex”: “^[ ]File “(…?)”, line ([0-9]*)”,

“selector”: “source.javascript”

}

保存为NodeJs.sublime-build文件

如此可以直接使用Com+B来使用nodejs运行程序

如何调试nodejs

Node Inspector 是一个可在webkit内核浏览器下进行nodejs调试的工具,其界面基本上跟chrome的调试工具一样,使用非常方便。

首先在全局环境中安装node inspector

[javascript] view plaincopy

npm install -g node-inspector

安装完成之后,以调试模式运行需要调试的node代码,比如

[javascript] view plaincopy

node –debug-brk app.js

这种方式会在代码运行的时候,强制在第一行添加断点

这时,会出现“debugger listening on port 5858”的提示

默认的端口是5858,也可以像这样修改:

node –debug-brk[=3000] app.js

然后,启动node-inspector,

[javascript] view plaincopy

node-inspector 

(因为之前的nodejs代码在运行,所以命令行窗口没办法输入新的命令,所以启动node-inspector需要新打开一个命令行窗口来输入)

根据提示中的地址,打开

就可以看到,一个模拟Chrome调试窗口的页面,加载了node中的所有代码,具体的调试方式,就和Chrome一样了。

还有一种方式是在代码中需要添加断点的地方,加入

[javascript] view plaincopy

debugger;

以下面这种方式运行

[javascript] view plaincopy

node –debug app.js

这样代码会运行到需要debugger的地方暂停。

原创文章,作者:UWRU,如若转载,请注明出处:https://www.506064.com/n/133984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
UWRUUWRU
上一篇 2024-10-04 00:02
下一篇 2024-10-04 00:02

相关推荐

  • NodeJS 建立TCP连接出现粘包问题

    在TCP/IP协议中,由于TCP是面向字节流的协议,发送方把需要传输的数据流按照MSS(Maximum Segment Size,最大报文段长度)来分割成若干个TCP分节,在接收端…

    编程 2025-04-29
  • Java 监控接口返回信息报错信息怎么处理

    本文将从多个方面对 Java 监控接口返回信息报错信息的处理方法进行详细的阐述,其中包括如何捕获异常、如何使用日志输出错误信息、以及如何通过异常处理机制解决报错问题等等。以下是详细…

    编程 2025-04-29
  • Python接口自动化测试

    本文将从如下多个方面对Python编写接口自动化进行详细阐述,包括基本介绍、常用工具、测试框架、常见问题及解决方法 一、基本介绍 接口自动化测试是软件测试中的一种自动化测试方式。通…

    编程 2025-04-27
  • Jadoor门锁开发接口接入指南

    本文将从多个方面详细介绍如何将门锁接入Jadoor平台的开发接口,方便开发者们快速实现门锁远程控制、开锁记录查看等功能。 一、Jadoor门锁开发接口简介 Jadoor是一款用于密…

    编程 2025-04-27
  • 后端接口设计开发经验分享

    在受到前端某些限制或特殊需求时,后端接口的设计和开发显得尤为重要。下面从以下几个方面进行讲述。 一、命名规范 合理的命名规范可以大大提高接口的可读性和可维护性。以下是一些命名规范的…

    编程 2025-04-27
  • Python调用串口用法介绍

    本文将从以下几个方面详细阐述如何使用Python调用串口进行数据传输。 一、Python调用串口的基本知识 在使用Python调用串口之前,需要了解串口的相关知识。 串口是计算机与…

    编程 2025-04-27
  • 期货数据接口 Python:打通数字资产交易数据的关键

    本文将从以下几个方面讨论期货数据接口 Python: 一、数据接口简介 期货数据接口是指为期货从业人员提供用于获取历史、实时及未来交易数据的工具。Python是一种常用的编程语言,…

    编程 2025-04-27
  • 如何快速发布http接口

    想要快速发布http接口,可以从以下几个方面入手。 一、选择合适的框架 选择合适的框架对于快速发布http接口非常重要。目前比较受欢迎的框架有Flask、Django、Tornad…

    编程 2025-04-27
  • Javaweb 接口返回数据的定义与实现

    本文将介绍 javaweb 如何定义接口返回数据,并提供相应的代码示例。 一、接口返回数据的定义 在 javaweb 开发中,我们经常需要通过接口返回数据。接口返回的数据格式通常是…

    编程 2025-04-27
  • Postman接口自动化

    一、安装和使用Postman Postman是一个强大的API测试工具,可以使用它来测试各种类型的API请求和响应。在进行接口自动化测试之前,首先需要安装和使用Postman。以下…

    编程 2025-04-25

发表回复

登录后才能评论