检查按钮是否被按下

问题描述:

我有一个带Siri代理的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'返回的值或字符串等于字符串?

我在这里猜测'gpio read 5'的结果包含一行结尾。 尽量大嚼它关闭:

doorstate = `gpio read 5`.chomp 

为了验证之类的doorstate,在第2行

+0

谢谢,它现在工作:) –

您需要将您的单引号(')更改为反引号(`,键盘上带有波浪号的小东西)。那将执行命令。其余的代码很好。

+0

插入p doorstate.class我编辑的脚本,并在上面贴上后,但它总是打印出“错误,请打开它手动。“任何修复? Maby这是一个价值和没有字符串? –

+0

@DavidG:这不是一个红宝石错误,这是肯定的。我不知道该怎么做。 – Linuxios

+0

但终端给我正确的值,它我输入“gpio读”5它给我1或0,这取决于按钮是否被按下 –