Stazione Meteorologica – Interfaccia RealTime

Ciao a tutti! Spero stiate bene (visto la situazione globale 😷)…

Dunque, vediamo di riprendere da dove ci eravemo interrotti: l’ultimo articolo riguardante la stazione meteorologica avevo fatto una panoramica generale del software soffermandomi sulla schermata principale ovvero la HomePage.
In questo articolo vedremo un po’ più nel dettaglio un’altra schermata (la più interessante): il RealTime.

RealTime

Come la HomePage, anche la schermata di RealTime è provvista del menù (posizionato a fondo pagina) che permette di accedere alla diverse funzionalità.

Analisi delle informazioni

Vediamo in dettaglio che informazioni ci fornisce la schermata RealTime:

Indica la temperatura esterna (riportata anche nella barra in alto)

Indica la pressione esterna (espressa in millibar)

Indica l’umidità dell’aria (espressa in percentuale)

Infine la schermata presenta un’altra immagine sulla destra (in questo caso delle nuvole) che cambia secondo alcuni calcoli che vengono fatti sul valore della pressione rilevato (in realtà l’algoritmo dovrebbe tenere in considerazione tutti e tre i valori sopra citati, ma al momento il sensore è posizionato in casa e quindi non avrebbe senso usare anche il dato della temperatura e dell’umidità).

Cliccando su ogni immagine (esclusa quella di destra, quindi le nuvole in questo caso) si apre un grafico che mostra l’andamento della temperatura, pressione e umidità in un lasso di tempo di 24 ore circa.

L’algoritmo

L’algoritmo che “imposta” l’immagine, in questo caso, della nuvola lavora in modo molto semplice:

$result = $pression[0] - $pressionThreeHoursAgo[0];

if($pression[0] >= 1013 && $result >= 1) {
    echo "<img src=\"img/sun.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";          //sun
}
elseif ($pression[0] >= 1013 && $result <= -1) {
    echo "<img src=\"img/sunnyCloud.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";   //cloud/sunny
}
elseif ($pression[0] >= 1013 && Abs($result) < 1) {
    echo "<img src=\"img/sun.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";          //sun
}
elseif ($pression[0] < 1013 && $result >= 1) {
    echo "<img src=\"img/cloudy.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";       //cloudy
}
elseif ($pression[0] < 1013 && $result < -1) {
    echo "<img src=\"img/rain.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";         //rain  
}
elseif ($pression[0] < 1013 && Abs($result) < 1) {
    echo "<img src=\"img/cloudy.png\" style=\"margin-left: 50px;\" height=\"150px\"/>";       //cloudy
}

In altre parole:

SE (pressione_attuale >= 1013 && pressione_attuale - pressione_3_ore_fa >= 1)
SOLE
SE (pressione_attuale >= 1013 && pressione_attuale - pressione_3_ore_fa <= -1)
VARIABILE
SE (pressione_attuale >= 1013 && Abs(pressione_attuale - pressione_3_ore_fa) < 1)
SOLE
SE (pressione_attuale < 1013 && pressione_attuale - pressione_3_ore_fa >= 1)
NUVOLOSO
SE (pressione_attuale < 1013 && pressione_attuale - pressione_3_ore_fa < -1)
PIOGGIA
SE (pressione_attuale < 1013 && Abs(pressione_attuale - pressione_3_ore_fa) < 1)
NUVOLOSO

Di seguito le icone che possono apparire a seconda dei casi sopra elencati:

Sole
Nuvoloso
Sole e nuvole
Pioggia

Come già detto l’algoritmo è molto semplice, ma ovviamente può essere rivisto e diventare molto più efficiente e complesso (ma per ora non ho grosse necessità di complicarmi la vita 😂).

Conclusioni

Come potete vedere la schermata è molto elementare (e per il momento va bene così) tuttavia ho già in mente alcune migliorie che potrei fare maaa… lascerò queste idee per un altro articolo 😆

A presto!! 🤗