Examples of Sensor


Examples of avrora.sim.platform.sensors.Sensor

        String sensor;
        String fname;

        void instantiate(Platform p) {
            try {
                Sensor s = (Sensor)p.getDevice(sensor+"-sensor");
                if ( s == null )
                    Avrora.userError("Sensor device does not exist", sensor);
                if ( ".".equals(fname) ) s.setSensorData(new RandomSensorData(getRandom()));
                else s.setSensorData(new ReplaySensorData(p.getMicrocontroller(), fname));
            } catch ( IOException e) {
                throw Avrora.unexpected(e);
            }
        }
View Full Code Here

Examples of ca.teamdave.caruso.sensor.Sensor

        this.actuators = new Hashtable(actuators.size());

        String key;
        Object value;

        Sensor sensor;
        Enumeration keys = sensors.keys();
        while (keys.hasMoreElements()) {
            key = (String) keys.nextElement();
            sensor = (Sensor) sensors.get(key);

            value = sensor.getValue();
            this.sensors.put(key, value);
        }

        Actuator actuator;
        keys = actuators.keys();
View Full Code Here

Examples of com.epam.llpd.greenhouse.sensor.Sensor

    private void startSensorReading() {
        sensorReadingThread = new Thread() {
           
            @Override
            public void run() {
                Sensor sensor = new Sensor();
                while(true) {
                    float[] sensData = sensor.readData();
                    temp = sensData[0];
                    hum = sensData[1];
                    try {
                        sleep(5000);
                    } catch (InterruptedException ex) {
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

    // String type = (String) parent.getProperty("type");
    Reading reading = ofy().load().fromEntity(entreading);
    if (reading == null) {
      log.log(Level.SEVERE, "null reading");
    }
    Sensor sensor = ofy().load().now(reading.getSensor());
    if (sensor == null) {
      log.log(Level.SEVERE, "null sensor");
    }
    String sentitydate = getDateString(reading.getTimestamp());
    String value = reading.getValue(); // value of reading
    emit(sensor.getType() + ":" + sensor.getId() + ":" + sentitydate, value);
    // emits the form: TEMPERATURE:38382834:20140417, 72
    // where TYPE:SENSORID:DATE,READING
    // } catch (EntityNotFoundException e) {
    // }
  }
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

    DataTable data = new DataTable();
    ArrayList cd = new ArrayList();
    try {
      // Fill the data table.
      cd.add(new ColumnDescription("date", ValueType.DATETIME, "Date"));
      Sensor sensor =
          ofy().load().type(Sensor.class).id(Long.parseLong(request.getParameter("id"))).now();
      log.log(Level.WARNING, "sensor={0}", sensor);
      if (sensor.getType() == Sensor.Type.TEMPERATURE || sensor.getType() == Sensor.Type.HUMIDITY) {
        cd.add(new ColumnDescription("high", ValueType.NUMBER, "High"));
        cd.add(new ColumnDescription("low", ValueType.NUMBER, "Low"));
      } else if (sensor.getType() == Sensor.Type.LIGHT) {
        cd.add(new ColumnDescription("nonzeroavg", ValueType.NUMBER, "Total"));
      } else if (sensor.getType() == Sensor.Type.WINDSPEED) {
        cd.add(new ColumnDescription("high", ValueType.NUMBER, "High"));
      }
      data.addColumns(cd);

      List<ReadingHistory> readings =
          ofy().load().type(ReadingHistory.class).ancestor(sensor).list();
      GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
      // without a timezone of GMT, you will get:
      // can't create DateTimeValue from GregorianCalendar that is not GMT.
      // and if you want your graph in a TZ other than GMT? Nope.
      for (ReadingHistory reading : readings) {
        cal.setTime(new Date(reading.getTimestamp().getTime()));
        if (sensor.getType() == Sensor.Type.TEMPERATURE || sensor.getType() == Sensor.Type.HUMIDITY) {
          data.addRowFromValues(cal, new Double(reading.getHigh()), new Double(reading.getLow()));
        } else if (sensor.getType() == Sensor.Type.LIGHT) {
          data.addRowFromValues(cal, new Double(reading.getAverage()));
        } else if (sensor.getType() == Sensor.Type.WINDSPEED) {
          data.addRowFromValues(cal, new Double(reading.getHigh()));
        }
      }
    } catch (final TypeMismatchException e) {
      log.log(Level.SEVERE, e.toString(), e);
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

      }
      log.info("1. authorization checked");
      String sensorid = request.getParameter("k");
      log.log(Level.INFO, "k={0}", sensorid);
      // load the sensor entity
      Sensor sensor = ofy().load().type(Sensor.class).id(Long.parseLong(sensorid)).now();
      if (sensor != null) {
        out.println(sensor.getId() + "=" + sensor.getLastReading() + ";" + sensor.getLastReadingDate().getTime() / 1000);
        log.log(Level.INFO, "sent:{0}={1};{2}", new Object[]{sensor.getId(), sensor.getLastReading(), sensor.getLastReadingDate().getTime() / 1000});
      } else {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Sensor not found");
      }
    }
  }
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

      log.log(Level.INFO, "k={0},v={1}", new Object[]{sensorid, sensorval});
      ofy().transact(new Work<Sensor>() {
        @Override
        public Sensor run() {
          Key<Sensor> sk = Key.create(Sensor.class, Long.parseLong(sensorid));
          Sensor sensor = ofy().load().now(sk);
          // set the value
          sensor.setLastReadingDate(new Date());
          sensor.setLastReading(sensorval);
          ofy().save().entity(sensor);
          log.log(Level.INFO, "saved sensor:{0}", sensor);
          Reading reading = new Reading();
          reading.setSensor(sk);
          reading.setTimestamp(new Date());
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

        if (cursor != null) {
          query = query.startAt(cursor);
        }
        QueryResultIterator<Sensor> iterator = query.iterator();
        while (iterator.hasNext()) {
          Sensor sens = iterator.next();
          out.println(sens.toString());
          tickler++;
        }
        cursor = iterator.getCursor();
        if (tickler == 0) {
          done = true;
View Full Code Here

Examples of com.openhouseautomation.model.Sensor

    data.addColumns(cd);

    // Fill the data table.
    try {
      // TODO pass sensor id in as a parameter, then pass back values for that id
      Sensor sensor =
          ofy().load().type(Sensor.class).id(Long.parseLong(request.getParameter("id"))).now();
      Date cutoffdate = new Date(System.currentTimeMillis() - (1000 * 60 * 60 * 24 * 7));
      List<Reading> readings =
          ofy().load().type(Reading.class).ancestor(sensor).filter("timestamp >", cutoffdate)
              .list();
View Full Code Here

Examples of components.features.sensor.Sensor

  }


  public void run()
  {
    Sensor        sensor;
    RobotState      robotState;
    double[]      pos;
    double        course;
    boolean        finished1, finished2, finished3;
    int          i;
   
   
    Logger.info( "El canal de comunicaciones comienza su ejecuci�n." );
   
   
    int width  = ((ImageBasedGPS) Simulation.getCurrent().getGps()).getImageCollector().getImageResolution().width;
    int height  = ((ImageBasedGPS) Simulation.getCurrent().getGps()).getImageCollector().getImageResolution().height;
   
    if ( width <= 0 width = Defines.DEFAULT_IMAGE_RESOLUTION[0];
    if ( height <= 0 height = Defines.DEFAULT_IMAGE_RESOLUTION[1];


    while ( ! isClosed() )
    {
     
      // Duerme durante un intervalo
      try {
        Thread.sleep( SLEEP_TIME );
      } catch (InterruptedException e) { }

     
      // TODO: cuidado con �sto!!! En este punto, lo �nico que me
      // ayuda para que el sem�foro no sea null es el sleep() anterior
      // (de otra forma, pinchar�a). Implementarlo bien!
     
      getCommChannelSemaphore().WAIT();

     
      if ( Simulation.getCurrent().getGps() != null )
        sceneItems = Simulation.getCurrent().getGps().getMazeItems();
      else
        sceneItems = null;
       
      if ( sceneItems == null )
      {
        Logger.error("No hay �tems reconocidos en el escenario.");
        continue;
      }

     
      robotState  = robot.getState();
      pos      = robotState.position;
      course    = realCourse;
   
     
      // Calcula las coordenadas de los puntos laterales, y del punto frontal.
      state.frontX  = pos[0] + Defines.ROBOT_RADIO * Math.cos( course );
      state.frontY  = pos[1] + Defines.ROBOT_RADIO * Math.sin( course );
      state.leftX    = pos[0] + Defines.ROBOT_RADIO * Math.cos( course + 3.0*Math.PI/2.0);
      state.leftY    = pos[1] + Defines.ROBOT_RADIO * Math.sin( course + 3.0*Math.PI/2.0);
      state.rightX  = pos[0] + Defines.ROBOT_RADIO * Math.cos( course + Math.PI/2.0 );
      state.rightY  = pos[1] + Defines.ROBOT_RADIO * Math.sin( course + Math.PI/2.0 );

     
      // Calcula los puntos de alcance de todos los sensores.
      state.frontSensorX  = state.frontX + Defines.FRONT_SENSOR_DISTANCE * Math.cos(course);
      state.frontSensorY  = state.frontY + Defines.FRONT_SENSOR_DISTANCE * Math.sin(course);
      state.leftSensorX  = state.leftX  + Defines.LEFT_SENSOR_DISTANCE  * Math.cos(Math.PI/2.0 - course);
      state.leftSensorY  = state.leftY  - Defines.LEFT_SENSOR_DISTANCE  * Math.sin(Math.PI/2.0 - course);
      state.rightSensorX  = state.rightX - Defines.RIGHT_SENSOR_DISTANCE * Math.cos(Math.PI/2.0 - course);
      state.rightSensorY  = state.rightY + Defines.RIGHT_SENSOR_DISTANCE * Math.sin(Math.PI/2.0 - course);



      //////////////////////////////////////////
      //                    //
      //     Se analiza el SENSOR FRONTAL    //
      //                    //
      //////////////////////////////////////////
     
      finished1 = false;   
      for ( i=0; i<sceneItems.recognizedColoredIcons.length  &&  !finished1; i++)
      {
        if ( detect( FRONT_SENSOR , i, GPS.GPS_COLORS) )
          // El sensor frontal detecta un �cono coloreado
          finished1 = true;
      }

      finished2 = false;   
      for ( i=0; i<sceneItems.recognizedWalls.length  &&  !finished2; i++)
      {
        if ( detect( FRONT_SENSOR , i, GPS.GPS_WALLS) )
          // El sensor frontal detecta una pared
          finished2 = true;
      }

      finished3 = false;
      /*
      for ( i=0; i<sceneItems.recognizedRobots.length  &&  !finished3; i++)
      {
        if ( detect( FRONT_SENSOR , i, GPS.GPS_ROBOTS) )
          // El sensor frontal detecta otro robot
          finished3 = true;
      }
      */
     
      if ( finished1  ||  finished2  ||  finished3 )
      {
        // El sensor frontal est� detectando algo
        sensor = (ProximitySensor)features.featuresHash.get( FRONT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(true) );
        else
          // TODO: ver c�mo manejar la situaci�n en que no se encuentra
          // el feature en el hash.
          Logger.error("No se pudo acceder al sensor frontal.");
      }
      else
      {
        // No se detecta ninguna pared al frente
        sensor = (ProximitySensor)features.featuresHash.get( FRONT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(false) );
      }



      //////////////////////////////////////////
      //                    //
      //    Se analiza el SENSOR IZQUIERDO  //
      //                    //
      //////////////////////////////////////////
     
      finished1 = false;   
      for ( i=0; i<sceneItems.recognizedColoredIcons.length  &&  !finished1; i++)
      {
        if ( detect( LEFT_SENSOR , i, GPS.GPS_COLORS) )
          // El sensor izquierdo detecta un �cono coloreado
          finished1 = true;
      }

      finished2 = false;   
      for ( i=0; i<sceneItems.recognizedWalls.length  &&  !finished2; i++)
      {
        if ( detect( LEFT_SENSOR , i, GPS.GPS_WALLS) )
          // El sensor izquierdo detecta una pared
          finished2 = true;
      }

      finished3 = false;
      /*
      for ( i=0; i<sceneItems.recognizedRobots.length  &&  !finished3; i++)
      {
        if ( detect( LEFT_SENSOR , i, GPS.GPS_ROBOTS) )
          // El sensor izquierdo detecta otro robot
          finished3 = true;
      }
      */
     
      if ( finished1  ||  finished2  ||  finished3 )
      {
        // El sensor izquierdo est� detectando algo
        sensor = (ProximitySensor)features.featuresHash.get( LEFT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(true) );
        else
          // TODO: ver c�mo manejar la situaci�n en que no se encuentra
          // el feature en el hash.
          Logger.error("No se pudo acceder al sensor izquierdo.");
      }
      else
      {
        // No se detecta ninguna pared a la izquierda
        sensor = (ProximitySensor)features.featuresHash.get( LEFT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(false) );
        else
          // TODO: ver c�mo manejar la situaci�n en que no se encuentra
          // el feature en el hash.
          Logger.error("No se pudo acceder al sensor izquierdo.");
      }



      //////////////////////////////////////////
      //                    //
      //     Se analiza el SENSOR DERECHO    //
      //                    //
      //////////////////////////////////////////

      finished1 = false;   
      for ( i=0; i<sceneItems.recognizedColoredIcons.length  &&  !finished1; i++)
      {
        if ( detect( RIGHT_SENSOR , i, GPS.GPS_COLORS) )
          // El sensor derecho detecta un �cono coloreado
          finished1 = true;
      }

      finished2 = false;   
      for ( i=0; i<sceneItems.recognizedWalls.length  &&  !finished2; i++)
      {
        if ( detect( RIGHT_SENSOR , i, GPS.GPS_WALLS) )
          // El sensor derecho detecta una pared
          finished2 = true;
      }

      finished3 = false;
      /*
      for ( i=0; i<sceneItems.recognizedRobots.length  &&  !finished3; i++)
      {
        if ( detect( RIGHT_SENSOR , i, GPS.GPS_ROBOTS) )
          // El sensor derecho detecta otro robot
          finished3 = true;
      }
      */
     
      if ( finished1  ||  finished2  ||  finished3 )
      {
        // El sensor derecho est� detectando algo
        sensor = (ProximitySensor)features.featuresHash.get( RIGHT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(true) );

        // TODO: ver c�mo manejar la situaci�n en que no se encuentra
        // el feature en el hash.
      }
      else
      {
        // No se detecta ninguna pared a la derecha
        sensor = (ProximitySensor)features.featuresHash.get( RIGHT_SENSOR_NAME );
        if ( sensor != null )
          sensor.setValue( new Boolean(false) );
      }



      //////////////////////////////////////////
      //                    //
      //    Se analiza el SENSOR DE COLOR    //
      //                    //
      //////////////////////////////////////////

      double xl  = pos[0] + 0.5*Defines.ROBOT_RADIO * Math.cos( course + 3.0*Math.PI/2.0);
      double yl  = pos[1] + 0.5*Defines.ROBOT_RADIO * Math.sin( course + 3.0*Math.PI/2.0);
      double xr  = pos[0] + 0.5*Defines.ROBOT_RADIO * Math.cos( course + Math.PI/2.0 );
      double yr  = pos[1] + 0.5*Defines.ROBOT_RADIO * Math.sin( course + Math.PI/2.0 );

      Color colorLeft  = null;
      Color colorRight= null;
     
      // Se analiza el "flanco" izquierdo
      finished1     = false;
      finished2     = false;
      finished3     = false;
      while ( !finished1  &&  !finished2  &&  !finished3 )
      {
        xl  +=  Defines.STEP_SIZE * Math.cos( course );
        yl  +=  Defines.STEP_SIZE * Math.sin( course );

        for (i=0; !finished1  &&  i<sceneItems.recognizedWalls.length; i++)
          if ( sceneItems.recognizedWalls[i].contains(xl, yl) )
            // Hay una pared
            finished1 = true;

        // TODO: verificar que no est� chocando contra otro robot
       
       
       
       
        for (i=0; !finished1  &&  !finished2  &&  !finished3  &&  i<sceneItems.recognizedColoredIcons.length; i++)
          if ( sceneItems.recognizedColoredIcons[i].contains(xl, yl) )
          {
            // Encontr� un color
            sensor = (ColorSensor)features.featuresHash.get( COLOR_SENSOR_NAME );
            if ( sensor != null )
              colorLeft = sceneItems.recognizedColoredIcons[i].color;
            finished3  = true;
          }
       
        if ( xl < ||  xl > width  ||  yl < ||  yl > height )
          // Se fue del rango de la imagen...
          break;

      }
     
      // Se analiza el "flanco" derecho
      finished1     = false;
      finished2     = false;
      finished3     = false;
      while ( !finished1  &&  !finished2  &&  !finished3 )
      {
        xr  +=  Defines.STEP_SIZE * Math.cos( course );
        yr  +=  Defines.STEP_SIZE * Math.sin( course );

        for (i=0; !finished1  &&  i<sceneItems.recognizedWalls.length; i++)
          if ( sceneItems.recognizedWalls[i].contains(xr, yr) )
            // Hay una pared
            finished1 = true;

        // TODO: verificar que no est� chocando contra otro robot
       
       
       
       
        for (i=0; !finished1  &&  !finished2  &&  !finished3  &&  i<sceneItems.recognizedColoredIcons.length; i++)
          if ( sceneItems.recognizedColoredIcons[i].contains(xr, yr) )
          {
            // Encontr� un color
            sensor = (ColorSensor)features.featuresHash.get( COLOR_SENSOR_NAME );
            if ( sensor != null )
              colorRight = sceneItems.recognizedColoredIcons[i].color;

            finished3  = true;
          }
       
        if ( xr < ||  xr > width  ||  yr < ||  yr > height )
          // Se fue del rango de la imagen...
          break;

      }
     
      sensor = (ColorSensor)features.featuresHash.get( COLOR_SENSOR_NAME );
      if ( colorLeft != null  &&  colorRight != null  &&  colorLeft.equals(colorRight) )
      {
        // Ambos "flancos" detectan el mismo color. Entonces, se considera
        // que el robot est� viendo ese color.
        if ( sensor != null )
          sensor.setValue( colorLeft );
      }
      else
      {
        // No encontr� color
        if ( sensor != null )
          sensor.setValue( null );
      }



      getCommChannelSemaphore().SIGNAL();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.