我开始学习一些使用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。
答案 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);
});