Comment lire des mesures de température, d'humidité et de lumière avec Contiki-OS?

StackOverflow https://stackoverflow.com//questions/21047965

  •  21-12-2019
  •  | 
  •  

Question

J'aimerais savoir comment mesurer la température, la lumière et l'humidité avec un programme CONTIKI.

J'utilise un Mote Telosb (Sky Mote), de sorte que ces trois capteurs sont intégrés dans le mote lui-même.

PS: Je travaille sur CONTIKI-OS 2.7

Était-ce utile?

La solution

Pour utiliser les capteurs de lumière et de température, vous devrez ajouter le suivant:

#include "dev/sht11-sensor.h"
#include "dev/light-sensor.h"

Ensuite, vous pouvez utiliser les fonctions suivantes:

static int
get_light(void)
{
  return 10 * light_sensor.value(LIGHT_SENSOR_PHOTOSYNTHETIC) / 7;
}

static int
get_temp(void)
{
  return ((sht11_sensor.value(SHT11_SENSOR_TEMP) / 10) - 396) / 10;
}

Par exemple, une application minimale pour montrer les valeurs de ces capteurs serait la suivante:

#include "contiki.h"
#include "dev/sht11-sensor.h"
#include "dev/light-sensor.h"
#include "dev/leds.h"
#include <stdio.h>

//Declare the process
PROCESS(send_sensor_info_process, "Print the Sensors Information");

//Make the process start when the module is loaded
AUTOSTART_PROCESSES(&send_sensor_info_process);

/*---------------------------------------------------------------------------*/
static int
get_light(void)
{
  return 10 * light_sensor.value(LIGHT_SENSOR_PHOTOSYNTHETIC) / 7;
}
/*---------------------------------------------------------------------------*/
static int
get_temp(void)
{
  return ((sht11_sensor.value(SHT11_SENSOR_TEMP) / 10) - 396) / 10;
}
/*---------------------------------------------------------------------------*/

//Define the process code
PROCESS_THREAD(send_sensor_info_process, ev, data)
{
  PROCESS_BEGIN();
  SENSORS_ACTIVATE(light_sensor);
  SENSORS_ACTIVATE(sht11_sensor);
  printf("Light: %d \n", get_light());
  printf("Temperature: %d \n", get_temp());

  PROCESS_END();
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top