저는 파이썬과 하드웨어 간의 소프트웨어 상호 작용에 상당히 익숙합니다. 제가 웹에서 수정 한이 코드에 대한 도움이 필요합니다. 새 이메일이 없으면 LED가 빨간색으로 바뀌지 않습니다 ... FeedParser가 문제인지 이해하고있는 것처럼 보입니다. 어떻게 작동하는지 알지 못해서 여기에서하는 일에 대한 간단한 설명이 크게 감사하겠습니다. 파서가 오류인지 확실하지 않지만 코드의 나머지 부분에서 무슨 일이 벌어지고 있는지 알기 때문에 그렇지 않다.파이썬에서 나무 딸기 파이 상호 작용 문제, 특히 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)
하하하, 나는 그 사실을 발견했다! 또한 디버그를 꺼내서 YELLOW_LED/True에 추가 했으므로 DEBUG은 0 개의 메시지를 10 억 번 처리하지 않고 깜박임을 추가했습니다. 그래서 newmails> NEWMAIL_OFFSET : print "youve got mail"... – MrRoss
완전히 멍청한 실수. 고맙습니다 :) – MrRoss