即時通訊有點麻煩,我有一天寫了一個python腳本。該腳本適用於我的rasbperry pi,它具有連接到GPIO引腳的數字接口。這個腳本的目的是測試並看看它是否會解鎖5秒的機電鎖。雖然當我運行腳本沒有發生任何事情。沒有錯誤被記錄,並且對python腳本不熟悉,我不確定問題是什麼。任何建議或幫助將不勝感激。Raspberry Pi的Python腳本運行不正常
我知道數字接口和覆盆子pi交互沒有錯,因爲我可以用下面的命令手動運行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,在主 如果(authenticator.check(authInput.getInput())):
文件 「door_controllerTEST.py」,30日線在getInput 回報的authToken( 「安德魯」, 「1234」)
類型錯誤:這個構造函數沒有參數
添加在extra_到我的AuthToken類,它給了我一個錯誤,我的pfio還沒有初始化。所以我加入了
import piface.pfio as pfio
pfio.init()
而且一切都在那之後工作。
你的權利我不小心把它放在那裏,但即使在添加新行後,沒有任何事情發生。它仍然在運行,並沒有給我任何輸出。 – Celerium
嘗試在'if _name_ == _main_:'中更改爲雙下劃線,您將得到一些輸出:) – Qiau
在雙註釋中添加,現在我至少會收到一些消息。我把它們放在上面的描述中。並且我不定義self.id是id還是我想念 – Celerium