Python 到 Raspberry Pi 交互问题,特别是 FeedParser..?
Python to Raspberry Pi interaction troubles, specifically FeedParser..?
所以我对 Python 和硬件与软件的交互还很陌生。我需要有关从网上修改的这段代码的帮助。当没有新电子邮件时,我的 LED 不会切换为红色...似乎理解 FeedParser 是问题所在,我不知道它是如何工作的,因此非常感谢在这里简要解释它的作用。我不确定解析器是否是错误,但我看不到其他原因,因为我知道其余代码发生了什么。
这是我的全局 "DEBUG" 变量,
DEBUG = 1
"NEWMAIL_OFFSET"
NEWMAIL_OFFSET = 1
或解析器。老实说,我相信这可能是 DEBUG,但我试着改变一下。我无法弄清楚 FeedParser 在做什么,所以有点太难弄清楚了。 Google 帮助不大。要么跟我说日语要么不够详细.. 最后,这是我的代码!:
cat <<! > raspi-gmail.py
#!/usr/bin/env python
import RPi.GPIO as GPIO, feedparser, time
DEBUG = 1
USERNAME = "***EMAIL***"
PASSWORD = "************"
NEWMAIL_OFFSET = 1 #unread offset global
MAIL_CHECK_FREQ = 60 #Checks mail every 30 seconds
GPIO.setmode(GPIO.BCM)
YELLOW_LED = 18
RED_LED = 23
GPIO.setup(YELLOW_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)
while True:
newmails = int(feedparser.parse("https://" + USERNAME + ":" + PASSWORD + "@mail.google.com/gmail/feed/atom")["feed"]["fullcount"])
if DEBUG:
print "You've got mail! ", newmails, "unread messages."
if newmails > NEWMAIL_OFFSET:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False)
else:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False)
time.sleep(MAIL_CHECK_FREQ)
嗯,
if newmails > NEWMAIL_OFFSET:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False) # <=
else:
GPIO.output(YELLOW_LED, True) # Fix: make it False!
GPIO.output(RED_LED, False) # <= # Fix: make it True!
如果你有电子邮件,你就把红灯关掉;如果你没有邮箱,你再把红灯关掉!
为什么你希望它打开?
所以我对 Python 和硬件与软件的交互还很陌生。我需要有关从网上修改的这段代码的帮助。当没有新电子邮件时,我的 LED 不会切换为红色...似乎理解 FeedParser 是问题所在,我不知道它是如何工作的,因此非常感谢在这里简要解释它的作用。我不确定解析器是否是错误,但我看不到其他原因,因为我知道其余代码发生了什么。
这是我的全局 "DEBUG" 变量,
DEBUG = 1
"NEWMAIL_OFFSET"
NEWMAIL_OFFSET = 1
或解析器。老实说,我相信这可能是 DEBUG,但我试着改变一下。我无法弄清楚 FeedParser 在做什么,所以有点太难弄清楚了。 Google 帮助不大。要么跟我说日语要么不够详细.. 最后,这是我的代码!:
cat <<! > raspi-gmail.py
#!/usr/bin/env python
import RPi.GPIO as GPIO, feedparser, time
DEBUG = 1
USERNAME = "***EMAIL***"
PASSWORD = "************"
NEWMAIL_OFFSET = 1 #unread offset global
MAIL_CHECK_FREQ = 60 #Checks mail every 30 seconds
GPIO.setmode(GPIO.BCM)
YELLOW_LED = 18
RED_LED = 23
GPIO.setup(YELLOW_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)
while True:
newmails = int(feedparser.parse("https://" + USERNAME + ":" + PASSWORD + "@mail.google.com/gmail/feed/atom")["feed"]["fullcount"])
if DEBUG:
print "You've got mail! ", newmails, "unread messages."
if newmails > NEWMAIL_OFFSET:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False)
else:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False)
time.sleep(MAIL_CHECK_FREQ)
嗯,
if newmails > NEWMAIL_OFFSET:
GPIO.output(YELLOW_LED, True)
GPIO.output(RED_LED, False) # <=
else:
GPIO.output(YELLOW_LED, True) # Fix: make it False!
GPIO.output(RED_LED, False) # <= # Fix: make it True!
如果你有电子邮件,你就把红灯关掉;如果你没有邮箱,你再把红灯关掉!
为什么你希望它打开?