所以我对 Python 和硬件到软件的交互非常陌生。我需要有关我在网上修改的这段代码的帮助。当没有新电子邮件时,我的 LED 不会切换到红色......似乎理解 FeedParser 是问题所在,我不知道它是如何工作的,因此非常感谢它在这里所做的简要说明。我不确定 Parser 是否是错误,但我无法看到其他情况,因为我知道其余代码发生了什么。
它是我的全局“DEBUG”变量,
DEBUG = 1
“NEWMAIL_OFFSET”
NEWMAIL_OFFSET = 1
或解析器。老实说,我相信它可能是 DEBUG,但我尝试改变它。我无法弄清楚 FeedParser 在做什么,所以很难弄清楚。谷歌一直没有什么帮助。要么跟我说日语,要么没有足够的细节。最后,这是我的代码!:
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)