我一直在尝试使整数值等于Raspberry Pi上的本地时间的放大器产生声音。我使用谷歌的firebase获得整数。
我实现了一个while循环,以确定值实际上是否相同以及当它们达到相同的数字时,我所做的if语句不会通过。
这是python代码:
from firebase import firebase
from pygame import mixer
import time
def sound():
mixer.init()
mixer.music.load('/home/pi/Twin-bell-alarm-clock-sound.mp3')
firebase = firebase.FirebaseApplication('https://alarm-app-9c3ce.firebaseio.com/')
while True:
result = int (firebase.get('/Time/Hour',None))
result2 = int (firebase.get('/Time/Minute',None))
print (result)
print (result2)
print (time.localtime().tm_hour)
print (time.localtime().tm_min)
sec=0
if result == time.localtime().tm_hour and result2 == time.localtime().tm_min and sec==time.localtime().tm_sec:
print('playing alarm')
mixer.music.play()
break
sound()
至少我希望看到显示“正在播放警报”,但在语句变为真之后什么也没发生。
这是输出:
14 #Result for hour in firebase
50 #Result for minute in firebase
14 #Local hour in Raspberry Pi
49 #Local minute in Raspberry Pi
14
50
14
49
一旦所有对应的值都相等,则程序将停止运行,而不会显示打印语句和音频。