nodejs 需要8.x版本,10的在编译时候会报错.
这里用到的库是:Raspberry-Pi-DHT11-Node
在npm install 的时候 需要单独编译bcm2835的C库。这没有搞懂,为什么用root用户编译就不需要bcm库,但是会提示node_module下面没有访问权限。
编译bcm2835的C库
- 去 : http://www.airspayce.com/mikem/bcm2835 查看是否有新版的库可以下载.
- 下载文件:
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.55.tar.gz
- 解压 :
tar zxvf bcm2835-1.55.tar.gz
- 配置编译:
./configure
make
sudo make check
sudo make install
安装库并测试
npm install node-dht-sensor
测试用的代码:
const sensorLib = require("node-dht-sensor")
// Initialize DHT11 sensor
/*
* Here inside the initialize function, first argument is the sensor
* For example for DHT11 sensor it is 11 and for DHT22 it is 22.
* Second argument is the GPIO pin. Here We're using GPIO4 (pin #7)
*/
sensorLib.initialize(11, 4);//这里第一个参数是DHT11,第二个用的是GPIO4
setInterval(() => {
let temperature = sensorLib.read().temperature.toFixed(1) + "°C"
let humidity = sensorLib.read().humidity.toFixed(1) + "%"
console.log('Temperature', temperature)
console.log('Humidity', humidity)
}, 5000)