mtex-bmp280

0.1.5 • Public • Published

BMP 280 sensor library

A Node.js I2C module for the Bosch BMP280 Barometric Pressure and Temperature Sensor - datasheet.

This module uses i2c-bus which should provide access with Node.js on Linux boards like the Raspberry Pi Zero, 1, 2, or 3, BeagleBone, BeagleBone Black, or Intel Edison.

Note: While the BMP280 device does report temperature, it is measured by the internal temperature sensor. This temperature value depends on the PCB temperature and sensor element self-heating. Therefore ambient temperature is typically reported above actual ambient temperature.

This module is largely inspired by skylarstein's bme280-sensor library.

However, the main difference is - this library provides a way to setup the sensor - mode, oversampling, etc.

Installation

  npm install bmp280-sensor --save

Example Code

const BMP280 = require('bmp280-sensor');
const options = {
  i2cBusNumber  : 1,    // defaults to 1
  i2cAddress    : 0x76, // defaults to 0x76
  verbose       : true
};
const bmp280 = new BMP280(options);

bmp280.config({
  powerMode: 1,                // 0 - sleep, 1|2 - one measurement, 3 - continuous
  pressureOversampling: 3,     // 0 - Skipped, 1 - ×1, 2 - ×2, 3 - ×4, 4 - ×8, 5 - ×16
  temperatureOversampling: 1,  // 0 - Skipped, 1 - ×1, 2 - ×2, 3 - ×4, 4 - ×8, 5 - ×16
  iirFilter: 2,                // Coefficient: 0 - off, 1 - 2, 2 - 4, 3 - 8, 4 - 16
  standby: 4                   // 0 - 0.5ms, 1 - 62.5ms, 2 - 125ms, 3 - 250ms, 4 - 500ms, 5 - 1000ms, 6 - 2000ms, 7 - 4000ms
});

console.log(`Reading sensors`);
bmp280.readSensors()
  .then((data) => {
    console.log(`Temperture:\t${data.Temperature}`);
    console.log(`Pressure:\t${data.Pressure}`);
  })
  .then(() => {
    bmp280.close();
  })
  .catch((err) => {
    console.log(err);
    bmp280.close();
  });

process.on('SIGINT', () => {
  bmp280.close();
  process.exit();
});

Example Output

> node example.js
Found BMx280 chip ID 0x58 on bus i2c-1, address 0x76
BMP280 cal = {
  "dig_T1": 28057,
  "dig_T2": 26787,
  "dig_T3": -1000,
  "dig_P1": 36945,
  "dig_P2": -10608,
  "dig_P3": 3024,
  "dig_P4": 2509,
  "dig_P5": 153,
  "dig_P6": -7,
  "dig_P7": 15500,
  "dig_P8": -14600,
  "dig_P9": 6000
}
Reading sensors
Temperture:	34.16
Pressure:	1016.8900275234026

Dependents (0)

Package Sidebar

Install

npm i mtex-bmp280

Weekly Downloads

0

Version

0.1.5

License

MIT

Unpacked Size

13.2 kB

Total Files

4

Last publish

Collaborators

  • murphesi