检查按钮是否按下

时间:2013-06-24 15:09:12

标签: ruby string return-value raspberry-pi gpio

我有一个带有Siri Proxy的Raspberry Pi控制我的车库门,车库门只有一个打开和关闭的命令。为了检查车库门是否打开而不是我买了一个磁铁开关,我建立了一个甩点按钮。我已经尝试了

doorstate = `gpio read 5`.chomp #gives value 1 or 0, 1 is opened, 0 is closed

print doorstate

if doorstate == "1"
 print "The garage door is already opened.\n"

elsif doorstate == "0"
 print "OK, I'll open it for you!\n"

else
 print "Error, please open it manually.\n"

end

有人可以告诉我如何检查来自doorstate = 'gpio read 5'的返回值或字符串是否等于字符串?

2 个答案:

答案 0 :(得分:1)

我猜这里'gpio read 5'的结果包含一行结尾。 试着把它掐掉:

doorstate = `gpio read 5`.chomp

要验证doorstate的课程,请在第2行插入p doorstate.class

答案 1 :(得分:0)

您需要将单引号(')更改为反引号(`,键盘上波形符的小东西)。那将执行命令。其余的代码都没问题。