英特尔Edison node.js示例代码不能与grove 3轴数字I2C加速度计配合使用

时间:2015-10-30 00:25:42

标签: node.js accelerometer intel-edison

这是英特尔运行加速度计(Grove数字)的示例代码:

// Load accelerometer
var adxl345 = require('jsupm_adxl345');

// Instantiate on I2C bus
var adxl = new adxl345.Adxl345(0);

setInterval(function()
{
    adxl.update(); // Update the data
    var raw = adxl.getRawValues(); // Read raw sensor data
    var force = adxl.getAcceleration(); // Read acceleration force (g)
    var rawvalues = raw.getitem(0) + " " + raw.getitem(1) + " " + raw.getitem(2);
    console.log("Raw Values: " + rawvalues);
    console.log("ForceX: " + force.getitem(0).toFixed(2) + " g");
    console.log("ForceY: " + force.getitem(1).toFixed(2) + " g");
    console.log("ForceZ: " + force.getitem(2).toFixed(2) + " g");
}, 1000);

它构建并上传到Edison Arduino板,但在运行时抛出此错误:

ERROR: /home/root/.node_app_slot/main.js:10                                                                                                                                             
ERROR: var adxl = new adxl345.Adxl345(0);                                                                                                                                               
   ERROR:         ^                                                                                                                                                                     
ERROR: Error: UPM Runtime Error: Adxl345: i2c.write() control register failed                                                                                                           
    at Object.<anonymous> (/home/root/.node_app_slot/main.js:10:12)                                                                                                                     
    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                                                                                                                                                                    

有什么想法吗?加速度计连接到I2C端口。另一个传感器(温度)工作正常。

1 个答案:

答案 0 :(得分:0)

grove acceleremoter不是ADXL345,而是MMA7660,如here所述。

以下是MMA7660的upm代码

SELECT roles.id, permissions.id FROM roles INNER JOIN permissions;