Go Down

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

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
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

gpb01


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 ? :)

Grazie,

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

lesto

la DUE è relativamente recente... dubito. però credo che puoi modificare la lib per farne a meno
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

gpb01


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


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

Grazie comunque, :)

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

gpb01

#19
Mar 14, 2013, 09:10 pm Last Edit: Mar 14, 2013, 09:11 pm by gpb01 Reason: 1
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 :D

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 ...   :smiley-eek:  Mah ...

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

La libreria modificata è allegata al presente post.

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

zorroman

io cerco e chiedo in giro, forse riesco a risolvere,
grazie ragazzi

gpb01

Bé ... intanto con la libreria che ti ho allegato puoi già fare le tue prove (... funziona tutto a parte quel singolo test) ;)

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

zorroman

Velocissimo Guglielmo complimente funziona!

Ora ho provato ad aggiungere la libreria mysql.h ed ecco che risalgono i problemi   :D :

\arduino\arduino-1.5.2\libraries\mysql\mysql.cpp: In member function 'boolean Connector::cmd_query_P(const char*)':
\arduino\arduino-1.5.2\libraries\mysql\mysql.cpp:140: error: 'strlen_P' was not declared in this scope
\arduino\arduino-1.5.2\libraries\mysql\mysql.cpp:149: error: 'pgm_read_byte_near' was not declared in this scope


zorroman

Risolto.

allego sketch, la libreria mysql modificata e la libreria sha.

non ho avuto la possibilita di testarlo con il server mysql ma la compilazione funziona  XD

cmq ho usato la ide nightly build ma non dovrebbe cambiare

lesto

Ottimo lavoro ragazzi, veramente complimenti
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Valentina_NSC

Ciao ragazzi, scusate se mi intrometto in questa discussione, ma stavo anch'io cercando di smanettare con mysql.
Ho scaricato le librerie che avete modificato, ma ho qualche problemino.
Perdonatemi, ma io non sono molto esperta come voi ed inoltre, mi sono inscritta da pochi giorni. Spero possiate aiutarmi a capire.
Vi spiego la mia situazione:

Ho recentemente acquistato un arduino uno con lo shield ethernet
Ho scaricato l'ide 1.0.4 ed anche l'1.5.2, anche se in realtà uso sempre il primo.
Dovrei fare, per un progettino di lavoro, quanto segue:

- leggere un xml generato dal webserver di una stampante (es: http://192.168.1.174/config/device ed in risposta mi da l'xml)
- estrarne i dati (credo si dica parsing) ed andarli a scrivere su un db mysql che ho su un host aruba
- contemporaneamente, dovrei andare a leggere un altro record dello stesso db, dove ci sarà scritto 1 o 0 ed in virtù di questo, abilitare o meno, un'uscita digitale di arduino.

Secondo voi, arduino uno è sufficientemente potente per fare questo? Altrimenti, cosa mi consigliate?

Venendo agli esempi che avete allegato, li avevo scaricati per studiarci un po' su, per capire come funziona, ma ho riscontrato un errore di compilazione che riporto qui:

D:\Download\Arduino\arduino-1.0.4-windows\arduino-1.0.4\libraries\mysql\mysql.cpp:39: error: conflicting declaration 'typedef const unsigned char prog_uchar'
d:/download/arduino/arduino-1.0.4-windows/arduino-1.0.4/hardware/tools/avr/lib/gcc/../../avr/include/avr/pgmspace.h:213: error: 'prog_uchar' has a previous declaration as 'typedef unsigned char prog_uchar'

Perdonate la mia ignoranza, ma non riesco a venirne a capo. Avete dei consigli da darmi? Non capisco dove sbaglio e/o se ho usato le librerie giuste.
Lo stesso errore me lo da sia con l'1.0.4 che con l'1.5.2.
Spero possiate aiutarmi e mi scuso per l'intrusione.
kisses

Valentina
Ci sono 10 persone al mondo, quelle che capiscono il codice binario e quelle che non lo capiscono.

lesto

togli "typedef const unsigned char prog_uchar" da mysql.cpp (riga 39)

arduino è abbastanza potente per fare il parsing, però non per tenere in memoria tutto l'XML.. quindi o sei in grado di lavoralo un pò per volta, oppure dovrai prima memorizzarlo su una memoria esterna (magari una SD) e poi analizzarlo con calma.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Valentina_NSC

Ciao Lesto, grazie per la risposta.
Ho però comunque un problema...
forse non ho le librerie giuste, perché alla riga 39, c'è un commento!
Ho provato anche a scaricarne altre dalla pagina precedente, ma sempre tanti errori.
Oddio, sto impazzendo, tra cartelle, libreire, scaffali e armadi...
forse era meglio se mi davo all'arredamento!
Ti prego, dammi un link con le librerie giuste, ti prego ti prego ti prego!!!
=(

BYE
Ci sono 10 persone al mondo, quelle che capiscono il codice binario e quelle che non lo capiscono.

gpb01

#28
Apr 11, 2013, 07:53 am Last Edit: Apr 11, 2013, 07:55 am by gpb01 Reason: 1
Ciao,

... primo : spiegami come fai a compilare per Arduino DUE con la 1.0.4 ... visto che NON è tra le board supportate da quella release   :smiley-eek:

... secondo : con la DUE le lib modificate NON usano la pgmspace. Se guardi i sorgenti modificati vedrai che se si accorgono che stai compilando per la DUE, non usano la pgmspace e fanno altre cose (nel codice abbiamo aggiunto appositamente delle  #if defined __SAM3X8E__). Quindi ... se stai compilando per la DUE e stai usando le lib modificate NON può uscirti quell'errore

Morale ... sicura di aver selezionato la board giusta nel IDE ?  :)

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

Valentina_NSC

Ciao, non stavo complilando per la DUE, ma per la UNO. Comunque ho risolto.
In pratica mi sono dovuta rimodificare le librerie secondo i vostri consigli ed ora compila correttamente. Per ora ho provato solo con la 1.0.4. Non so cosa fosse successo, ma ho ricominciato tutto da capo ed ora finalmente va.
Ora farò un po' di prove e poi vi farò sapere.
Grazie per i vostri preziosissimi consigli, siete veramente molto bravi, complimenti.

BYE
Ci sono 10 persone al mondo, quelle che capiscono il codice binario e quelle che non lo capiscono.

Go Up