Новая версия последовательного порта 10.x не делает того, что было легко в 9.x ⇐ Javascript
Новая версия последовательного порта 10.x не делает того, что было легко в 9.x
В течение многих лет я использую последовательный порт узла с узлом на Raspberry Pi 3 b plus для перенаправления входящих шестнадцатеричных данных с последовательных USB-накопителей domotica на другой последовательный порт USB на Pi, подключенном к последовательному серверу Digi. но теперь программирование с использованием новейших версий последовательного порта и узла не работает, задержка слишком велика, поэтому связь замедляется.
это работает со старым кодом довольно просто 'use strict'; const util = require("util") константный буфер = требуется ('буфер'); пусть последовательный порт = требуется ('последовательный порт'); //пусть SerialPort = последовательный порт.S пусть bRate = 115200; // список последовательных портов: Serialport.list(функция (ошибка, порты) { ports.forEach(функция (порт) { util.log(port.comName); }); }); let portStick = новый последовательный порт('/dev/ttyUSB0', { кодировка: «шестнадцатеричный», скорость передачи данных: bRate, биты данных: 8, стопбиты: 1, четность: «нет», }); let portSource = новый последовательный порт('/dev/ttyUSB1', { кодировка: «шестнадцатеричный», скорость передачи данных: bRate, биты данных: 8, стопбиты: 1, четность: «нет», }); portStick.on('open', function () { util.log('Открытие portStick'); }); portSource.on('open', функция () { util.log('Открытие источника порта'); }); //port.open(функция (ошибка) { // если (ошибка) { // return util.log('Ошибка открытия порта: ', err.message); // } // // на порту будут возникать ошибки записи, поскольку нет обратного вызова для записи // // port.write('включение главного экрана'); //}); portStick.on('данные', функция (данные) { // util.log('Данные: ' + данные); util.log('данные с Stick'); //пусть myString = JSON.stringify(данные) //util.log('второй Data Stick: ' + myString); //portStick.pipe(сокет) если (portSource) { portSource.write(данные) } //util.log('string hex Stick ', data.toString('hex')); }); portStick.on('ошибка', ошибка => { util.log('ошибка portStick', ошибка) }) portSource.on('данные', функция (данные) { //util.log('Данные: ' + данные); util.log('данные из источника'); //пусть myString = JSON.stringify(данные) //util.log('второй источник данных: ' + myString); //portSource01.pipe(сокет) если (portStick) { portStick.write(данные) } // util.log('string hex Stick', data.toString('hex')); }); portSource.on('ошибка', ошибка => { util.log('ошибка источника порта', ошибка) }) это код nwe для замедления const buffer =require('buffer'); //пусть последовательный порт = требуется('serialport'); const sp = require('последовательный порт') //пусть SerialPort = последовательный порт.S const util = require("util") const bRate = 115200; const БР = 9600; // список последовательных портов: сп.SerialPort.list() .then((data) => console.log('порты данных',данные)) .catch(err => console.log(err)); const portStick = new sp.SerialPort({путь: '/dev/ttyUSB0', baudRate: bRate, dataBits: 8, stopBits: 1, четность: 'none' }); const portSource = new sp.SerialPort({путь: '/dev/ttyUSB1', baudRate: bRate, dataBits: 8, stopBits: 1, четность: 'none' }); console.dir(portStick, {глубина: ноль}); portStick.setEncoding('шестнадцатеричный') portSource.setEncoding('шестнадцатеричный') portStick.on('open', () => { console.log(new Date().toString(), 'Открытие portStick'); }); portSource.on('open', () => { util.log('Открытие источника порта'); }); // portSource.read() = Буфер //port.open(функция (ошибка) { // если (ошибка) { // return util.log('Ошибка открытия порта: ', err.message); // } // // на порту будут возникать ошибки записи, поскольку нет обратного вызова для записи // // port.write('включение главного экрана'); //}); portStick.on('данные', (данные) => { // util.log('Данные: ' + данные); util.log('данные с флешки',данные); //пусть myString = JSON.stringify(данные) //util.log('второй Data Stick: ' + myString); // portStick.pipe(portSource) если (portSource) {portSource.write(данные); util.log('portSource true') } //util.log('string hex Stick ', data.toString('hex')); }); portStick.on('ошибка', ошибка => { util.log('ошибка portStick', ошибка) }) portSource.on('данные', (данные) => { //util.log('Данные: ' + данные); util.log('данные из источника', данные); //пусть myString = JSON.stringify(данные) // util.log('второй источник данных: ' + myString); // portSource.pipe(portStick) если (portStick) {portStick.write(данные); util.log('portStick true') } // util.log('string hex source ', data.toString('hex')); }); portSource.on('ошибка', ошибка => { util.log('ошибка источника порта', ошибка) })
В течение многих лет я использую последовательный порт узла с узлом на Raspberry Pi 3 b plus для перенаправления входящих шестнадцатеричных данных с последовательных USB-накопителей domotica на другой последовательный порт USB на Pi, подключенном к последовательному серверу Digi. но теперь программирование с использованием новейших версий последовательного порта и узла не работает, задержка слишком велика, поэтому связь замедляется.
это работает со старым кодом довольно просто 'use strict'; const util = require("util") константный буфер = требуется ('буфер'); пусть последовательный порт = требуется ('последовательный порт'); //пусть SerialPort = последовательный порт.S пусть bRate = 115200; // список последовательных портов: Serialport.list(функция (ошибка, порты) { ports.forEach(функция (порт) { util.log(port.comName); }); }); let portStick = новый последовательный порт('/dev/ttyUSB0', { кодировка: «шестнадцатеричный», скорость передачи данных: bRate, биты данных: 8, стопбиты: 1, четность: «нет», }); let portSource = новый последовательный порт('/dev/ttyUSB1', { кодировка: «шестнадцатеричный», скорость передачи данных: bRate, биты данных: 8, стопбиты: 1, четность: «нет», }); portStick.on('open', function () { util.log('Открытие portStick'); }); portSource.on('open', функция () { util.log('Открытие источника порта'); }); //port.open(функция (ошибка) { // если (ошибка) { // return util.log('Ошибка открытия порта: ', err.message); // } // // на порту будут возникать ошибки записи, поскольку нет обратного вызова для записи // // port.write('включение главного экрана'); //}); portStick.on('данные', функция (данные) { // util.log('Данные: ' + данные); util.log('данные с Stick'); //пусть myString = JSON.stringify(данные) //util.log('второй Data Stick: ' + myString); //portStick.pipe(сокет) если (portSource) { portSource.write(данные) } //util.log('string hex Stick ', data.toString('hex')); }); portStick.on('ошибка', ошибка => { util.log('ошибка portStick', ошибка) }) portSource.on('данные', функция (данные) { //util.log('Данные: ' + данные); util.log('данные из источника'); //пусть myString = JSON.stringify(данные) //util.log('второй источник данных: ' + myString); //portSource01.pipe(сокет) если (portStick) { portStick.write(данные) } // util.log('string hex Stick', data.toString('hex')); }); portSource.on('ошибка', ошибка => { util.log('ошибка источника порта', ошибка) }) это код nwe для замедления const buffer =require('buffer'); //пусть последовательный порт = требуется('serialport'); const sp = require('последовательный порт') //пусть SerialPort = последовательный порт.S const util = require("util") const bRate = 115200; const БР = 9600; // список последовательных портов: сп.SerialPort.list() .then((data) => console.log('порты данных',данные)) .catch(err => console.log(err)); const portStick = new sp.SerialPort({путь: '/dev/ttyUSB0', baudRate: bRate, dataBits: 8, stopBits: 1, четность: 'none' }); const portSource = new sp.SerialPort({путь: '/dev/ttyUSB1', baudRate: bRate, dataBits: 8, stopBits: 1, четность: 'none' }); console.dir(portStick, {глубина: ноль}); portStick.setEncoding('шестнадцатеричный') portSource.setEncoding('шестнадцатеричный') portStick.on('open', () => { console.log(new Date().toString(), 'Открытие portStick'); }); portSource.on('open', () => { util.log('Открытие источника порта'); }); // portSource.read() = Буфер //port.open(функция (ошибка) { // если (ошибка) { // return util.log('Ошибка открытия порта: ', err.message); // } // // на порту будут возникать ошибки записи, поскольку нет обратного вызова для записи // // port.write('включение главного экрана'); //}); portStick.on('данные', (данные) => { // util.log('Данные: ' + данные); util.log('данные с флешки',данные); //пусть myString = JSON.stringify(данные) //util.log('второй Data Stick: ' + myString); // portStick.pipe(portSource) если (portSource) {portSource.write(данные); util.log('portSource true') } //util.log('string hex Stick ', data.toString('hex')); }); portStick.on('ошибка', ошибка => { util.log('ошибка portStick', ошибка) }) portSource.on('данные', (данные) => { //util.log('Данные: ' + данные); util.log('данные из источника', данные); //пусть myString = JSON.stringify(данные) // util.log('второй источник данных: ' + myString); // portSource.pipe(portStick) если (portStick) {portStick.write(данные); util.log('portStick true') } // util.log('string hex source ', data.toString('hex')); }); portSource.on('ошибка', ошибка => { util.log('ошибка источника порта', ошибка) })
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу читать данные из последовательного порта в приложении Android?
Anonymous » » в форуме Android - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-