• 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
non va pyserial e

pyserial e .... non va
#1
Question 
Salve a tutti, ho necessità di usare il porta seriale con il Raspberry 3.
Per fare cio' mi sono avvalso della guida su pyserial per capire come gestire la seriale.
Il problema arriva subito con la prime 2/3 righe.
Da guida :

Codice:
import serial
ser = serial.Serial ('/dev/ttyUSB0') # gia' questo da un errore

Traceback (most recent call last):
 File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
   self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/ttyUSB0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "<pyshell#1>", line 1, in <module>
   ser=serial.Serial('/dev/ttyUSB0')
 File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 236, in __init__
   self.open()
 File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
   raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'


Se io scrivo invece, un suggerimento preso da un post di Zeed di qualche tempo fa :

Codice:
import serial
ser = serial.Serial('/dev/serial0')

Ottengo il seguente errore :


 File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
   self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/serial0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "<pyshell#3>", line 1, in <module>
   ser=serial.Serial('/dev/serial0')
 File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 236, in __init__
   self.open()
 File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
   raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 13] could not open port /dev/serial0: [Errno 13] Permission denied: '/dev/serial0'


Sono quindi a chiedere, cosa NON ho impostato nel Raspberry ??
Grazie
Alberto
Risposta
#2
nel primo caso non esiste la periferica /dev/ttyUSB0
di che parliamo? non conosco il contesto. guida seguita?

nel secondo non ha i permessi per accedere a /dev/serial0
lancialo col "sudo" davanti per dargli i permessi amministrativi



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#3
Nel primo caso non esiste perché già assegnata al Bluetooth (su RaspberryPi 3 è RaspberryPi Zero, è così).
Risposta
#4
Grazie per le risposte, stiamo parlando dell’utilizzo di pyserial su Raspberry 3 per poter inviare e ricevere dati dalla seriale.
I comandi scritti erano le prime due righe del manuale di pyserial aggiornato al 2017.
Sapete indicarmi come posso fare, visto che il manuale mi dice cose NON VERE a partire dalle prime righe.
Io devo gestire con la seriale la RS 485 per dialogare con una scheda da noi progettata che monta un Pic.
Vi ringrazio e per le dritte vorrete darmi.
Grazie a tutti
Alberto


Inviato dal mio iPad utilizzando Tapatalk Pro
Alberto
Risposta
#5
Hai lanciato il tuo programma con "sudo" davanti?
sudo python ....
Risposta
#6
No, ho scritto sempre tutto da Shell di python


Inviato dal mio iPhone utilizzando Tapatalk Pro
Alberto
Risposta
#7
Scusate, ma se io dovessi fare un programmino per gestire invio e ricezione di comandi via seriale con il Raspberry come devo fare ??
Se sto sviluppando il programma come posso utilizzare il "sudo" ??
Scusate ma sono in crisi da soluzione e con fretta per la stessa; lunedi mi arriva la scheda progettata e dovrei cominciare i test....
Grazie a chi potrà aiutarmi

Alberto
Alberto
Risposta
#8
Scusami, sono concetti basilari che ho dato per scontati..
il programma lo scrivi in un file si testo, che chiamerai poi "quellochevuoi.py"
per lanciarlo con sudo:
Codice:
sudo python3 quellochevuoi.py
(visto che, dagli errori, vedo che usi python3)
Risposta
#9
(02/03/2018, 00:39)Zzed Ha scritto: Scusami, sono concetti basilari che ho dato per scontati..
il programma lo scrivi in un file si testo, che chiamerai poi "quellochevuoi.py"
per lanciarlo con sudo:
Codice:
sudo python3 quellochevuoi.py
(visto che, dagli errori, vedo che usi python3)


Ok, grazie Zzed.
Quindi mi stai dicendo che ogni volta che lancio il programma per testarlo devo Salvarlo, aprire il Terminale e lanciare il programma con Sudo.
Non c’è la possibilità di “fargli avere i permessi” da dentro Python ?
Perché l’uso della seriale è così “pericoloso” ??
Grazie
Ciao



Inviato dal mio iPhone utilizzando Tapatalk Pro
Alberto
Risposta
#10
Non so (non avendo mai usato la seriale) se è indispensabile usare sudo per la seriale (probabilmente no, basterebbe aggiungere i permessi giusti all'utente In uso, a giudicare dal l'errore che ti da.. Chiaro che l'admin può fare tutto, quindi per provare, va bene).
Vedi anche qui
Cmq si, è la procedura normale di programmazione (se il linguaggio è compilato, tipo il C, va anche fatta la compilazione sulla macchina, prima di lanciarlo). Usare un IDE (di serie su Raspbian c'è Thonny) semplifica molto queste operazioni.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect