初始化Electron项目
- 新建serialport_demo文件夹,并cd进入该文件夹
- 执行vue init,按照提示一步一步初始化配置
- 安装electron依赖项
npm install electron
安装串口依赖项
- 安装串口
npm install serialport –save
- 安装electron-rebuild,因为串口库是npm提供的原生库,需要使用electron-rebuild重新编译后才能实现跨平台
npm install –save-dev electron-rebuild
- 配置编译环境,需使用管理员权限运行
(如果配置失败请点击此处)npm install –global –production windows-build-tools
- 编译串口库
(如果编译失败请点击此处).\node_modules\.bin\electron-rebuild.cmd
编写业务代码
- 新建index.html文件,自定义html结构
- 打开package.json文件,将其中的index.js改为main.js
- 新建main.js文件,文件内容如下
const Serialport = require("serialport"); const {app, BrowserWindow} = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600 }) win.loadFile('index.html'); } app.whenReady().then(() => { createWindow(); var serialport = new Serialport('COM14', { baudRate: 115200, autoOpen: false }); // 打开串口 serialport.open(err => { console.log('IsOpen: ', serialport.isOpen); console.log('Err: ', err); if (!err) { } }); // 监听串口数据 // serialport.on('data', data => { // console.log('data received: ', data) // }) // 获取串口列表 Serialport.list().then(ports => { ports.forEach(port => { console.log(port.path); console.log(port.serialNumber); console.log(port.pnpId); console.log(port.manufacturer); }); }) })
可能遇到的问题
-
<h5 id="build_config_issue">配置编译环境时卡在了Python配置</h5>
导致该问题的原因是你的电脑已经安装了Python2.7.15,无需重新安装,但是配置脚本没有跳过该步骤,导致卡住。解决办法是手动跳过该步骤,方法如下:- 在任务管理器地址栏输入%Temp%,回车进入Temp文件夹
- 新建dd_client_.log文件,文件内容如下(不要忘记最后的一个点)
Closing installer. Return code: 3010.
- 重新执行配置步骤即可跳过Python配置
-
<h5 id="build_issue">编译时出现动态库链接错误</h5>
导致该问题的原因是由于网络太差导致node.lib没有正确下载,解决办法是手动下载node.lib,方法如下:- 打开node官方提供的动态库 https://nodejs.org/download/release/v17.0.0/win-x64/ ,注意版本号v17.0.0需要与你的electron版本号保持一致,下载其中的node.lib
- 将node.lib放到该文件夹下 C:/user/用户名/.electron-gyp/17.0.0/x64
- 重新执行编译步骤