====== @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');