Topic: come lanciare SNA.py ...help  (Letto 1433 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline IW2FVO

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
come lanciare SNA.py ...help
« il: Settembre 28, 2016, 10:08 »
buon giorno  tutti nel forum.
ho installato sul mio PC win 7 64 bit il programma Python 2.7.
Ho la necessità di utilizzare il programma SNA.py relativo a Scalar Network Analyzer per Arduino ma quando lo clicco, dopo un brevissimo lampeggio dello schermo, non succede assolutamente nulla.
Non sono un programmatore e non sono un esperto Python.
C'è qualcuno che per cortesia mi possa aiutare a risolvere il problema?
Mi servirebbero le indicazioni passo passo per poter utilizzare il programma.
Scusatemi se ho posto una domanda per molti superflua...
Ringrazio anticipatamenete per l'aiuto.
saluti
iw2fvo, Ambrogio
iw2fvo@yahoo.com

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #1 il: Settembre 28, 2016, 17:02 »
Hai provato da linea di comando?

del tipo:
[codice]python path_del_tuo_script/nomescript.py[/codice]

Offline IW2FVO

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #2 il: Settembre 28, 2016, 18:33 »
grazie ma non va proprio.
ho effettuato il download del .py qui:

https://github.com/rheslip/Scalar_Network_analyser

per favore potresti vedere se riesci a lanciarlo ?

saluti
Ambro

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #3 il: Settembre 29, 2016, 10:07 »
Il problema è che dovresti magari spiegarci quello che fai, e quello che non funziona a seguito di quello che fai. Dire "un brevissimo lampeggio dello schermo" non è abbastanza: non sei un programmatore ma sono sicuro che lo capisci anche tu.

Poi c'è anche un altro problema: che non capiamo di preciso che cosa sai fare o non sai fare con un computer. Per esempio, se non sai come si apre una shell e non sai lavorarci, c'è una strada mooolto lunga da fare.

Ora, quello che tu chiami "il programma Python 2.7" che hai installato sul tuo computer, è all'ingrosso un interprete per il linguaggio di programmazione python, più un pacchetto di moduli di varia utilità che costituiscono la cosiddetta "libreria standard". Ci sarebbe da chiedersi se hai installato correttamente python. Ma lo vedi subito: basta aprire una shell e dare python<invio> (o anche semplicemente py<invio>). Se entri nella console di python (riconoscibile per il prompt a forma di ">>>") vuol dire che hai installato python correttamente.

Poi c'è il problema successivo. Purtroppo il modulo che stai cercando di usare non è documentato, ed è poco più di un proof of concept... Comunque, se leggiamo all'inizio l'elenco degli import che fa, ci accorgiamo che per funzionare ha bisogno di due pacchetti aggiuntivi: Numpy e Pyaudio (gli altri import si riferiscono tutti a pacchetti della libreria standard, quindi ci sono già). Non dovrebbe essere difficile installarli: apri una shell e pip install numpy, e poi pip install pyaudio.

A questo punto dovresti essere in grado di far girare il tuo script SNA.py... non è che ha bisogno di essere "installato", perché è solo un modulo standalone. Scaricalo da qualche parte, e poi con una shell portati nella directory dove lo hai scaricato, e python SNA.py (o anche py SNA.py). Il problema però è che dovresti configurarlo "a mano", prima. Per esempio, se leggi il codice alle righe 19 e 20, come minimo dovresti cambiare il valore della costante SERIALPORT per rispecchiare quella che usi tu... Ma anche le costanti successive potrebbero essere cambiate, dipende da quello che vuoi fare. Semplicemente, cambia i valori e salva il file.

Poi c'è il problema successivo. Quello che hai appena fatto girare, è solo l'interfaccia grafica per l'analizzatore. Il codice dell'analizzatore vero e proprio andrebbe installato su Arduino, suppongo. Se leggi il codice di SNA.py fino a trovare il suo main loop (riga 475 e seguenti) trovi che lui cerca di leggere dalla porta seriale (ser = serial.Serial(SERIALPORT, 9600, timeout=1)) per ricevere i dati dell'Arduino. Se per qualche motivo non ci riesce, ti mostra un messaggio di errore.
Ora, io di Arduino non me ne intendo, e qui suppongo che tu sappia già come fare...

E questo è più o meno tutto, direi. In teoria non è per nulla difficile. In pratica, dipende molto da quello che sai già fare.
Però se non sapessi guidare la macchina, non ti verrebbe in mente di farti suggerire al telefono da un amico tutti i passaggi necessari per andare da Milano a Roma, vero? Ti rassegneresti a prendere prima la patente. Con il computer, è proprio esattamente la stessa cosa.

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #4 il: Settembre 29, 2016, 23:06 »
Non sono un programmatore e non sono un esperto Python.

Per esempio, se non sai come si apre una shell e non sai lavorarci...
Ma lo vedi subito: basta aprire una shell e dare...
Non dovrebbe essere difficile installarli: apri una shell...
Scaricalo da qualche parte, e poi con una shell portati...

RicPol, non so il perché, ma ho il presentimento che ti toccherà spiegargli anche cos'è una shell.

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #5 il: Settembre 29, 2016, 23:39 »
mah, dici? cioè, uno che sta cercando di montare un network analyzer con arduino... non credo che non abbia mai aperto una shell... mah...

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #6 il: Settembre 30, 2016, 15:27 »
mah, dici? cioè, uno che sta cercando di montare un network analyzer con arduino... non credo che non abbia mai aperto una shell... mah...

Non saprei, ma da quello che ha scritto penso proprio che sia così.

Per curiosità ho provato a scaricare il programmino e avviandolo da linea di comando mi da esattamente l'errore che fa bloccare il programma (come con tutti gli script in python d'altronde).
Non è detto che a lui si blocchi per lo stesso motivo, ma almeno se aveva avviato da riga di comando (o da shell come suggerisci tu) immagino gli sarebbe saltato fuori un errore...

o magari si è semplicemente dimenticato di postarlo qui da noi? (perché noi ovviamente abbiamo la sfera di cristallo a portata di mano).
« Ultima modifica: Settembre 30, 2016, 15:32 da Tungsteno »

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #7 il: Settembre 30, 2016, 18:19 »
Per curiosità ho provato a scaricare il programmino e avviandolo da linea di comando mi da esattamente l'errore che fa bloccare il programma
che errore? vuoi dire che lo script funziona ma ti dà subito il messaggio d'errore di Tk perché non hai Arduino collegato, giusto?
Ma d'altra parte ci sta anche che sia bacato lo script...

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #8 il: Settembre 30, 2016, 20:31 »
Per curiosità ho provato a scaricare il programmino e avviandolo da linea di comando mi da esattamente l'errore che fa bloccare il programma
che errore? vuoi dire che lo script funziona ma ti dà subito il messaggio d'errore di Tk perché non hai Arduino collegato, giusto?
Ma d'altra parte ci sta anche che sia bacato lo script...

[codice]Traceback (most recent call last):
  File "SNA.py", line 10, in <module>
    import serial
ImportError: No module named serial[/codice]


In realtà il mio errore non è molto rilevante, in quanto l'OP potrebbe aver fatto altre operazioni precedenti e/o configurato il suo sistema in maniera completamente diversa.

Però quello che volevo far capire all'OP è che avviare lo script da riga di comando può rivelarsi molto più utile di un doppio click sull'icona dell'eseguibile (e magari salta fuori l'errore).

Ma mi sa che l'OP si è volatilizzato.

@RicPol: Per caso lo hai già provato anche tu?
« Ultima modifica: Settembre 30, 2016, 20:33 da Tungsteno »

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: come lanciare SNA.py ...help
« Risposta #9 il: Ottobre 01, 2016, 09:55 »
Mannaggia, mi era sfuggito pyserial nella lista delle dependencies...
Ok, allora, per l'OP (se è ancora qui in giro)... Oltre a installare NumPy e PyAudio come ti ho detto, devi anche installare PySerial per far girare il programino... Ancora una volta, è solo questione di aprire una shell e fare pip install pyserial.

@RicPol: Per caso lo hai già provato anche tu?
No, gli ho solo dato una scorsa veloce...