NodeJSでシリアルポートを使っているArduinoを自動的に接続する方法


NODEJSのserial-port packageは素晴らしいツールです.ArduinoのようなハードウェアでJavaScriptと通信することができます.ここでは、使用されるポートを指定せずに自動的に接続されたArduinoと接続する方法を示します.必要なのは、シリアルポートパッケージを持つノードインストールアプリケーションです.
const SerialPort = require('serialport')

let path = ''
let ArduinoPort = ''

// Promise approach
SerialPort.list().then(ports => {
  let done = false
  let count = 0
  let allports = ports.length
  ports.forEach(function(port) {
    count = count+1
    pm  = port.manufacturer

    if (typeof pm !== 'undefined' && pm.includes('arduino')) {
      path = port.path
      ArduinoPort = new SerialPort(path, { baudRate: 115200 })
      ArduinoPort.on('open', function(){
        console.log(`connected! arduino is now connected at port ${path}`)
      })
      done = true
    }

    if(count === allports && done === false){
      console.log(`can't find any arduino`)
    }
  })
})
私は、コードをportlistで書きました.デスクトップアプリケーションノードのアプリケーションディレクトリ.それで、私がそれを走らせたいならば、私はcommadをタイプしました
node portList.js

ここで結果



以上です.私は、あなたが問題を解決するのを援助することを望みます.どんな提案も歓迎します