Electron項(xiàng)目中使用SerialPort串口功能

初始化Electron項(xiàng)目

  1. 新建serialport_demo文件夾,并cd進(jìn)入該文件夾
  2. 執(zhí)行vue init,按照提示一步一步初始化配置
  3. 安裝electron依賴項(xiàng)
    npm install electron
    

安裝串口依賴項(xiàng)

  1. 安裝串口
    npm install serialport –save
    
  2. 安裝electron-rebuild,因?yàn)榇趲焓莕pm提供的原生庫,需要使用electron-rebuild重新編譯后才能實(shí)現(xiàn)跨平臺
    npm install –save-dev electron-rebuild
    
  3. 配置編譯環(huán)境,需使用管理員權(quán)限運(yùn)行
    npm install –global –production windows-build-tools
    
    (如果配置失敗請點(diǎn)擊此處)
  4. 編譯串口庫
    .\node_modules\.bin\electron-rebuild.cmd
    
    (如果編譯失敗請點(diǎn)擊此處)

編寫業(yè)務(wù)代碼

  1. 新建index.html文件,自定義html結(jié)構(gòu)
  2. 打開package.json文件,將其中的index.js改為main.js
  3. 新建main.js文件,文件內(nèi)容如下
     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) {
    
             }
         });
         // 監(jiān)聽串口數(shù)據(jù)
         // 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);
             });
         })
     })
    

可能遇到的問題

  1. <h5 id="build_config_issue">配置編譯環(huán)境時(shí)卡在了Python配置</h5>
    導(dǎo)致該問題的原因是你的電腦已經(jīng)安裝了Python2.7.15,無需重新安裝,但是配置腳本沒有跳過該步驟,導(dǎo)致卡住。解決辦法是手動(dòng)跳過該步驟,方法如下:

    1. 在任務(wù)管理器地址欄輸入%Temp%,回車進(jìn)入Temp文件夾
    2. 新建dd_client_.log文件,文件內(nèi)容如下(不要忘記最后的一個(gè)點(diǎn))
      Closing installer. Return code: 3010.
      
    3. 重新執(zhí)行配置步驟即可跳過Python配置
  2. <h5 id="build_issue">編譯時(shí)出現(xiàn)動(dòng)態(tài)庫鏈接錯(cuò)誤</h5>
    導(dǎo)致該問題的原因是由于網(wǎng)絡(luò)太差導(dǎo)致node.lib沒有正確下載,解決辦法是手動(dòng)下載node.lib,方法如下:

    1. 打開node官方提供的動(dòng)態(tài)庫 https://nodejs.org/download/release/v17.0.0/win-x64/ ,注意版本號v17.0.0需要與你的electron版本號保持一致,下載其中的node.lib
    2. 將node.lib放到該文件夾下 C:/user/用戶名/.electron-gyp/17.0.0/x64
    3. 重新執(zhí)行編譯步驟
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容