Forum >> Principianti >> utilizzo python con arduinoYun

Pagina: 1

Salve a tutti
Mi sono appena iscritto, mi chiamo Luigi son un
programmatore "tradizionale", finora ho usato linguaggi come ANSI C,
Visual pascal etc(Lazarus, Delphi). mi sono approcciato a python per
utilizzarlo su un Arduino Yun.
Ho dato un'occhiata veloce a questo
sito che mi sembra veramente ben fatto e poi la community ma fa sentire
più al sicuro per questa avventura.
Bando alle chiacchiere e vi dico
subito cosa mi potrebbe aiutare, sotto c'è uno "schizzo" di codice
python che mi serve su piattaforma arduino, chiaramente sarà più
complesso. In pratica questo codice dovrebbe creare un'interazione fra
arduino lato MCU e linino lato MPU e che inoltre si dovrebbe occupare di
inviare una mail qualora i sensori segnalino per esempio presenza di
acqua(allagamento), fiamma (incendio) o gas.

il problema che ho
riscontrato è che mi sembra e parlo solo dello schizzo, molto lento
nell'esecuzione per ciò che vorrei fare io. In pratica, ad occhio ci
mette almeno un paio di secondi. Ho letto che python è pseudointerpretato, quindi è esclusa la compilazione, quali posso essere le altre ottimizzazioni?.
Di seguito schizzo del codice

Dimenticavo la versione adottata da arduino è la 2.7

Grazie
Luigi
#!/usr/bin/python
import sys
sys.path.insert(0, '/usr/lib/python2.7/bridge/')
from bridgeclient import BridgeClient as bridgeclient
def ReadSensors():
        NSensori=['Sacqua','Sgas','Sfiamma','Stato1','Temperatura1','Umidita1','Stato2','Temperatura2','Umidita2']
        VReturn = []
        value = bridgeclient()
        for index in range(len(NSensori)):
                valore = value.get(NSensoriindex)

                if (valore!=None) and (valore2=='0'):
                        VReturn+= NSensoriindex,valore
        return VReturn

print ReadSensors()




--- Ultima modifica di luigi67 in data 2016-12-23 12:23:54 ---

--- Ultima modifica di luigi67 in data 2016-12-23 12:26:31 ---

--- Ultima modifica di luigi67 in data 2016-12-23 12:27:14 ---
Ciao Luigi e benvenuto.

Ora non conosco la versione Yun che è sicuramente uno dei prossimi acquisti visto che me ne parlano benissimo, uso una vecchia versione NG. Oltretutto, siamo ancora nelle premesse scusami , sono sopratutto uno smanettone di RPi che invece utilizzo con Python e del quale sono felice possessore di un numero variabile (?!?) di piattaforme. :embarrassed:

Lamenti una lentezza di esecuzione dello script in questione, ma esattamente in cosa è lento? Cioè lo script, anche se un po' più complicato di quello che mostri, mi sembra comunque banale, forse c'è una latenza troppo grande nel sensore di rilevazione? Esistono spesso delle regolazioni che possono essere eseguite sui sensori, per aumentarne o diminuirne il grado di risposta o di sensibilità, hai provato a dare un'occhiata a questo aspetto?

Altra cosa, tanto che non ci sente nessuno, ma essendo Arduino non ti conviene fare uno script in C visto che hai già le conoscenze necessarie? Sicuramente l'esecuzione sarà più veloce del nostro caro amico :py:.

Fammi sapere come va.
Cya
p { margin-bottom: 0.25cm; line-height: 120%; }


Grazie per la
risposta

ho scoperto che la lentezza è dovuta alla libreria
bridge che in pratica apre e chiude continuamente dei socket, ho
provato con una connessione seriale e questo rallentamento non c’è.
Alla fine però avrei deciso di usare comunque lai libreria Birdge e
gestire il rallentamento.

Avrei deciso di
usare python dato che c’è una libreria bella e pronta per queste
connessioni che come dicevo è la libreria bridge. Comunque grazie
per l’aiuto, sicuramente in questa avventura qualche altra
domandina la faro.

Grazie

Luigi




Pagina: 1



Esegui il login per scrivere una risposta.