Содержание

@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 может содержать поля:

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

TroykaMeteoSensor

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

TroykaMeteoSensor.reset()

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

TroykaMeteoSensor.read(callback)

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

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

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 может принимать значения

// изменяем значение повторяемости измерений 
// высокая 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');