![](/img/trans.png)
[英]Running an OpenVINO Python script on boot for Raspberry PI
[英]Python Script for Raspberry Pi not running properly
我在前幾天寫的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()
現在我知道構造函數沒有參數嗎?
main()中的文件“ door_controllerTEST.py”,第47行
在主if(authenticator.check(authInput.getInput()))中的文件“ door_controllerTEST.py”,第43行:
文件“ door_controllerTEST.py”,第30行,在getInput中返回AuthToken(“ Andrew”,“ 1234”)
TypeError:此構造函數不接受任何參數
在我的AuthToken類中添加了額外的_,這給了我pfio尚未初始化的錯誤。 所以我加了
import piface.pfio as pfio
pfio.init()
此后一切都在工作。
類TestInput
函數getInput(self):
不返回任何內容(即,變量authInput
為空)。
您可能要返回創建的令牌? return AuthToken("Andrew","1234")
。
類BasicAuthenticator
此類檢查self.id
和self.secretPassword
但未設置。 您正在設置id
和secretPassword
。
主要
您的主要函數也不會被調用, if __name__ == '__main__':
帶有雙下划線。
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:
def __init__(self):
self.id = "Andrew"
self.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"
return AuthToken("Andrew","1234")
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.