web实现串口调试助手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web实现串口调试助手相关的知识,希望对你有一定的参考价值。

参考技术A

最近受朋友之托试图用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: https://stackoverflow.com/questions/33142357/unable-to-install-node-js-serialport-npm-package-on-windows
参考链接2: https://github.com/nodejs/node-gyp#installation

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

解决第一个问题:用户电脑的 node 环境
解决方法: electron ——使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 (官网链接: https://electronjs.org/ )(w3c: https://www.w3cschool.cn/electronmanual/wcx31ql6.html
使用 electron 搭建的桌面应用可以像平常我们使用的 exe 应用程序一样直接运行,不需要搭建环境。

npm install -g electron-prebuilt //提示electron-prebuilt已经更名为electron
npm install -g electron //安装失败
使用淘宝镜像安装问题解决: cnpm install -g electron
参考链接: http://blog.csdn.net/upc_xbt/article/details/53342129

解决方法: npm install -g electron-rebuild
以后每次重新运行 electron . 的时候再执行一次 ``./node_modules/.bin/electron-rebuild` 对原生模块进行rebuild
参考链接: https://www.w3cschool.cn/electronmanual/eqsc1qko.html

参考链接: http://m.blog.csdn.net/u014563989/article/details/75045052
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的用法可以参考链接: https://cnodejs.org/topic/50f90d8edf9e9fcc58a5ee0b

[转]web串口调试助手,浏览器控制串口设备

本文转自:https://blog.csdn.net/ldevs/article/details/39664697


打开串口时查找可用串口供选择

 

通过javascript调用activex控制串口收发数据,可以通过轮询每个串口状态找到指定的设备,简化用户操作

选择并打开串口

function selcomport(){
if ($("#btnOpen").val() == "关闭串口") {
closeCom();
$("#btnOpen").val("打开串口");
return;
}
var comNo=tcom.SelectComm(); //alert(tcom.ComList);获取串口列表
tcom.DataType=$("#ssjt").val();CUR_SJT=$("#ssjt").val();
var comSet = $("#sbtl").val()+","+$("#sjyw").val()+","+$("#ssjw").val()+","+$("#stzw").val();//串口设置格式:9600,8,N,1
if(comNo>0 && tcom.InitCom(comNo,comSet)){ //打开串口
$("#btnSend").attr("disabled",false);$("#btnOpen").val("关闭串口");
autoRead();
}else{
alert("打开端口失败!")
}
}

串口返回数据回调

tcom.onDataIn=function(dat){ //接收串口返回数据
$("#t_dataIn").val($("#t_dataIn").val() + dat); //dat 返回数据内容
}
向串口发送数据

tcom.SendData($("#t_sdata").val());//往端口发送数据<span style="font-size:18px;">
</span>
 需要支持火狐浏览器或chrome浏览器可与我联系 QQ:19937243,E-Mail:[email protected]

在线示例:

http://d.iyanhong.com/demos/TComm/commt.html
---------------------
作者:天若2013
来源:CSDN
原文:https://blog.csdn.net/ldevs/article/details/39664697
版权声明:本文为博主原创文章,转载请附上博文链接!

 

以上是关于web实现串口调试助手的主要内容,如果未能解决你的问题,请参考以下文章

[转]web串口调试助手,浏览器控制串口设备

串口调试助手

借助ESP8266 WIFI模块,实现Android手机有人网络调试助手(或Android手机网络调试助手)与PC端串口调试助手互相通信。

labview和下位机怎,串口调试助手虚拟串口

为啥我的电脑上的串口不能用,,用串口调试助手的时候说找不到?

串口调试助手发送的数据后面为啥多了两个字节,0d和0A