2. Sistema di telemetria per drone marino
Misure da effettuare:
Misura di tensioni e correnti in sottosistemi con
alimentazione indipendente
Misura di temperatura in più punti
Misura barometrica
13. Raspberry web server
Client
Server
Connessione client
Index.html
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Risposta del server con la pagina index.html
14. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Richiesta dati dalla pagina index.html al server
15. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Risposta del server con dati in formato json
16. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Comando
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Comando inviato dal client al server
17. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Comando
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Richiesta dai thread ai sensori
18. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Comando
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Risposta dai sensori ai thread
19. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Comando
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
In seguito alla richiesta da parte del client, il server chiede le variabili ai sensori
20. Raspberry web server
Client
Server
Connessione client
Richiesta dati
Index.html
Dati formato JSON
Comando
Pagina
HTML
sul
browser
remoto
TORNADO
Thread
Termometro
N°1
Thread
Termometro
N°2
Pressione e
temperatura
Sensore
Temp.
N°1
Sensore
Temp.
N°2
Log
Dati
ADC
Il server legge le variabili, le memorizza nel file di log e le ritorna al client in formato json
21. Visualizzazione e richiesta dati al server
Libreria JustGage
<div id="gauge1" style="width:180px; height:200px"></div>
.
.
.
.
var g2 = new JustGage({
id: "gauge2",
value: 0,
min: 80000,
max: 120000,
title: "Pressione Atmosferica",
label: "Pascal",
levelColorsGradient: true,
decimals: 0
});
22. Visualizzazione e richiesta dati al server
setInterval(function() {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","getvalues.php",false);
xmlhttp.send(null);
parametri = (xmlhttp.responseText).split(';');
g1.refresh( parametri[0] );
g2.refresh( parametri[1] );
g3.refresh( parametri[2] );
g4.refresh( parametri[3] );
gADC1A.refresh( parametri[4] );
gADC1B.refresh( parametri[5] );
gADC1C.refresh( parametri[6] );
gADC1D.refresh( parametri[7] );
gADC2A.refresh( parametri[8] );
gADC2B.refresh( parametri[9] );
gADC2C.refresh( parametri[10] );
gADC2D.refresh( parametri[11] );
24. Comandi inviati al server
● Start Log
● Stop Log
● View Log
● Erase Log
● Shutdown
25. Comandi inviati al server
function DoShutdown()
{
if(confirm("Procedo allo spegnimento definitivo del Raspberry?"))
{
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
xmlhttp.open("get","?shutdown=now",true);
xmlhttp.send(null);
}
}
};