【问题标题】:Testing hardware with node.js and jasmine使用 node.js 和 jasmine 测试硬件
【发布时间】:2013-10-23 01:52:57
【问题描述】:

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

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

现在当我的代码说类似

上 = 函数(){ gpio.open(pin,"输出",function(err){ this.getVal(); gpio.write(pin,1,function(err){ console.log(pin + '现在应该打开'); gpio.close(pin); }); }); }

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

关于如何存根诸如 GPIO、I2C 等的任何建议。

为了澄清,我希望在不连接到 RaspberryPi 的情况下测试 RaspberryPi 代码。

【问题讨论】:

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


    【解决方案1】:

    使用此代码它会使 LED 闪烁。它是为 pin 18 设置的,因此请确保在运行脚本之前执行 gpio-admin export 18。请注意,我还添加了 process.on('SIGINT') 这将允许您使用 ctrl + c 来停止程序,这将关闭 pin。停止您的程序后,建议您取消导出 pin,然后运行 ​​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);
    });
    

    【讨论】:

    • 谢谢 Warren,我不确定这比仅查看设备或输出到日志并查看输出有什么好处。我一直在寻找更像是用于测试的测试套件。
    • 您可以使用 webiopi 来测试引脚或打开或关闭它们code.google.com/p/webiopi/wiki/INSTALL
    • 我认为这与我正在寻找的沃伦相反,我正在尝试在不直接连接到 RaspberryPi 的情况下测试代码。我会更新问题以使其更清楚,但我认为目前还没有这样的工具。
    猜你喜欢
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 2013-05-29
    • 2019-07-12
    相关资源
    最近更新 更多