arduino due <=> mysql

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 :wink:
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. :wink:

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

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 :slight_smile: poi a me compila lo sha1, il resto sta a te :grin:

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)

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

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)

sha1test.pde (3.68 KB)

sha1.h (849 Bytes)

sha1.cpp (3.54 KB)

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 :slight_smile:

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....

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

zorroman, ha ragione lesto :slight_smile:

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 :wink:

Guglielmo

Edit : Compilando per la UNO, per la DUE è un'altro discorso ... :wink:

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

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: Redirect Notice

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

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!!!!!!!
...

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 :slight_smile:

Guglielmo

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

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

zorroman:
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 ... :frowning:

Guglielmo

la uno è un'architerttura AVR, ma la DUE è una ARM!!! quindi devi cercare una libreria per gli ARM e non per l'arduino, o il corrispondente della io.h

lesto:
la uno è un'architerttura AVR, ma la DUE è una ARM!!! quindi devi cercare una libreria per gli ARM e non per l'arduino, o il corrispondente della io.h

Ok per i differenti processori, ma ...nessuno ha già avuto e risolto il problema sino ad oggi ? Tu hai indicazioni di dove reperire le librerie adatte ? :slight_smile:

Grazie,

Guglielmo

la DUE è relativamente recente... dubito. però credo che puoi modificare la lib per farne a meno

lesto:
la DUE è relativamente recente... dubito. però credo che puoi modificare la lib per farne a meno

Già ... troppo recente :smiley: ... c'è ancora molto poco ...

Grazie comunque, :slight_smile:

Guglielmo

Come da consiglio di lesto ... ho provato a mettere le mani nella libreria sha ed a sistemarla.

Ora compila correttamente sia per Arduino UNO che per Arduino DUE.

Ne sconsiglio l'uso su Arduino UNO ... l'esempio che c'è "sha256test" ho idea che va fuori memoria disponibile perché ... parte, ma a metà impazzisce :smiley:

Su Arduino DUE mi funzionano tutti e tre gli esempi che sono allegati ed anche con tempi piuttosto accettabili (... mi riferisco al test "FIPS 180-2 B.3 : Processing 1000000 characters ...").

Riscontro un unica incongruenza nel programma "sha256test" su un unico risultato ... il "Test: RFC4231 4.8" ...
... il valore che ritorna è diverso da quello che, nel codice, viene indicato come valore che dovrebbe tornare. La cosa è però un po' sospetta ... "sha1test" funziona correttamente, "hmacsha256test" funziona anche lui correttamente, "sha256test" funziona sempre correttamente MENO che per quel particolare Test ... :astonished: Mah ...

Se qualcuno scopre l'arcano magari lo comunica ... :smiley:

La libreria modificata è allegata al presente post.

Guglielmo

Sha.zip (9.98 KB)