scrivere dati raccolti su database

Ciao ragazzi,
ho necessità di immagazzinare dei dati raccolti da arduino in un database. Per il momento gestisco le cose così:
arduino legge da sensore - invia dati a vb tramite serial.print - vb legge tramite readline - vb scrive su database

c'è un modo per far scrivere su database (access) direttamente ad arduino per evitare il passaggio (scomodissimo) da vb? per caso esistono dei tutorial/guide da leggere a riguardo?

grazie
ciao

Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! (Part 1) - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

Assolutamente NO, mica puoi mettere su Arduino il motore Access (che è Windows) :fearful:

Qualcosa è stato fatto per MySQL, direttamente da Arduino, ma personalmente NON ho mai provato questa libreria, mi pare sul forum chi l'ha usata non è riuscito a farla funzionare.
Prova a vedere qui (ma MySQL):

Allora arriva la seconda domanda, ho vari dati da mandare a vb, per esempio 3 temperature diverse t1, t2, t3, se le invio con serial.begin e le leggo con vb con la readline come faccio per far riconoscere a vb che una è la riferita alla t1, t2 o t3?

Mi spiego meglio:
arduino invia in continuazione e ciclicamente le 3 temperature, ammettiamo che siamo t1 = 10, t2 = 20, t3 = 30.
la readline di vb mi mette dentro una variabile in continuazione 10, 20 e 30. Come faccio per dire a vb che 10 è la temperatura riferita alla sonda 1, 20 alla sonda 2 e 30 alla sonda 3?
Per il momento l'ho risolta così: aggiungo 1000 alla t1, 2000 alla t2 e 3000 alla t3, così quando arduino invia invierà 1010, 2020, 3030, a questo punto se vb legge un valore fra 1000 e 1999 sa che è della sonda 1, fra 2000 e 2999 sonda 2 e così via.
Ovviamente si suppone che le temperature non vadano negative..

C'è un metodo più semplice?

Secondo me si, ti fai un tuo protocollo ovvero spedisci davanti al numero un identificatore e alla fine del numero un terminatore, esempio
1#valore1@2#valore2@3#valore3@

Per fare questo dovrei trattare i dati come stringa, ho cercato in giro ma trovo solo guide di base ma nulla su comandi per aggiungere caratteri nelle stringhe o modificarle in generale. C è qualcosa in giro?

Gabrysdp:
Per fare questo dovrei trattare i dati come stringa, ho cercato in giro ma trovo solo guide di base ma nulla su comandi per aggiungere caratteri nelle stringhe o modificarle in generale. C è qualcosa in giro?

L'IDE di Arduino include automaticamente la AVR libc ... in particolare, le funzioni che ti occorrono sono in <string.h>.

Guglielmo

P.S. : Naturalmente io parlo delle stringhe intese come "char array" e non della classe String di cui ti sconsiglio l'uso.

c'è un modo per far scrivere su database (access) direttamente ad arduino per evitare il passaggio (scomodissimo) da vb?

Puoi farlo su google drive, i tuoi dati vengono spediti su un foglio elettronico tipo excel ed elaborati secondo le tue impostazioni create tra le celle del documento stesso, ti serve però una connessione lan e quindi una ethernet, non è velocissimo l'aggiornamento, ti servono dai 5 ai 10 sec per vedere i valori caricati sulla pagina del tuo account google

Io personalmente ho testato e scartato questa opzione, poichè lo shield ethernet è utile, ma è nello stesso tempo molto dannoso al processo del micro a volte ruba il 100% delle risorse per stabilire connessioni, trasferimento dati, attese di timeout, ovviamente mi riferisco a piccoli micro con 16-20Mhz di clock. Dipende dalle tue esigenze.

ciao