【问题标题】:Python to Raspberry Pi interaction troubles, specifically FeedParser..?Python 到 Raspberry Pi 的交互麻烦,特别是 FeedParser..?
【发布时间】:2015-01-23 21:45:37
【问题描述】:

所以我对 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)

【问题讨论】:

    标签: python python-3.x raspberry-pi feedparser hardware-programming


    【解决方案1】:

    嗯,

    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!
    

    如果你有电子邮件,你把红灯关掉;如果你没有电子邮件,你再把红灯关掉!

    您为什么希望它打开?

    【讨论】:

    • 哈哈哈,我才发现!我还进行了调试并将该行添加到 YELLOW_LED/True 所以 DEBUG 没有十亿次处理 0 消息并添加了闪烁。所以我把 if newmails > NEWMAIL_OFFSET: print "youve got mail"...
    • 完全是一个菜鸟错误。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    相关资源
    最近更新 更多