【发布时间】:2014-01-20 02:02:10
【问题描述】:
我在使用前几天编写的 python 脚本时遇到了一点问题。这个脚本适用于我的 rasbperry pi,它有一个连接到 GPIO 引脚的数字接口。该脚本的目的是测试它是否会在 5 秒内解锁机电锁。虽然当我运行脚本时没有发生任何事情。没有记录错误,并且是 python 脚本的新手,我不确定问题是什么。任何建议或帮助将不胜感激。
我知道数字界面和树莓派交互没有任何问题,因为我可以使用以下命令手动运行 python,并且一切正常。锁定释放,然后我可以将其关闭。虽然当我运行我的脚本时什么都没有发生。
python
import piface.pfio
piface.pfio.init()
piface.pfio.digital_write(0, 1)
led0 = piface.pfio.LED(0)
led0.turn_off()
我的python脚本
#!/usr/bin/env python3
"""Door Lock: System to control an electric lock"""
import piface.pfio as piface
from time import sleep
class AuthToken:
def _init_(self, id, secret):
self.id=id
self.secret.secret
class TestDoorController:
def send_open_pulse(self):
print "unlock the door"
class BasicAuthenticator:
id = "Andrew"
secretPassword = "1234"
def check(self,token):
print "checking input of '" + token.id + "', + password + : " + token.secret + ", against secret password'" + self.secretPassword +"'"
result = (token.secret == self.secretPassword) & (token.id == self.id)
print "authentication is: " + str(result)
return result
class TestInput:
def getInput(self):
print "checking for input"
authToken + AuthToken("Andrew","1234")
return authInput
class DoorControllerPiFace:
def send_open_pulse(self):
piface.digital_write(0,1)
sleep(5)
piface.digital_write(0,0)
def main():
authInput = TestInput()
authenticator = BasicAuthenticator()
doorController = DoorControllerPiFace()
if(authenticator.check(authInput.getInput())):
doorController.send_open_pulse()
if _name_ == '_main_':
main()
现在我知道构造函数没有参数?
文件“door_controllerTEST.py”,第 47 行,在 主要()
文件“door_controllerTEST.py”,第 43 行,在 main if(authenticator.check(authInput.getInput())):
文件“door_controllerTEST.py”,第 30 行,在 getInput 中 return AuthToken("Andrew","1234")
TypeError: 这个构造函数没有参数
在我的 AuthToken 类中添加了额外的 _,它给了我一个错误,我的 pfio 尚未初始化。所以我添加了
import piface.pfio as pfio
pfio.init()
之后一切正常。
【问题讨论】:
标签: python linux raspberry-pi new-operator