Малиновый последовательный порт автоматически останавливается через некоторое время - PullRequest
0 голосов
/ 24 сентября 2018

Я использую модуль neo 6m gps с raspberry pi 3, я подключил его к последовательному порту ttyAMA0, но он считывает данные только в течение небольшого времени, а затем порт закрывается автоматически, а иногда данные также повреждаются, что вызывает gps.jsмодуль для выдачи ошибки.

Скриншот демонстрации выполнения .

Ниже приведен скрипт js для моего узла:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);


var file = '/dev/ttyAMA0';

const SerialPort = require('serialport');
const parsers = SerialPort.parsers;

const parser = new parsers.Readline({
  delimiter: '\r\n'
});

const port = new SerialPort(file, {
  baudRate: 9600
});

port.pipe(parser);


var GPS = require('../../gps.js');
var gps = new GPS;

gps.on('GGA', function(data) {
  io.emit('position', data);
  console.log("Latitiude :", data.lat);
  console.log("Longitude :", data.lon);
});

app.get('/', function(req, res) {
  res.sendFile(__dirname + '/maps.html');
});

http.listen(3000, function() {

  console.log('listening on *:3000');
});

port.on('data', function(data) {    
  gps.updatePartial(data);
});

process.on('unhandledRejection', function (reason, p) {
  //I just caught an unhandled promise rejection, since we already have fallback handler for unhandled errors (see below), let throw and let him handle that
  console.log("=============");
  console.log(reason);
  console.log("=============");
  return;
});

process.on('rejectionHandled', () => {});

process.on('uncaughtException', function (error) {
    console.log(error);
});

port.on('close', function(data) {

  console.log("Port closed");
  console.log(port.binding);

    });

Скриншот вывода

1 Ответ

0 голосов
/ 01 октября 2018

Я решил проблему переустановкой raspbian, ОС почему-то закрывала порт

...