使用node.js和jasmine测试硬件

时间:2013-10-23 01:52:58

标签: node.js io jasmine raspberry-pi gpio

我开始学习一些使用RaspberryPi的硬件​​编程,并且正在构建一个node.js框架,以便更容易编写程序来控制我的Pi上的I / O(从GPIO开始)。

我正在使用jasmine-node进行测试。

现在我的代码说的是

on = function(){
   gpio.open(pin,"output",function(err){    
        this.getVal();
        gpio.write(pin,1,function(err){
            console.log(pin + ' should be on now');
            gpio.close(pin);
        });
    });
}

我实际上看看RaspberryPi并检查'pin'上的LED是否实际打开了。这不完全是自动化测试。

有关如何存根诸如GPIO,I2C等的任何建议。

为了澄清,我正在寻找测试RaspberryPi代码,而不是它连接到RaspberryPi。

1 个答案:

答案 0 :(得分:0)

使用此代码会使LED闪烁。它是针脚18设置的,因此请确保在运行脚本之前执行gpio-admin export 18。请注意,我还添加了process.on('SIGINT')这将允许您通过使用ctrl + c来停止程序,这将关闭引脚。在停止程序后,建议您取消导入,以便运行gpio-admin unexport 18

var gpio = require("pi-gpio");
var status = 0;
var timerId =0;
gpio.open(18, "output", function(err) {        // Open pin 18 for output
timerId =setInterval(function(){
gpio.read(18,function(err,value){
    console.log(value);

gpio.write(18, 1, function() {            // Set pin 18 high (1)


});


});
setTimeout(function(){
    gpio.read(18,function(err,value){
            console.log(value);
            gpio.write(18,0,function(){

            });
    });
},500);
},1000);
});
process.on('SIGINT', function() {
console.log('Got SIGINT.');
gpio.close(18);                       // Now close pin 18
clearTimeout(timerId);
});