Dataino è un progetto realizzato da Carmelo, un giovane appassionato di arduino, web e database che ha deciso di condividere il suo progetto su questo Blog.
Carmelo mi ha inviato tutto il materiale fotografico corredato da una dettagliata spiegazione sul funzionamento che vorrei farti leggere integralmente per cui la riporto senza correzioni di sorta, buona lettura.
Il progetto Dataino
L’idea del sito è nata dall’esigenza di poter semplificare il più possibile il lavoro di creazione database e delle relative tabelle e interfacce web.
Il progetto si è evoluto quando ho iniziato a giocare con arduino e con le sua potenzialità. Soprattutto con la possibilità di comunicare via rete internet con il protocollo http e il comando GET.
Prima di utilizzare il sistema devi registrarti ed effettuare il login. Dopo l’accesso trovi una sezione dedicata alla creazione del database e delle relative tabelle, passaggio necessario da eseguire per poter operare con il sito.
Ecco un esempio di come creare un database e relativa tabella in cui caricare i dati o Datalogging:
Attraverso l’interfaccia web
crea un nuovo database, ad esempio: “MauroAlfieri”, con la relativa tabella “Datalogging” e l’opzione Pubblic spuntata
questo farà si che la tabella venga pubblicata nella sezione [Data]
ed sarà vista da internet da chiunque con la possibilità di scaricare i dati.
Il sistema assegna alla tabella una chiave API-Key:E49u-KY51-34i6-1r2D-g682 che identifica la tabella e i diritti che hai sulla stessa. In questo caso essendo la chiave principale hai il diritto di [scrittura] [lettura] [modifica] e [cancellazione].
A questa tabella aggiungi una colonna con il nome “Valore_da_Arduino” e setta questa colonna con tipo di dati “Tiny Int” che può contenere numeri interi fra 0 e 255.
Il sistema è ora pronto a ricevere dei dati !
Queso è il comando con cui arduino, o il browser web, aggiunge nella tabella Datalogging il valore 200 nella Colonna “Valore_da_Arduino”:
http://94.23.64.3/~dataino/api/add_value.php?api-KEY=E49u-KY51-34i6-1r2D-g682&Valore_da_Arduino=200
Se copi e incolli il link nel tuo browser e premi invio, il server risponde con un codice #1;* che significa caricamento effettuato.
Ecco il flusso logico dal momento in cui premi invio nel browser:
Analisi del comando
Ecco come funziona l’invio dei dati al server:
http://94.23.64.3/~dataino/api/add_value.php?api-KEY=E49u-KY51-34i6-1r2D-g682&Valore_da_Arduino=200
Comando |
Descrizione |
http://94.23.64.3 | Dataino Server |
~dataino/api/add_value.php? | Funzione Dataino (aggiungi) |
api-KEY=E49u-KY51-34i6-1r2D-g682 | Chiave privata |
Valore_da_Arduino=200 | Nome della colonna = valore da scrivere |
in risposta il server restituisce:
#1;*
Code |
Note |
# | Carattere di Start |
1 | Risultato value 1 = OK 0= Fail |
; | Carattere di STOP |
* | Fine DATA |
con la stessa tipologia di comando puoi interrogare la tabella:
http://94.23.64.3/~dataino/api/find_value.php?api-KEY=E49u-KY51-34i6-1r2D-g682&Valore_da_Arduino=333
Risposta => #0;* (non esiste nella tabella Datalogging il valore 333 nella colonna Valore_da_Arduino)
oppure cancellare un dato valore nella tabella
http://94.23.64.3/~dataino/api/delete_value.php?api-KEY=E49u-KY51-34i6-1r2D-g682&Valore_da_Arduino=200
Risposta => #21;22;23;* (Cancellate la riga 21,22,23 nella tabella Datalogging)
Esempio Controllo Temperatura con sensore DS18b20
Il materiale necessario per riprodurre il progetto:
- n.1 Sensore DS18b20
- n.1 resistenza 4k7 Resistor
- n.1 Arduino + 1 x Arduino ethernet shield ( oppure solo un Arduino Ethernet )
Schema di collegamento:
La struttura della tabella in cui archiviare il dato è:
ID (creato automaticamente) |
Time stamp (creato automaticamente) |
Temperatura Da –20,00 C° a +70,00 C° |
Contatore riga | Data, ora, minuto, secondo |
La creazione della tabella puoi eseguirla ripetendo i seguenti passi:
Seleziona il database “MauroAlfieri” dove vuoi aggiungere la tabella
premi il bottone: [New DATA TABLE] e compila i campi necessari impostando la tabella come pubblica e salva:
La nuova tabella, con chiave 7y6X-3T7i-0d5N-979Q-yUV3, è stata creata:
Aggiungi una colonna capace di ricevere dei dati decimali con queste caratteristiche:
- Descrizione: casa
- Tipo: Decimal
- Unità: C°
- Min: -20.00
- Max: 40.00
Il sistema è pronto a ricevere dei dati:
Puoi utilizzare i seguenti comandi per inserire, leggere o cancellare i dati in questa tabella:
Aggiungi dati
http://94.23.64.3/~dataino/api/add_value.php?api-KEY=7y6X-3T7i-0d5N-979Q-yUV3&casa=0
Ricerca/leggi dati
http://94.23.64.3/~dataino/api/find_value.php?api-KEY=7y6X-3T7i-0d5N-979Q-yUV3&casa=0
Cancella dati
http://94.23.64.3/~dataino/api/delete_value.php?api-KEY=7y6X-3T7i-0d5N-979Q-yUV3&casa=0
Nel prossimo articolo vedrai il codice arduino realizzato da Carmelo e le funzioni di fenerazione dei grafici dei sensori direttamente sul sito dataino.