我正在尝试使用WebIOPi,但我很遗憾无法使用我的项目。
背景: 我正在使用运行Wheezy的Raspberry Pi B +。我正在开发一个只能在本地访问的基于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,但我只能找到有关读取引脚状态的信息,而不是在听中断。有人能指出我正确的方向吗?
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
所以,你似乎有两个问题: 1.我如何在服务器上检测到新的硬币事件 2.如何将其推送到客户端浏览器。
我根本不认识webiopi,所以我不能说没有办法用它来解决这两个问题,但作为替代方案:
第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)从客户端页面轮询此值。