bme280-sensor
Version:
A Node.js I2C module for the BME280 Humidity, Barometric Pressure, and Temperature Sensor. Also includes support for the BMP280 Barometric Pressure and Temperature Sensor.
40 lines (34 loc) • 1.16 kB
JavaScript
const BME280 = require('bme280-sensor');
// The BME280 constructor options are optional.
//
const options = {
i2cBusNo : 1, // defaults to 1
i2cAddress : BME280.BME280_DEFAULT_I2C_ADDRESS() // defaults to 0x77
};
const bme280 = new BME280(options);
// Read BME280 sensor data, repeat
//
const readSensorData = () => {
bme280.readSensorData()
.then((data) => {
// temperature_C, pressure_hPa, and humidity are returned by default.
// I'll also calculate some unit conversions for display purposes.
//
data.temperature_F = BME280.convertCelciusToFahrenheit(data.temperature_C);
data.pressure_inHg = BME280.convertHectopascalToInchesOfMercury(data.pressure_hPa);
console.log(`data = ${JSON.stringify(data, null, 2)}`);
setTimeout(readSensorData, 2000);
})
.catch((err) => {
console.log(`BME280 read error: ${err}`);
setTimeout(readSensorData, 2000);
});
};
// Initialize the BME280 sensor
//
bme280.init()
.then(() => {
console.log('BME280 initialization succeeded');
readSensorData();
})
.catch((err) => console.error(`BME280 initialization failed: ${err} `));