Profilo di Andrea Ubaldi

Nome Andrea Ubaldi
Indirizzo email [email protected]
AvatarAvatar utenti
Messaggi12
  • Re: Libreria per Sensore MLX90632
    Forum >> Programmazione Python >> Scripting
    Scusate! :party:



    La connessione del disposito è in i2c. L'ho già interfacciato sul raspi. Le librerie date dalla melixs(produttore) sono in linguaggio C. Non credo esista qualcosa scritto in py da poterlo importare direttamente....

    --- Ultima modifica di Andrea Ubaldi in data 2018-09-30 19:15:35 ---
  • Libreria per Sensore MLX90632
    Forum >> Programmazione Python >> Scripting
    Buonasera,
    Qualcuno è ha conoscenza di librerie per MLX90632??




    Non sò se è la sezione corretta.... :)
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    ho inserito una cattura come allegato su come è strutturata la tabella.

    l'allegato corretto è TABBELA_REV




    --- Ultima modifica di Andrea Ubaldi in data 2018-03-09 17:12:04 ---
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    ok! :) perchè è proprio quello che non riesco a risolvere cioè inserire nella query tutti valori contenuti nella lista e non solo un valore. Ho fatto svariate prove ma senza risultato.....
    Bene o male lo script mi andava anche se non era snello e logicamente sbaglianto, adesso con le modifiche che mi hai consigliato è molto meglio ma questo è un problema che mi sono portato sempre dietro. Non riesco a trovare la sintassi corretta per dirgli "inserisci la lista completa".

    Mi stà venendo il dubbio che l'istruzione [values(%s)] non è corretta perchè con %s gli stò dicendo che l'argomento è trattato come e presentato come una stringa e la lista forse non và interpretata come un stringa.

    Queste sono delle prove che ho effettuato.
    [...]""", lista[0], lista[1], lista[n])
    [...]""", (lista[0], lista[1], lista[n]))
    [...]""", (lista[0]), (lista[1]), (lista[n])))
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    [...]
    curs.execute ("""insert into nome_tabella(nome_colonna) values(%s)""", lista[0])
    db.commit()
    print "comando inviato"
    Cosi facendo non vado ad inserire solamente il valore con indice 0 della lista (il primo valore dell'intera lista composta di 13 valori)?



    Suggerimento straccettato :) e ovviamente farò queste modifiche perché senza dubbio è più semplice da leggere e più snello.
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    Effettuato le correzioni. Sono bloccato nella scrittura dell'intera lista q. Scrive nel db solo q0(che è giusto perché nella query richiedo di scrivere solo il valore con indice 0 della lista q). Perché dici che mi scrive solamente quando i == 14?? Mi puoi spiegare gentilmente perché probabilmente non riesco a vedere un errore scritto da me. Grazieeeee ;)

    --- Ultima modifica di Andrea Ubaldi in data 2018-03-07 20:56:08 ---
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    Rileggendo bene Mysql avevo frainteso rollback pensando che terminasse solo la transazione invece la termina e annulla. In questo caso credo proprio non mi serva. Grazie per la precisazione e appena faccio le modifiche farò sapere cosa succede. :ok:
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    Ci sono quasi :)
    import sys
    import MySQLdb
    
    f = open('/dev/hidraw0','rb') #leggo il dispositivo
    lista = []
    i = 0
    
    db = MySQLdb.connect("localhost", "utente", "password", "nome_db")
    curs=db.cursor()
    
    while 1 == 1 :
            buffer  = f.read(16) #leggo il valore del dispositivo
            for char in buffer:
                    if ord(char):
                            output  = int("0x"+str(ord(char)),base=16) + 1 #conversione del valore in intero
                            a = [chr(output)]
                            i = i + 1
                    if i == 1:
                            b = lista + a
                    elif i == 2:
                            c = b + a
                    elif i == 3:
                            d = c + a
                    elif i == 4:
                            e = d + a
                    elif i == 5:
                            r = e + a
                    elif i == 6:
                            g = r + a
                    elif i == 7:
                            h = g + a
                    elif i == 8:
                            l = h + a
                    elif i == 9:
                            m = l + a
                    elif i == 10:
                            n = m + a
                    elif i == 11:
                            o = n + a
                    elif i == 12:
                            p = o + a
                    elif i == 13:
                            q = p + a
                    elif i == 14:
                            i = 0
                            print q
    
                            curs.execute ("""insert into nome_tabella(nome_colonna) values(%s)""", q0)
    
                            db.commit()
    
                            print "comando inviato"
    
    
    db.rollback()
    
    db.close()
    
    
    questo è lo script dove ho avuto dei risultati. Creo la lista la stampo su monitor e mi collego correttamente al db scrivendo l'elemento con indice 0. Il problema è che non riesco a inserire tutta la lista nella query.....
    ho provato in vari modi ma senza risultato.
    - """, q0, q1, qn)
    - """, (q0, q1, qn))
    - """, (q0), (q1), (qn)))

    Sicuramente creo un errore nella sintassi o per inserire più elementi di una lista non è il modo corretto.
    Attendo consigli Grazieee
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    purtroppo non riesco a trovare una soluzione data dalla mia inesperienza.....tutte le prove che faccio non portano da nessuna parte. Non riesco a ragruppare tutti i valori ottenuti in un'unica stringa ma mi vengono stampati uno alla volta. Potete darmi una dritta così da poter trovare la soluzione? Grazieeee
  • Re: scrivere un valore ottenuto in un database
    Forum >> Programmazione Python >> Database
    Grazie per il consiglio era la prima volta che facevo uno script con due import. INCOMINCIA A FUNZIONARE!!!!
    import sys
    import MySQLdb
    
    f = open('/dev/hidraw0','rb') #leggo il dispositivo
    data = ''
    while 1:
            buffer  = f.read(16) #leggo il valore del dispositivo
            for char in buffer:
                    if ord(char):
                            output  = int("0x"+str(ord(char)),base=16) + 1 #conversione del valore in intero
                            a = chr(output)
    
            db = MySQLdb.connect("localhost", "utente", "password", "home") #connessione a db
            curs=db.cursor()
    
            try:
                    curs.execute ("""insert into nometabella(nomecolonna) values(%s)""",(a)) #eseguo query
                    db.commit()
    
                    print "comando inviato"
    
            except:
                    print "comando non inviato"
    
            db.rollback()
    
            db.close()
    
    
    riesco a leggere i valori dal dispositivo nel mio caso una pistola barcode e scrivere la variabile a nel db. Adesso il bug è che i valori non vengono inseriti tutti in una row ma viene creata una row per ogni valore, nel mio caso vengono create 14 rows perchè il barcode è formato da 14 numeri. Per adesso ottimo risultato!