Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Implementazione del thread Sensor, che ha il
- // compito di misurare i parametri ambientali
- public class Sensor extends Thread {
- // attributo per la condivisione dell'oggetto Cloud
- private Cloud myCloud;
- // attributo per la condivisione dell'oggetto Environment
- private Environment myEnvironment;
- // attributo contenente i parametri misurati dal sensore
- private double parametriLetti[];
- // generatore di numeri casuali
- private Random rnd;
- // percentuale errore di lettura
- private int erroreLettura;
- // costruttore classe Sensor
- public Sensor(String name, Cloud c, Environment e){
- super(name);
- this.myCloud = c;
- this.myEnvironment = e;
- this.rnd = new Random();
- // inizializzo l'errore di lettura
- // nell'intervallo [-10,10]
- this.erroreLettura = this.rnd.nextInt(21) - 10;
- // parametriLetti è un array di due posizioni, per contenere
- // il valore di luminosità e temperatura misurati
- this.parametriLetti = new double[2];
- } // end costruttore
- // implemento il comportamento del thread
- @Override
- public void run(){
- boolean isAlive = true;
- System.out.println("["+super.getName() +"] --> Ho iniziato l'esecuzione.");
- while(isAlive){
- try{
- // misuro i parametri ambientali
- parametriLetti = this.myEnvironment.measureParameters(this);
- // applico l'errore percentuale alla temperatura in posizione 0
- parametriLetti[0] += (parametriLetti[0] * erroreLettura) / 100;
- // applico l'errore percentuale alla luminosità in posizione 1
- parametriLetti[1] += (parametriLetti[1] * erroreLettura) / 100;
- // invio i dati in Cloud
- this.myCloud.writeData(this, parametriLetti);
- // attendo 400 millisecondi
- Thread.sleep(400);
- } catch(InterruptedException ex){
- System.out.println("Interrupt! --> " + ex);
- isAlive = false;
- }
- } // end while
- System.out.println("["+super.getName() +"] --> Ho terminato l'esecuzione.");
- } // end metodo run()
- } // end class Sensor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement