MCP9808 I2C temperature sensor module for Node.js
MIT License
MCP9808 I2C temperature sensor module for Node.js on Linux boards like the Raspberry Pi or BeagleBone.
Supports Node.js versions 10, 12, 14, 15 and 16.
npm install mcp9808-temperature-sensor
Note that neither the 10kΩ pull-up resistor nor the wire connecting Alert on the MCP9808 breakout board to GPIO27 on the Raspberry Pi are needed for the "Report the Temperature" example. They are needed for the "Alerts" example.
Log the temperature in degrees Celsius to the console.
const mcp9808 = require('mcp9808-temperature-sensor');
mcp9808.open().then(sensor =>
sensor.temperature().
then(temp => console.log(temp.celsius + '°C')).
then(_ => sensor.close())
).catch(console.log);
Fire alert events if the temperature drops below 25°C, goes above 35°C or becomes critical at 45°C.
A hair dryer or blow dryer can be used to blow hot air over the MCP9808 temperature sensor and increase its temperature.
const mcp9808 = require('mcp9808-temperature-sensor');
mcp9808.open({
i2cBusNumber: 1, // optional, default 1
i2cAddress: 0x18, // optional, default 0x18
alertGpioNumber: 27,
lowerAlertTemperature: 25,
upperAlertTemperature: 35,
criticalTemperature: 45
}).then(sensor => {
setInterval(_ => {
sensor.temperature().then(temp => console.log(temp.celsius + '°C'));
}, 1000);
sensor.on('alert', temp => {
console.log(' alert ' + temp.celsius + '°C');
if (temp.critical) {
console.log(' critical');
}
if (temp.aboveUpperLimit) {
console.log(' above upper limit');
}
if (temp.belowLowerLimit) {
console.log(' below lower limit');
}
});
return sensor.enableAlerts();
}).catch(console.log);
Returns a promise for an Mcp9808 object.
The following options are supported:
Returns a promise which will resolve when all resources used by the Mcp9808 object have been freed.
Returns a promise for an object containing temperature data.
Returns a promise which will resolve when alerts have been enabled for the Mcp9808.
Fired when an alert is detected.
Fired when an error occurs during alert detection.
0.5°C resolution.
0.25°C resolution.
0.125°C resolution.
0.0625°C resolution.
0°C hysteresis.
1.5°C hysteresis.
3°C hysteresis.
6°C hysteresis.