練習がてらブレッドボード上で回路を組んで、前回同様にruby
とnode
で実装してみた。
ruby
require "open3"
def readswitch
out, err, status = Open3.capture3("gpio read 6")
return out
end
def blink(value)
puts "LED would be set on " + value
Open3.capture3("gpio write 1 " + value)
end
Open3.capture3("gpio mode 1 OUT")
Open3.capture3("gpio mode 6 IN")
loop {
led = readswitch()
blink(led)
sleep 0.1
}
node
var Q = require('q');
var exec = require('child_process').exec;
exec('gpio mode 1 OUT');
exec('gpio mode 6 IN');
function blink(value) {
console.log('LED would be set on ' + value);
exec('gpio write 1 ' + value);
}
function readswitch() {
var deffered = Q.defer();
exec('gpio read 6',
function(error, stdout, stderr) {
deffered.resolve(stdout);
});
return deffered.promise;
}
setInterval(function() {
readswitch().then(blink);
}, 100);
nodeでは相変わらずQ(deffered)
を使いループに代わりにsetInterval
を使っている。慣れるとこちらのほうが違和感が無くなってくる不思議。
回路図あげたいなどうしようかな…。
Written with StackEdit.
No comments:
Post a Comment