• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
seriale porta problema

problema porta seriale
#1
Buongiorno a tutti,
sono Luca e utilizzo i Rpi (con S.O. Raspian) come server, per trasferire dati GPS. Ho due differenti problemi con la porta seriale:

1) su un Rpi 3 collegato ad un UBLOX (un GPS a basso costo) tramite porta USB utilizzo un codice "serial to tcpip" con il quale rendo disponibili i dati che vengono scaricati in tempo reale da un computer che si trova da un'altra parte. Il problema è che la seriale ogni qualche minuto cambia nome (da ACM0 a ACM1 e viceversa). Pensavo di aver risolto il problema creando una udev rule, ma purtroppo quando avviene questo cambio di nome, il link non sia aggiorna in tempo reale e finchè non riavvio il codice non si aggiorna. La cosa strana è che questo tipo di problema ce l'ho solo in questo Rpi mentre in altri 2 RPi che lavorano nella stessa maniera non presentano questa cosa strana.

2) su un altro Rpi 3 ho un problema un po' differente: qui lavoro sulla porta ttyUSB0 in quanto collego il RPi ad un ricevitore GPS (con porta seriale RS232) attraverso un adattatore Serial-USB.
In questo caso ogni 6 o 7 giorni la seriale smette di dare in uscita i dati (come se si "impallasse") e anche killando il codice e andando a fare un cat sulla porta non da segno di vita. In questo caso resettando la seriale con i comandi 
Codice:
sudo modeprobe -r pl2303
Codice:
sudo modeprobe -r usbserial

Codice:
sudo modeprobe pl2303
Codice:
sudo modeprobe usbserial
la seriale torna a funzionare. Ma purtroppo non ho modo di accorgermi in tempo reale di quando avviene questo problema, se non collegandomi ai server grafici che prelevano i dati GPS.

Spero di essermi spiegato correttamente.
Se qualcuno avesse qualche idea su come risolvere questi problemi ne sarei veramente grato

Luca
Risposta
#2
Il primo dispositivo seriale, in RaspberryPi 3 (e RaspberryPi Zero W) è collegato al Bluetooth integrato.
Zzed Ha scritto:Come Raspberry Pi 3, Anche il Pi Zero W, usa la UART principale per gestie la connettività Bluetooth. Questo comporta che la UART (seriale sui pin GPIO) identificata con il device /dev/ttyAMA0, sia occupata, e quindi non utilizzabile. Per ovviare a questo, la UART secondaria (miniUART), disponibile su /dev/ttyS0, è stata rimappata come /dev/serial0. Quindi, per rendere tutti i vecchi tutorial che usavano la UART compatibili anche con Raspberry Pi 3 e Zero W, si può sostituire in essi /dev/ttyAMA0 con /dev/serial0 per renderli compatibili con tutti i dispositivi.

Questo può comportare dei problemi, però, in alcune applicazioni particolari, in quanto la miniUART (normalmente usata per il debug su console seriale) possiede una capacità di banda inferiore, e non supporta la parità.

Verifica anche la tensione, che l'alimentatore non sia "tirato per il collo".. Un calo di tensione, potrebbe resettare la connessione seriale del dispositivo, che poi quando si ripristina va a prendere la prima porta libera, alternandole.
Risposta
#3
(12/03/2018, 13:55)Zzed Ha scritto: Il primo dispositivo seriale, in RaspberryPi 3 (e RaspberryPi Zero W) è collegato al Bluetooth integrato.
Zzed Ha scritto:Come Raspberry Pi 3, Anche il Pi Zero W, usa la UART principale per gestie la connettività Bluetooth. Questo comporta che la UART (seriale sui pin GPIO) identificata con il device /dev/ttyAMA0, sia occupata, e quindi non utilizzabile. Per ovviare a questo, la UART secondaria (miniUART), disponibile su /dev/ttyS0, è stata rimappata come /dev/serial0. Quindi, per rendere tutti i vecchi tutorial che usavano la UART compatibili anche con Raspberry Pi 3 e Zero W, si può sostituire in essi /dev/ttyAMA0 con /dev/serial0 per renderli compatibili con tutti i dispositivi.

Questo può comportare dei problemi, però, in alcune applicazioni particolari, in quanto la miniUART (normalmente usata per il debug su console seriale) possiede una capacità di banda inferiore, e non supporta la parità.

Verifica anche la tensione, che l'alimentatore non sia "tirato per il collo".. Un calo di tensione, potrebbe resettare la connessione seriale del dispositivo, che poi quando si ripristina va a prendere la prima porta libera, alternandole.

Grazie mille per la risposta
Andrò subito a verificare la tensione. Non ho però capito la prima parte, in quanto io utilizzo la porta ACM0 non la AMA0

Luca
Risposta
#4
Qui la documentazione ufficiale della seriale
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect