====== @amperka/meteo-sensor ======
Библиотека для управления модулем измерения температуры и влажности [[amp>product/troyka-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+" %");
}
});
===== Функции и объекты модуля =====
func:: connect([opts]);
Создаёт новый объект ''TroykaMeteoSensor''. Объект ''opts'' может содержать поля:
* ''i2c'' — I2C, к которому подключён модуль, например ''I2C1''.
* ''address'' — адрес модуля на шине I2C.
* ''repeatability'' — повторяемость измерений
Если объект ''opts'' не передан, по умолчанию используется ''PrimaryI2C'', адрес ''0x44'', повторяемость ''HIGH''.
class:: TroykaMeteoSensor
Класс для взаимодействия с метео сенсором. Для создания нового объекта используйте функцию ''connect''.
meth:: TroykaMeteoSensor.reset()
Сбрасывает модуль в начальное состояние.
meth:: 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+" %");
}
});
meth:: TroykaMeteoSensor.heaterOn()
Включает встроенный нагреватель для удаления конденсата с датчика.
meth:: TroykaMeteoSensor.heaterOff()
Выключает встроенный нагреватель для удаления конденсата с датчика.
meth:: TroykaMeteoSensor.setRepeatability(value)
Устанавливает диапазон [[https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D1%8F%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D1%8C_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D0%B9|повторяемости измерений]] ''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');