英特尔Edison node.js示例代码不适用于BMP 180 - gy68气压计

时间:2016-01-12 02:42:50

标签: javascript node.js sensor intel-edison

这是英特尔运行气压计的示例代码。



//Load Barometer module
var bmpx8x = require('jsupm_bmpx8x');
// load this on i2c
var myBarometerObj = new bmpx8x.BMPX8X(0, bmpx8x.ADDR);
var pressure, temperature, altitude, sealevel;

// Print the pressure, altitude, sea level, and
// temperature values every 0.1 seconds
setInterval(function()
{
	var pressure = myBarometerObj.getPressure();
	var temperature = myBarometerObj.getTemperature();
	var altitude = myBarometerObj.getAltitude();
	var sealevel = myBarometerObj.getSealevelPressure();

	var BMPX8Xresults = "pressure value = " + pressure;
	BMPX8Xresults += ", altitude value = " + altitude;
	BMPX8Xresults += ", sealevel value = " + sealevel;
	BMPX8Xresults += ", temperature = " + temperature;
	console.log(BMPX8Xresults);
}, 100);

// Print message when exiting
process.on('SIGINT', function()
{
	console.log("Exiting...");
	process.exit(0);
});




但是当我执行此代码时,会抛出以下错误。

var myBarometerObj = new bmpx8x.BMPX8X(0, bmpx8x.ADDR);
                     ^
Error: Illegal arguments for construction of _exports_BMPX8X
    at Object.<anonymous> (/home/root/bmpx8x.js:31:22)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3

有人能给我一些帮助吗?

1 个答案:

答案 0 :(得分:0)

我知道这是一篇旧帖子,但我可能会有一个答案,供将来参考,因为我遇到了同样的问题。

在我的情况下,当我尝试将BMP180传感器连接到Edison Mini分线板上的I2C6时,我收到了同样的错误。

以下是可能解决问题的一些步骤:

运行以下命令: $ i2cdetect -y -r 6

如果产生错误,您需要使用以下命令配置引脚:

$ echo 27 > /sys/class/gpio/export
$ echo 28 > /sys/class/gpio/export
$ echo mode1 > /sys/kernel/debug/gpio_debug/gpio27/current_pinmux
$ echo mode1 > /sys/kernel/debug/gpio_debug/gpio28/current_pinmux

还要确保您的传感器已连接,否则您将收到远程I / O错误。您可以使用以下命令调试theese错误:

$ journalctl -f

如果您使用的是I2C6,则需要将您的第一个参数设置为6,否则它将默认为总线1.

您可能还想尝试更新您的mraa库,以防万一。