Hoe Arduino automatisch te verbinden met een seriële poort in NodeJS

serieel-poortpakket in NodeJS is een geweldige tool. U kunt alleen met JavaScript communiceren met hardware zoals Arduino. Hier zal ik je laten zien hoe je automatisch verbinding kunt maken met een aangesloten Arduino zonder de gebruikte poort te specificeren. Het enige dat u nodig hebt, is een op een knooppunt geïnstalleerde toepassing met een pakket met seriële poorten.

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`)
    }
  })
})

ik schreef de code in het bestand portList.js in de applicatiemap van enose-desktop-applicatieknooppunt. Dus, als ik het wil uitvoeren, typte ik kommad

node portList.js

Hier het resultaat

Dat is alles. Ik hoop dat het je zal helpen om het probleem op te lossen. elke suggestie is welkom :)