Двунаправленная связь между Arduino и Node.js
Я пытаюсь настроить систему, в которой приложение узла отправляет данные в arduino (nano, FWIW) с использованием serialport, и arduino отправляет подтверждение после завершения сообщения.
Я уверен, что с эскизом arduino все в порядке, потому что тестирование с использованием последовательного монитора IDE arduino показывает ожидаемое поведение. Однако я не могу заставить его работать с использованием последовательного порта. Вот код:
const SerialPort = require('serialport'),
PORT = '/dev/ttyUSB0'
void async function main(){
var port = new SerialPort(PORT, {
baudRate: 9600
})
await new Promise(resolve => { port.on('open', resolve) })
console.log('OPEN')
port.setEncoding('utf8')
port.on('data', (d) => {
console.log('data ! ' + d.toString())
})
// message is bounded by STX and ETX chars
port.write([0x02, 0x63, 0x65, 0x03])
console.log('done')
}()
Используя этот код, data
Событие не называется. Я пытался позвонить drain
а также flush
методы после записи данных, но это ничего не меняет. У тебя есть идеи, где я все испортил?