From 8feb04990fdd1114bd668b9a19ce9c82763f6f91 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Thu, 23 Aug 2018 20:35:33 +0200 Subject: [PATCH] Added some Docs --- README.md | 38 ++-- build.gradle | 81 +++++---- src/main/java/device/DialogFlow.java | 9 + src/main/java/device/FitBit.java | 97 ---------- src/main/java/device/Fitbit.java | 170 ++++++++++++++++++ src/main/java/device/Hue.java | 74 ++++++-- src/main/java/device/Sensor.java | 11 +- .../{FITBITData => fitbitdata}/Device.java | 2 +- .../{FITBITData => fitbitdata}/HeartRate.java | 2 +- .../{FITBITData => fitbitdata}/Sleep.java | 2 +- .../{FITBITData => fitbitdata}/Steps.java | 4 +- .../{AuthFITBIT.java => AuthFitbit.java} | 4 +- src/test/java/TestFitbit.java | 4 +- src/test/java/TestSensor.java | 2 +- 14 files changed, 323 insertions(+), 177 deletions(-) create mode 100644 src/main/java/device/DialogFlow.java delete mode 100644 src/main/java/device/FitBit.java create mode 100644 src/main/java/device/Fitbit.java rename src/main/java/device/{FITBITData => fitbitdata}/Device.java (95%) rename src/main/java/device/{FITBITData => fitbitdata}/HeartRate.java (97%) rename src/main/java/device/{FITBITData => fitbitdata}/Sleep.java (94%) rename src/main/java/device/{FITBITData => fitbitdata}/Steps.java (89%) rename src/main/java/oauth/{AuthFITBIT.java => AuthFitbit.java} (98%) diff --git a/README.md b/README.md index b920471..541cd7f 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,22 @@ -# SeniorAssistant - -## Membri del gruppo - -- Giacomo Bertolazzi, 20015159@studenti.uniupo.it, [Berack96][Jack] -- Giulia Vago, 20015091@studenti.uniupo.it, [Giuliavago][Giulia] -- Dawit Gulino, 20013954@studenti.uniupo.it, [DawitG96][D] -- Stefano Fioretti, 20013886@studenti.uniupo.it, [f19stefano96][Ste] - -## Descrizione -Il nostro progetto nasce per aiutare nella quotidianità persone anziane che non possono essere seguite da assistenti e che quindi possono trarre vantaggio da un sistema automatizzato che interagisca attraverso un assistente vocale in modo da permettere al soggetto di controllare i dispositivi collegati alla Home Station. In caso di stress (rilevato attraverso battito cardiaco), le luci vengono soffuse così da creare un ambiente più rilassante e nel caso in cui la situazione non migliori contatti medico o familiari; inoltre viene consigliata in questo caso musica rilassante che il soggetto può avviare con comando vocale. Inoltre il soggetto viene sollecitato vocalmente in caso di sedentarietà. Si mantiene anche il contatto con persone esterne, medico e familiari, i quali possono controllare le attività del soggetto poiché verranno mantenute statistiche su di esse. - -[Jack]: -[Giulia]: -[D]: -[Ste]: +# SeniorAssistant + +## Membri del gruppo + +- Giacomo Bertolazzi, 20015159@studenti.uniupo.it, [Berack96][Jack] +- Giulia Vago, 20015091@studenti.uniupo.it, [Giuliavago][Giulia] +- Dawit Gulino, 20013954@studenti.uniupo.it, [DawitG96][D] +- Stefano Fioretti, 20013886@studenti.uniupo.it, [f19stefano96][Ste] + +## Descrizione +Il nostro progetto nasce per aiutare nella quotidianità persone anziane che non possono essere seguite da assistenti e che quindi possono trarre vantaggio da un sistema automatizzato che interagisca attraverso un assistente vocale in modo da permettere al soggetto di controllare i dispositivi collegati alla Home Station. In caso di stress (rilevato attraverso battito cardiaco), le luci vengono soffuse così da creare un ambiente più rilassante e nel caso in cui la situazione non migliori contatti medico o familiari; inoltre viene consigliata in questo caso musica rilassante che il soggetto può avviare con comando vocale. Inoltre il soggetto viene sollecitato vocalmente in caso di sedentarietà. Si mantiene anche il contatto con persone esterne, medico e familiari, i quali possono controllare le attività del soggetto poiché verranno mantenute statistiche su di esse. + +# TODO +- Aggiungere url generato da ngrok sul Webhook di DialogFlow +- Implementare la funzione getCurrentBrightness() nella classe Hue +- Documentazione per capire meglio (Sensor per esempio manca) + + +[Jack]: +[Giulia]: +[D]: +[Ste]: \ No newline at end of file diff --git a/build.gradle b/build.gradle index a87468b..9e8d9bf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,39 +1,42 @@ -plugins { - id 'java' -} - -group 'SeniorAssistant' -version '1.0-SNAPSHOT' - -sourceCompatibility = 1.8 - -repositories { - mavenCentral() -} - -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' -// compile "com.sparkjava:spark-core:2.5.5" - compile "com.google.code.gson:gson:2.8.0" -// compile "org.xerial:sqlite-jdbc:3.15.1" - compile 'org.apache.httpcomponents:httpclient:4.5.3' - compile 'com.google.api-client:google-api-client:1.23.0' - compile group: 'com.google.oauth-client', name: 'google-oauth-client-jetty', version: '1.11.0-beta' - - -// z-way-lib and all its dependencies (from https://github.com/pathec/ZWay-library-for-Java) - compile files('lib/zway-lib-0.2.9-SNAPSHOT.jar') - - compile 'org.apache.commons:commons-lang3:3.4' - compile 'org.eclipse.jetty:jetty-client:9.3.11.v20160721' - compile 'org.eclipse.jetty:jetty-http:9.3.11.v20160721' - compile 'org.eclipse.jetty:jetty-io:9.3.11.v20160721' - compile 'org.eclipse.jetty:jetty-util:9.3.11.v20160721' - compile 'org.eclipse.jetty.websocket:websocket-api:9.3.12.v20160915' - compile 'org.eclipse.jetty.websocket:websocket-client:9.3.12.v20160915' - compile 'org.eclipse.jetty.websocket:websocket-common:9.3.12.v20160915' - compile 'org.slf4j:slf4j-simple:1.7.21' - - //for objectMapper - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.5' -} +plugins { + id 'java' +} + +group 'SeniorAssistant' +version '1.0-SNAPSHOT' + +sourceCompatibility = 1.8 + +repositories { + mavenCentral() +} + +dependencies { + testCompile group: 'junit', name: 'junit', version: '4.12' +// compile "com.sparkjava:spark-core:2.5.5" + compile "com.google.code.gson:gson:2.8.0" +// compile "org.xerial:sqlite-jdbc:3.15.1" + compile 'org.apache.httpcomponents:httpclient:4.5.3' + compile 'com.google.api-client:google-api-client:1.23.0' + compile group: 'com.google.oauth-client', name: 'google-oauth-client-jetty', version: '1.11.0-beta' + + +// z-way-lib and all its dependencies (from https://github.com/pathec/ZWay-library-for-Java) + compile files('lib/zway-lib-0.2.9-SNAPSHOT.jar') + + compile 'org.apache.commons:commons-lang3:3.4' + compile 'org.eclipse.jetty:jetty-client:9.3.11.v20160721' + compile 'org.eclipse.jetty:jetty-http:9.3.11.v20160721' + compile 'org.eclipse.jetty:jetty-io:9.3.11.v20160721' + compile 'org.eclipse.jetty:jetty-util:9.3.11.v20160721' + compile 'org.eclipse.jetty.websocket:websocket-api:9.3.12.v20160915' + compile 'org.eclipse.jetty.websocket:websocket-client:9.3.12.v20160915' + compile 'org.eclipse.jetty.websocket:websocket-common:9.3.12.v20160915' + compile 'org.slf4j:slf4j-simple:1.7.21' + + //DialogFlow +// compile "ai.api:libai:1.6.12" + + //for objectMapper + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.5' +} diff --git a/src/main/java/device/DialogFlow.java b/src/main/java/device/DialogFlow.java new file mode 100644 index 0000000..c54c817 --- /dev/null +++ b/src/main/java/device/DialogFlow.java @@ -0,0 +1,9 @@ +package device; + +public class DialogFlow { + + public DialogFlow() { + + } + +} diff --git a/src/main/java/device/FitBit.java b/src/main/java/device/FitBit.java deleted file mode 100644 index a34dc02..0000000 --- a/src/main/java/device/FitBit.java +++ /dev/null @@ -1,97 +0,0 @@ -package device; - -import java.io.IOException; -import java.util.Calendar; -import java.util.HashMap; -import java.util.Map; - -import device.FITBITData.HeartRate; -import device.FITBITData.Sleep; -import device.FITBITData.Steps; -import oauth.AuthFITBIT; - -public class FitBit { - - public static final String BASIC_URL = "https://api.fitbit.com/"; - public static final String USER = "/user/-/"; - private static final long MINUTE = 60000; /* 5 minutes in millisec */ - - private final AuthFITBIT auth; - private final Map, Long> latestRequest = new HashMap<>(); - private final Calendar calendar = Calendar.getInstance(); - - private HeartRate heart = null; - private Sleep sleep = null; - private Steps steps = null; - - public FitBit() throws Exception { - this(new AuthFITBIT()); - } - - public FitBit(AuthFITBIT auth) { - if(auth == null) - throw new NullPointerException("I must have an Auth for the FitBit"); - this.auth = auth; - } - - /* passi */ - public int getSteps() throws IOException { - if(shouldUpdateFor(Steps.class)) { - long currentMillisec = System.currentTimeMillis(); - - steps = auth.run(BASIC_URL + "1" + USER + "activities/steps/date/today/1w.json", Steps.class); - latestRequest.put(steps.getClass(), currentMillisec); - } - return steps.getSteps(); - } - - /* battito */ - public double getHeartRate() throws IOException { - if(shouldUpdateFor(HeartRate.class)) { - long currentMillisec = System.currentTimeMillis(); - - String now = getHourMinutes(currentMillisec); - String ago = getHourMinutes(currentMillisec-(MINUTE*15)); - - if(now.compareTo(ago) < 0) - ago = "00:00"; - - heart = auth.run(BASIC_URL + "1" + USER + "activities/heart/date/today/1d/1sec/time/"+ago+"/"+now+".json", HeartRate.class); - latestRequest.put(heart.getClass(), currentMillisec); - } - return heart.getAverage(); - } - - /* sonno */ - public Object getHoursSleep() throws IOException { - if(shouldUpdateFor(Sleep.class)) { - long currentMillisec = System.currentTimeMillis(); - - sleep = auth.run(BASIC_URL + "1.2" + USER + "sleep/date/today.json", Sleep.class); - latestRequest.put(sleep.getClass(), currentMillisec); - } - return sleep.getMinutesAsleep(); - } - - private boolean shouldUpdateFor(Class type) { - try { - long current = System.currentTimeMillis(); - long latest = latestRequest.get(type); - - if (current - latest > MINUTE * 5) - return true; - return false; - } catch (NullPointerException e) {} - return true; - } - - private String getHourMinutes(long milliseconds) { - calendar.setTimeInMillis(milliseconds); - - int hour = calendar.get(Calendar.HOUR_OF_DAY); - int minu = calendar.get(Calendar.MINUTE); - return String.format("%02d:%02d", hour, minu); - } - - // Device dev = auth.run(BASIC_URL + "devices.json", Device.class); -} diff --git a/src/main/java/device/Fitbit.java b/src/main/java/device/Fitbit.java new file mode 100644 index 0000000..539d49e --- /dev/null +++ b/src/main/java/device/Fitbit.java @@ -0,0 +1,170 @@ +package device; + +import java.io.IOException; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +import device.fitbitdata.HeartRate; +import device.fitbitdata.Sleep; +import device.fitbitdata.Steps; +import oauth.AuthFitbit; + +/** + * Classe che permette di ricevere i dati di un particolare account FitBit + */ +public class Fitbit { + + /** + * Url da dove si possono prendere i dati dai vari dispositivi fitbit + */ + public static final String BASIC_URL = "https://api.fitbit.com/"; + /** + * Utente del fitbit
+ * In questo caso e' universale e prende l'utente che e' attualmente loggato + */ + public static final String USER = "/user/-/"; + /** + * Un minuto in millisecondi + */ + private static final long MINUTE = 60000; /* 5 minutes in millisec */ + + /** + * L'oauth per l'account fitbit + */ + private final AuthFitbit auth; + /** + * Una mappa contenente le ultime classi usate nelle richieste effettuate
+ * Una sorta di cache + */ + private final Map, Long> latestRequest = new HashMap<>(); + /** + * Un calendario in modo da sapere la data per i dati + */ + private final Calendar calendar = Calendar.getInstance(); + + /** + * La classe per sapere i dati sul battito cardiaco + */ + private HeartRate heart = null; + /** + * La classe per sapere i dati sul sonno + */ + private Sleep sleep = null; + /** + * La classe per sapere i dati sui passi effettuati + */ + private Steps steps = null; + + /** + * Crea una istanza di fitbit
+ * Se l'utente non ha ancora accettato i dati richiesti o l'utente non e' + * loggato,
+ * verra' aperto il browser in modo che si possano inserire i dati + * + * @throws Exception Nel caso qualunque cosa andasse storta (vedi messaggio) + */ + public Fitbit() throws Exception { + this.auth = new AuthFitbit(); + } + + /** + * Ricevi i passi che l'utente ha effettuato nell'ultimo giorno + * + * @return un intero rappresentante i passi effettuati + * @throws IOException nel caso la richiesta non vada a buon fine + */ + public int getSteps() throws IOException { + if (shouldUpdateFor(Steps.class)) + steps = auth.run(BASIC_URL + "1" + USER + "activities/steps/date/today/1w.json", Steps.class); + return steps.getSteps(); + } + + /** + * Ricevi il battito cardiaco dell'utente
+ * Il risultato e' una media del battito che l'utente ha avuto negli ultimi 15 minuti + * + * @return un intero rappresentante la media del battito cardiaco degli ultimi 15 minuti + * @throws IOException nel caso la richiesta non vada a buon fine + */ + public double getHeartRate() throws IOException { + return getHeartRate(15); + } + /** + * Ricevi il battito cardiaco dell'utente
+ * Il risultato e' una media del battito che l'utente ha avuto negli ultimi minuti + * + * @param lastMinutes fino a quanti minuti bisogna tenere conto (positivi se no ritorno -1) + * @return un intero rappresentante la media del battito cardiaco degli ultimi minuti specificati + * @throws IOException nel caso la richiesta non vada a buon fine + */ + public double getHeartRate(int lastMinutes) throws IOException { + if(lastMinutes<=0) + return -1; + if (shouldUpdateFor(HeartRate.class)) { + long currentMillisec = System.currentTimeMillis(); + + String now = getHourMinutes(currentMillisec); + String ago = getHourMinutes(currentMillisec - (MINUTE * lastMinutes)); + + if (now.compareTo(ago) < 0) + ago = "00:00"; + + heart = auth.run( + BASIC_URL + "1" + USER + "activities/heart/date/today/1d/1sec/time/" + ago + "/" + now + ".json", + HeartRate.class); + } + return heart.getAverage(); + } + + /** + * Ricevi le ore di sonno che l'utente ha fatto nell'ultimo giorno + * + * @return un intero rappresentante le ore passate a dormire + * @throws IOException nel caso la richiesta non vada a buon fine + */ + public Object getHoursSleep() throws IOException { + if (shouldUpdateFor(Sleep.class)) + sleep = auth.run(BASIC_URL + "1.2" + USER + "sleep/date/today.json", Sleep.class); + return sleep.getMinutesAsleep(); + } + + /** + * Semplice classe che controlla che si possa fare l'update o meno di una specifica classe
+ * Se e' possibile fare l'update inserisce la classe nella mappa
+ * In questo modo se questa funzione viene chiamata una seconda volta con lo stesso parametro restituira' falso
+ * a meno che non si aspetti 5 minuti + * + * @param type la classe da fare l'update + * @return vero se si puo' fare l'update + */ + private boolean shouldUpdateFor(Class type) { + try { + long current = System.currentTimeMillis(); + long latest = latestRequest.get(type); + + if(current - latest < MINUTE * 5) + return false; + } catch (NullPointerException e) { + } + + latestRequest.put(heart.getClass(), System.currentTimeMillis()); + return true; + } + + /** + * Funzione che transforma i millisecondi nel formato "hh:mm" + * + * @param milliseconds millisecondi da trasformare + * @return una stringa nel formato "hh:mm" + */ + private String getHourMinutes(long milliseconds) { + calendar.setTimeInMillis(milliseconds); + + int hour = calendar.get(Calendar.HOUR_OF_DAY); + int minu = calendar.get(Calendar.MINUTE); + return String.format("%02d:%02d", hour, minu); + } + + // Device dev = auth.run(BASIC_URL + "devices.json", Device.class); +} diff --git a/src/main/java/device/Hue.java b/src/main/java/device/Hue.java index d035413..4247aa3 100644 --- a/src/main/java/device/Hue.java +++ b/src/main/java/device/Hue.java @@ -5,30 +5,58 @@ import java.util.Set; import support.Rest; +/** + * Classe che permette di controllare le luci Philips Hue + */ public class Hue { //private String baseURL = "192.168.0.2"; //private String username = "C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx"; - private String lightsURL;// = baseURL+"/api/"+username+"/lights/"; + /** + * L'url in cui si possono trovare le luci + */ + private String lightsURL; // = baseURL+"/api/"+username+"/lights/"; + /** + * Tutte le luci che sono state registrate dall'url + */ private Map allLights; public Hue () { this("http://172.30.1.138/api/C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx/lights/"); } + + /** + * Inizializza la classe cercando tutte le luci all'indirizzo url specificato + * + * @param url l'indirizzo da inserire delle luci Hue + */ public Hue (String url) { lightsURL = url; allLights = Rest.get(lightsURL); } + /** + * Ritorna un insieme contenente tutti i nomi delle luci che si sono trovate + * + * @return l'insieme dei nomi delle luci + */ public Set getNameLights() { return allLights.keySet(); } + /** + * Rimuove dal controllo tutte le luci che hanno il nome uguale ad uno contenuto nell'insieme passato + * + * @param toRemove le luci da rimuovere + */ public void removeLights(Set toRemove) { for(String string : toRemove) allLights.remove(string); } + /** + * Accende tutte le luci controllate + */ public void turnOn() { for (String light : allLights.keySet()) { String callURL = lightsURL + light + "/state"; @@ -37,9 +65,9 @@ public class Hue { } } - public int getCurrentLuminiscence() { - return 0; - } + /** + * Spegne tutte le luci controllate + */ public void turnOff() { for (String light : allLights.keySet()) { String callURL = lightsURL + light + "/state"; @@ -47,8 +75,22 @@ public class Hue { Rest.put(callURL, body, "application/json"); } } - + + /** + * Ritorna la liminosita' attuale delle luci controllate + * @return + */ + public int getCurrentBrightness() { + return 0; + } + + /** + * Modifica la luminosita' delle luci a seconda del valore inserito + * @param num la luminosita' che si vuole + */ public void setBrightness(int num) { + if (num<0) + num=0; for (String light : allLights.keySet()) { String callURL = lightsURL + light + "/state"; String body = "{ \"bri\" : "+num+" }"; @@ -56,14 +98,9 @@ public class Hue { } } - /*public void setAttribute(String attribute, String value){ - for (String light : allLights.keySet()) { - String callURL = lightsURL + light + "/state"; - String body = "{ \""+attribute+"\" : "+value+" }"; - Rest.put(callURL, body, "application/json"); - } - }*/ - + /** + * Modifica il colore delle luci in modo da fare un bel effetto arcobaleno continuo + */ public void colorLoop() { for (String light : allLights.keySet()) { String callURL = lightsURL + light + "/state"; @@ -72,5 +109,14 @@ public class Hue { } } - + /** + * Funzione generale per poter utilizzare qualunque valore, ma non funziona + */ + /*public void setAttribute(String attribute, String value){ + for (String light : allLights.keySet()) { + String callURL = lightsURL + light + "/state"; + String body = "{ \""+attribute+"\" : "+value+" }"; + Rest.put(callURL, body, "application/json"); + } + }*/ } diff --git a/src/main/java/device/Sensor.java b/src/main/java/device/Sensor.java index 2b84eb0..7643720 100644 --- a/src/main/java/device/Sensor.java +++ b/src/main/java/device/Sensor.java @@ -9,8 +9,14 @@ import support.ZWaySimpleCallback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Sensore che permette di registrare vari dati dell'ambiente + */ public class Sensor { - // init logger + + /** + * Logger? + */ Logger logger = LoggerFactory.getLogger(Sensor.class); // sample RaZberry IP address @@ -24,6 +30,9 @@ public class Sensor { private DeviceList allZWaveDevices; private DeviceList devices; + /** + * Crea un sensore contenente tutti i nodi + */ public Sensor() { this(null); } diff --git a/src/main/java/device/FITBITData/Device.java b/src/main/java/device/fitbitdata/Device.java similarity index 95% rename from src/main/java/device/FITBITData/Device.java rename to src/main/java/device/fitbitdata/Device.java index b03a95a..3008632 100644 --- a/src/main/java/device/FITBITData/Device.java +++ b/src/main/java/device/fitbitdata/Device.java @@ -1,4 +1,4 @@ -package device.FITBITData; +package device.fitbitdata; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/device/FITBITData/HeartRate.java b/src/main/java/device/fitbitdata/HeartRate.java similarity index 97% rename from src/main/java/device/FITBITData/HeartRate.java rename to src/main/java/device/fitbitdata/HeartRate.java index 867416f..8d6db4e 100644 --- a/src/main/java/device/FITBITData/HeartRate.java +++ b/src/main/java/device/fitbitdata/HeartRate.java @@ -1,4 +1,4 @@ -package device.FITBITData; +package device.fitbitdata; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/device/FITBITData/Sleep.java b/src/main/java/device/fitbitdata/Sleep.java similarity index 94% rename from src/main/java/device/FITBITData/Sleep.java rename to src/main/java/device/fitbitdata/Sleep.java index ea535df..5c2eb03 100644 --- a/src/main/java/device/FITBITData/Sleep.java +++ b/src/main/java/device/fitbitdata/Sleep.java @@ -1,4 +1,4 @@ -package device.FITBITData; +package device.fitbitdata; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/device/FITBITData/Steps.java b/src/main/java/device/fitbitdata/Steps.java similarity index 89% rename from src/main/java/device/FITBITData/Steps.java rename to src/main/java/device/fitbitdata/Steps.java index ac01984..7340206 100644 --- a/src/main/java/device/FITBITData/Steps.java +++ b/src/main/java/device/fitbitdata/Steps.java @@ -1,4 +1,4 @@ -package device.FITBITData; +package device.fitbitdata; import java.text.SimpleDateFormat; import java.util.Date; @@ -20,7 +20,7 @@ public class Steps { for(Map map : array) if(map.get("dateTime").equals(strDate)) - steps = Integer.parseInt(map.get("value"))+1; + steps = Integer.parseInt(map.get("value")); } public int getSteps() { diff --git a/src/main/java/oauth/AuthFITBIT.java b/src/main/java/oauth/AuthFitbit.java similarity index 98% rename from src/main/java/oauth/AuthFITBIT.java rename to src/main/java/oauth/AuthFitbit.java index ebdbd4e..c7e385a 100644 --- a/src/main/java/oauth/AuthFITBIT.java +++ b/src/main/java/oauth/AuthFitbit.java @@ -24,11 +24,11 @@ import com.google.api.client.util.store.DataStoreFactory; import com.google.api.client.util.store.FileDataStoreFactory; -public class AuthFITBIT { +public class AuthFitbit { private final HttpRequestFactory requestFactory; - public AuthFITBIT() throws Exception { + public AuthFitbit() throws Exception { DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR); final Credential credential = authorize(); diff --git a/src/test/java/TestFitbit.java b/src/test/java/TestFitbit.java index 88b1261..99ded4c 100644 --- a/src/test/java/TestFitbit.java +++ b/src/test/java/TestFitbit.java @@ -1,12 +1,12 @@ import org.junit.Test; -import device.FitBit; +import device.Fitbit; public class TestFitbit { @Test public void test01() throws Exception { - FitBit fitBit = new FitBit(); + Fitbit fitBit = new Fitbit(); fitBit.getHoursSleep(); System.out.println("Today's average heart-rate: "+fitBit.getHeartRate()); diff --git a/src/test/java/TestSensor.java b/src/test/java/TestSensor.java index 720564c..04ebe37 100644 --- a/src/test/java/TestSensor.java +++ b/src/test/java/TestSensor.java @@ -29,7 +29,7 @@ import java.util.Set; while(i<999999) { if (sensor.luminiscenceLevel() < 200) { - lights.getCurrentLuminiscence(); + lights.getCurrentBrightness(); lights.setBrightness(200); }