Go Down

Topic: arduino due <=> mysql (Read 4061 times) previous topic - next topic

zorroman

Mar 14, 2013, 03:13 pm Last Edit: Mar 14, 2013, 03:27 pm by zorroman Reason: 1
Salve a tutti.
Sono nuovo nel forum e nuovo nel mondo arduino, e ho gia un bel progetto in testa che sicuramente interesserebbe a tantissima gente.

Il sistema che volevo programmare consisteva nel pilotare diversi relay con dei pulsanti e una interfaccia web. Inclusi sensori temperatura con pilotaggio del impianto di riscaldamento.
In poche parole un sistema di domotica.

Di progetti come questi ce ne sono di svariati tipi, tipo arduino -> php -> mysql o arduino -> html
Cmq,

Io vorrei spazzare via un po di php e scrivermi i valori (tutti i valori, tutto il pinout del arduino)
direttamente in mysql per poi estrarmeli e lavorarli con un php/html.

Vantaggi?

arduino->mysql ;       mi sincronizza ogni ca. 100ms il database, sia dei input che dei output   (gia scritti nel database, es. pin1=1/0 o pout1=0/1 o temp1=20, un sql "update")
 e mi scrive lo stato dei pin in uscita nel arduino(pout=1 o pout=0)

mysql -> html/php ;      interfaccia di configurazione dei pin (tipo pin1=interuttore camera, o temp3=temperatura bagno)
                                e una pagina che mi mostra lo stato e lascia commutare i pin (tipo php->mysql update pout=1)

Fino a questo no problem.

Il problema ho nella libreria sha1.h e mysql.h che ha dei errori che non riesco a correggere da solo, e forse grazie a voi riusciamo a far andare il tutto.

Le librarie le trovate qui:

Download Library
https://code.launchpad.net/~chuck-bell/mysql-arduino/trunk
Download SHA1 code
http://code.google.com/p/cryptosuite/downloads/list
Modify SHA1 code
See Readme.txt and .diff files included with library

In questo modo riduciamo i tempi di lettura e scrittura e abbiamo un bel backup in caso di mancanza di corrente, quindi quando riparte il tutto abbiamo la casa con lo stato di prima.

PROBLEMA:   sha1.h mi da dei errori nella ide 1.5.2 che cmq uno sono riuscito a risolverlo, gli altri no

mysql.h non sono riuscito a testarlo perche si blocca gia al sha1.h (credo basterebbe disattivare il debug.... )

Hardware:  arduino due power ;)                  
               raspberry pi con la raspbian, basta e avanza e non consuma ne corrente ne spazio

Spero di risolvere questo intoppo con il vostro immenso sapere. ;)

Scusatemi se non ho postato l errore che mi scrivere nella ide:
\sha\debugstuff.c.13 error: 'c' undeclared (first use in this funktion)

Ce scritto che si devono modificare i sha1.h e sha1.cpp o patcharlo con il diff.... ma non ci riesco



                           

lesto

basta cambiare 4 file della libreria:

nei .h i

virtual void write(uint8_t);

in

virtual size_t write(uint8_t);

e nei .cpp

void Sha256Class::write(uint8_t data) {

in

size_t Sha256Class::write(uint8_t data) {


inzomma la libreria è vecchia e nel frattempo i write da void sono diventati size_t :) poi a me compila lo sha1, il resto sta a te  :smiley-mr-green:
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zorroman

ciao lesto, grazie per la tua superveloce risposta.
cmq "quel" problema lo avevo trovato in rete, e risolto, ma adesso mi dal quello del debugstuff.c:13 error: 'c' undeclared (first use in this function)


lesto

ma non è della libreria sha1... puoi metetre degli attacment sul forum (clicca su additional option poco sopra il tasto post quando scrivi un messaggio), "attacca" la libreria che sati usando e il codice che stai compilando, così siamo allineati
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zorroman

allora, esempio trovato nella libreria sha1:


Errore:


C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:3: error: expected ')' before 'c'
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:7: error: expected ')' before 'c'
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c: In function 'debugStr':
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:12: error: 'uint8_t' undeclared (first use in this function)
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:12: error: (Each undeclared identifier is reported only once
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:12: error: for each function it appears in.)
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:12: error: expected ';' before 'c'
C:\Users\sim\Desktop\arduino\arduino-1.5.2\libraries\Sha\debugstuff.c:13: error: 'c' undeclared (first use in this function)


lesto

io ho usato la versione 1.0.2 dell'ide e con solo quelle 4 modifiche l'esempio compila senza errori.

riscarica la libreria e fai attenzione a quello che fai, segui i miei consigli di sopra e vedrai che funziona al primo colpo :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zorroman

adesso provo anche io con la 1.0.4
nella 1.5.2 hanno cambiato parecchie cose, pero io la devo usare seno non funziona cun il arduino due....

zorroman

per esempio se uso la libreria sha e non tolgo i parametri #include \avr\io.h o #include \avr\pgmspace mi da errore che non trova i file

gpb01

#8
Mar 14, 2013, 04:03 pm Last Edit: Mar 14, 2013, 04:06 pm by gpb01 Reason: 1
zorroman, ha ragione lesto :)

Ho appena fatto le prove di compilazione dei tre esempi che arrivano con la sha e, sia con la 1.0.4 che con la 1.5.2 compila correttamente ... quindi occhio a cosa correggi ;)

Guglielmo

Edit : Compilando per la UNO, per la DUE è un'altro discorso ... ;)
Search is Your friend ... or I am Your enemy !

lesto

ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ma tu stai compilando per la 2 che usa delle librerie completamente differenti.....

bhe iniziamo a renderle compatibili con la UNO, poi passiamo alla DUE
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zorroman

ciao rieccomi, ho riscaricato sia la ide 1.5.2 che la libreria sha dth22 e mysql e modificando solo quei 4 file funziona!!!!!!!
bravissimi,

ora non mi resta che scrivere il codice.

Interessati? ecco il link: http://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDQQFjAA&url=http%3A%2F%2Fcdn.oreillystatic.com%2Fen%2Fassets%2F1%2Fevent%2F80%2FSensor%2520Network%2520Data%2520Collection%2520and%2520Storage%2520Presentation.ppt&ei=vOJBUd_MBOON7Qbr0IHADA&usg=AFQjCNEN6ml1pdicAZFogCgjQLLcI4IHpg&sig2=0JaLcIOV8eMsxjmd_F6qZg&bvm=bv.43287494,d.ZGU&cad=rja

poi vedremo quali problemi che risorgeranno, dinuovo haha
cmq grazie ragazzi

gpb01


ciao rieccomi, ho riscaricato sia la ide 1.5.2 che la libreria sha dth22 e mysql e modificando solo quei 4 file funziona!!!!!!!
...


Ma stai compilando per la DUE ? Perché, come detto per la UNO nessun problema, ma per la DUE da errore sull'include dell' avr/io.h ... come lo hai risolto ?

Grazie :)

Guglielmo
Search is Your friend ... or I am Your enemy !

zorroman

hai ragione.. avendo scaricato da capo funzionava per la arduino uno, ma per la due mi da errore avr/io.h no such file or directory


zorroman

il file io.h esiste nella 1.5.2 ma non lo trova... come si risolve?

gpb01


il file io.h esiste nella 1.5.2 ma non lo trova... come si risolve?


Esiste, ma sembrerebbe andare bene solo per i vecchi processori. Per il processore SAM3 della DUE non va bene ... solo che non mi è chiaro quale altra libreria bisogna dichiarare ... :(

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up