У меня есть камера CCD AllSky-340, которая обменивается данными с использованием последовательного порта.Узел serialport пишет на PL2303, но не на подключенном устройстве
Я использую USB-конвертер PL2303 для подключения к ноутбуку.
dmesg:
[14223.043367] usb 1-2: new full-speed USB device number 12 using xhci_hcd
[14223.172348] usb 1-2: New USB device found, idVendor=067b, idProduct=2303
[14223.172352] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14223.172353] usb 1-2: Product: USB-Serial Controller
[14223.172355] usb 1-2: Manufacturer: Prolific Technology Inc.
[14223.172763] pl2303 1-2:1.0: pl2303 converter detected
[14223.173356] usb 1-2: pl2303 converter now attached to ttyUSB0
код питона называется pyallsky позволяет управлять камерой AllSky340 под Linux. Оно работает.
Я перевел этот код в javascript для использования с узлом.
Вот часть кода кода ("E:"
это команда тест):
var serialport = require("serialport");
var sp = new serialport(portName);
sp.on('open', showPortOpen);
sp.on('close', showPortClose);
sp.on('disconnect', showPortDisconnect);
sp.on('error', showError);
sp.on('data', sendSerialData);
function showPortOpen(error) {
if (error) {
console.log('Error while opening the port ' + error);
} else {
console.log('port open. Data rate: ' + sp.options.baudRate);
var buffer = "E:"
sp.write(buffer, function (err, result) {
console.log("writing buffer: "+buffer)
if (err) {
console.log('Error while sending message : ' + err);
}
if (result) {
console.log('Response received after sending message : ' + result);
}
});
}
}
function sendSerialData(data) {
console.log('sendserial data says: '+data);
}
function showPortClose() {
console.log('port closed.');
}
function showPortDisconnect() {
console.log('port disconnected.');
}
function showError(error) {
console.log('Serial port error: ' + error);
}
Но это не работает: запуск сценария, журнал является
port open. Data rate: 9600
writing buffer: E:
и ничего из камера получает.
Я знаю, что слушатель данных работает, потому что если я бегу сценарий pyallsky
питона в то же время, мои данные слушатель перехватывает (до pyallsky
жалуется множественный доступ к порту).
Выключение камеры не влияет на close
и disconnect
прослушиватель.
только отсоединив кабель PL2303 вызывает скрипт для входа
port disconnected.
port closed.
Моя идея заключается в том, что js
код взаимодействует только с PL2303 кабелем, а не с камерой. Это возможно? Как я могу это решить?