@amperka/meteo-sensor

Библиотека для управления модулем измерения температуры и влажности Метео сенсор(Troyka-модуль) основанном на микросхеме SHT3x с I²C шиной.

// настраиваем шину I²C
I2C1.setup({sda: SDA, scl: SCL, bitrate: 100000});
// подключаем модуль работы с метео сенсором
var meteoSensor = require('@amperka/meteo-sensor').connect({
  // шина к которой подключен датчик
  i2c: I2C1,
  // адрес датчика 0х44 или 0х45            
  address: 0x44,
  // устанавливаем значение повторяемости измерений
  repeatabulity: 'LOW',
});
 
// можно и так подключать модуль работы с метео сенсором
// var meteoSensor = require('@amperka/meteo-sensor').connect();
 
// изменяем значение повторяемости измерений 
// высокая Hum 0,1 %RH   Temp 0.06 C 
meteoSensor.setRepeatability('HIGH');
// средняя Hum 0,15 %RH   Temp 0.12 C
meteoSensor.setRepeatability('MEDIUM');
// низкая Hum 0,25 %RH   Temp 0.24 C
meteoSensor.setRepeatability('LOW');
 
// сброс датчика
meteoSensor.reset();
// включение нагревателя
meteoSensor.heaterOn();
// выключения нагревателя
meteoSensor.heaterOff();
// считывание данных с датчика
meteoSensor.read(function(err, data) {
  if (err) {
    print(err);
  } else {
    print("Temp is: "+data.tempC+" C," + "Temp is: "+data.tempF+" F,"+
      "Temp is: "+data.tempK+" K,"+"Hum is: "+data.humidity+" %");
  }
});

Функции и объекты модуля

connect([opts]);

Создаёт новый объект TroykaMeteoSensor. Объект opts может содержать поля:

  • i2c — I2C, к которому подключён модуль, например I2C1.
  • address — адрес модуля на шине I2C.
  • repeatability — повторяемость измерений

Если объект opts не передан, по умолчанию используется PrimaryI2C, адрес 0x44, повторяемость HIGH.

TroykaMeteoSensor

Класс для взаимодействия с метео сенсором. Для создания нового объекта используйте функцию connect.

TroykaMeteoSensor.reset()

Сбрасывает модуль в начальное состояние.

TroykaMeteoSensor.read(callback)

Функция отсылает запрос модулю и по возвращению от него данных вызывает функцию callback(err, data):

  • err — объект Error, если произошла ошибка измерения; undefined, если измерение успешно;

Объект data обладает полями:

  • data.tempC — температура в градусах Цельсия.
  • data.tempF — температура в градусах Фаренгейта.
  • data.tempK — температура в Кельвинах.
  • data.humidity — относительная влажность в процентах.
meteoSensor.read(function(err, data){
  if (err) {
    print(err);
  } else {
    print("Temp is: "+data.tempC+" C," + "Temp is: "+data.tempF+" F,"+
      "Temp is: "+data.tempK+" K,"+"Hum is: "+data.humidity+" %");
  }
});

TroykaMeteoSensor.heaterOn()

Включает встроенный нагреватель для удаления конденсата с датчика.

TroykaMeteoSensor.heaterOff()

Выключает встроенный нагреватель для удаления конденсата с датчика.

TroykaMeteoSensor.setRepeatability(value)

Устанавливает диапазон повторяемости измерений value может принимать значения

  • HIGH — Влажность: 0,1 %RH Температура: 0.06 C
  • MEDIUM — Влажность: 0,15 %RH Температура: 0.12 C
  • LOW — Влажность: 0,25 %RH Температура: 0.24 C
// изменяем значение повторяемости измерений 
// высокая Hum 0,1 %RH   Temp 0.06 C 
meteoSensor.setRepeatability('HIGH');
// средняя Hum 0,15 %RH   Temp 0.12 C
meteoSensor.setRepeatability('MEDIUM');
// низкая Hum 0,25 %RH   Temp 0.24 C
meteoSensor.setRepeatability('LOW');