我正在尝试使用WebIOPi,但我完全无法让它与我的项目一起工作。
背景:我正在使用Raspberry Pi B+运行Wheezy。我正在开发一个基于web的应用程序,它只能在本地访问。我在/var/www中有一堆运行在Apache上的php文件。现在我需要让我的硬币接受者参与这个项目。硬币接收器http://www.adafruit.com/products/787发送单个脉冲(我只需要一枚硬币)。我首先用python脚本使用中断来尝试硬币接受器,它工作得很好。
GPIO.setup(PIN_COIN_INTERRUPT,GPIO.IN)
GPIO.add_event_detect(PIN_COIN_INTERRUPT,GPIO.FALLING,callback=coinEventHandler)但是现在我需要能够捕获这些脉冲并在php页面上显示它们,更新每个硬币插入的数量。我已经学习WebIOPi几个小时了,但我只能找到有关读取引脚状态的信息,而不是监听干扰。谁能给我指明正确的方向吗?
任何帮助都将不胜感激。谢谢!
发布于 2015-03-01 13:25:30
因此,您似乎有两个问题: 1.如何在服务器上检测新的硬币事件;2.如何将其推送到客户端浏览器。
我一点都不知道,所以我不能说没有办法解决这两个问题,而是作为一种选择:
对于第1部分:您有一个python程序,您说它很有用;我建议将其作为后台服务运行,并让它做一些简单的事情,比如将铸币的最新值写入文件:
GPIO.setup(PIN_COIN_INTERRUPT,GPIO.IN)
GPIO.add_event_detect(PIN_COIN_INTERRUPT,GPIO.FALLING,callback=coinEventHandler)
def coinEvenHandler(*arguments):
try:
f = open("coin.txt","rt")
cnt = int(f.read())
f.close()
except: # handle file doesn't exist and file doesn't contain an int
cnt = 0
f = open("coin.txt","wt")
f.write(str(cnt))
f.close()对于第2: 1部分,创建一个返回"coin.txt“2值的页面。使用Ajax (例如jquery)从客户端页面轮询此值。
https://stackoverflow.com/questions/28793522
复制相似问题