tessel-bme-280
v0.1.0
Published
control bme280 sensor (barometric pressure, temperature and humidity) from your tessel
Downloads
20
Maintainers
Readme
tessel-bme-280
The SparkFun BME280 is an Atmospheric Sensor Breakout to measure barometric pressure, humidity, and temperature.
This library allows to interact with the BME280 connected to a tessel, using the official tessel library.
Note: the johnny-five
library includes ways to interact with BME280.
This library uses a lot of code from johnny-five
.
"Creative Commons BME280" by sparkfun is licensed under CC BY 2.0
Circuit
"BME280 circuit (Tessel 2)" by sparkfun is licensed under CC BY 2.0
Usage
const tessel = require('tessel');
const BME280 = require('tessel-bme-280');
const port = tessel.port.A; // Use the SCL/SDA pins of Port A
// Single mesure
// slaveAddress is an optional 2nd param, defaults to 0x77
const sensor = new BME280(tessel.port.A);
/////////////////
// Event handler
/////////////////
// optional event handler
sensor.on('data', (values) => {
// this method will be called when `measure()` is called,
// or when every `delay` milliseconds when `every(delay)` is called
// until `stop()` is called
console.log('received ("data" event):', values);
});
//////////////////
// SingleMeasure
//////////////////
sensor.measure().then(
// note that the 'data' event handler, if set, will still be triggered
values => console.log('received (measure()):', values)
// outputs: { temperature: 21.5, pressure: ..., altitude: }
// units are celciusm ?? and meters
);
////////////////////
// multiple measure
////////////////////
// optional 2nd param: a callback function
recurrentSensor.every(delay, (values) => {
// note that the 'data' event handler, if set, will still be triggered
console.log('received (`every()` call):',values);
});
//... when you are ready to stop
setTimeout(() => {
recurrentSensor.stop();
}, 4000)
Why?
Why did I reinvent the wheel? All the functionalities are available from johnny-five
library...
Because:
- I just wanted to play with my new Tessel, and get familiar with development boards (Tessel is my first one!! 🎉🤓🍾!!).
- I wanted to create a library that uses the official Tessel library, to get familiar with the API. This was before realizing all the humongous
list of features already implemented by
johnny-five
... - I thought that having a pure Tessel 2 library was a good idea. This was before understanding all the buffer operations needed...
- hmmm... why not?