Measure temperature through DS18B20 sensor connected to 1wire to Raspberry PI with node.js
npm install w1tempnode.jsnpm install w1temp1. at the end of file /boot/config.txt add dtoverlay=w1-gpio,gpiopin= where <gpiopin> is pin where is connected w1 data channel
2. run modprobe w1-gpio && modprobe w1-therm (it can be at cron too: @reboot sudo modprobe w1-gpio && sudo modprobe w1-therm)
javascript
var W1Temp = require('w1temp');// turn on gpio pin 13 as W1 power if you want to
W1Temp.setGpioPower(13);
// set gpio pin 6 to use as W1 data channel
// if is not set by instructions above (required root permissions)
W1Temp.setGpioData(6);
// print list of available sensors uids (ex.: [ '28-00000636a3e3' ])
W1Temp.getSensorsUids().then(function (sensorsUids) {
console.log(sensorsUids);
});
// get instance of temperature sensor
W1Temp.getSensor('28-00000636a3e3').then(function (sensor) {
// print actual temperature
var temp = sensor.getTemperature();
console.log('Actual temp:', temp, '°C');
// print actual temperature on changed
sensor.on('change', function (temp) {
console.log('Temp changed:', temp, '°C');
});
});
``