用js写嵌入式程序感觉比python要爽很多。试过几个github
上的库,感觉还是raspi-sensors好用。
I2C的接线和调试,网络上文档很多,这里主要记录一下库的安装,涉及到硬件底层,大部分都是用C写的,然后通过js来封装调用。
raspi-sensors
的一个坑就是:一定用V8.x的NodeJS
版本,用10.x版本底层依赖编译报错,估计V8引擎升级了,有些函数和方法被弃用。 另外需要安装wiringpi库
sudo apt install wiringpi
用于测试的同时访问DHT11 温湿度传感器,BMP180气压传感器的代码
var RaspiSensors = require('raspi-sensors');
var BMP180 = new RaspiSensors.Sensor({
type: "BMP180",
address: 0x77
}, "temp_sensor");
var dataLog = function (err, data) {
if (err) {
console.error("An error occured!");
console.error(err.cause);
return;
}
// Only log for now
console.log(data.type+":"+data.value+" "+data.unit_display);
}
var DHT11 = new RaspiSensors.Sensor({
type: "DHT11",
pin: 0X7
});
DHT11.fetchInterval(dataLog,2);
BMP180.fetchInterval(dataLog,4);
setTimeout(function() {
console.log("Time to stop the logging of values!");
DHT11.fetchClear();
BMP180.fetchClear();
}, 20000)