Stacja pogodowa z prezentacją pomiarów w Internecie ? cz. 4

W ostatniej części krótki opis aplikacji na urządzenia mobilne.

screen

Powyższy zrzut prezentuje wygląd aplikacji. Mamy tutaj dane odczytane z czujnika warunków atmosferycznych, oraz przekazane przez serwer dane dotyczące godziny i daty wykonanego odczytu.

Aplikacja wykorzystuje bibliotekę retrofit, dzięki której odbierane dane (metodą GET) są automatycznie mapowane na pola obiektu, który wygląda tak:

package pl.elektrofanklub.weatherreceiver;



public class WeatherData {

 double temperature;
 int humidity;
 String date;
 String time;

 public String getDate() {
 return date;
 }

 public void setDate(String date) {
 this.date = date;
 }

 public String getTime() {
 return time;
 }

 public void setTime(String time) {
 this.time = time;
 }

 public double getTemperature() {
 return temperature;
 }

 public void setTemperature(double temperature) {
 this.temperature = temperature;
 }

 public int getHumidity() {
 return humidity;
 }

 public void setHumidity(int humidity) {
 this.humidity = humidity;
 }
}

Wykorzystany jest też butterknife, który ułatwia powiązanie kontrolek widoku z obiektami w kodzie.

Wciśnięcie przycisku Pobierz powoduje wysłanie żądania do serwera. Jego adres jest zapisany na sztywno w kodzie. W prezentowanym przykładzie jest to nazwa hosta raspberrypi w lokalnej sieci (telefon musi korzystać z Wifi w tej samej sieci). Aby komunikacja działała przez internet, należy oczywiście wpisać publiczny adres serwera i w razie potrzeby udostępnić odpowiednie porty.

W przypadku błędu użytkownik zobaczy dymek (toast) z odpowiednim komunikatem.

Kod programu do pobrania: weatherreceiver

Tak w całości prezentuje się projekt systemu prezentacji wskazań czujnika temperatury i wilgotności powietrza na urządzeniu mobilnym przez sieć lub internet. Sam projekt raczej nie ma zbyt wielu zastosowań praktycznych. Jest przykładem praktycznej realizacji zagadnienia tego typu i może stanowić bazę dla projektów związanych ze zdalnym sterowaniem lub monitoringiem i telemetrią. Łączy kilka ciekawych technologii, takich jak transmisja bezprzewodowa w dwóch pasmach (433 i 2400MHz), wykorzystanie Javy na RaspberryPi, json, serwer http oraz Android wraz z bibliotekami Retrofit i Butterknife.

Pierwsza część opisu pod tym linkiem: http://www.elektrofanklub.pl/stacja-pogodowa-z-prezentacja-pomiarow-w-internecie-cz-1/

Ten wpis został opublikowany w kategorii Bez kategorii. Dodaj zakładkę do bezpośredniego odnośnika.