Robofun 機器人論壇

標題: eMail Notifier [打印本頁]

作者: pizg    時間: 2013-1-6 16:37
標題: eMail Notifier
請問要如何做一個 email notifier?
作者: coopermaa    時間: 2013-1-6 21:08
本帖最後由 coopermaa 於 2013-1-6 21:09 編輯

已經寫好囉,請參考:

Arduino Physical Gmail Notifier
作者: pizg    時間: 2013-1-7 00:20
本帖最後由 pizg 於 2013-1-7 00:47 編輯
已經寫好囉,請參考:
coopermaa 發表於 2013-1-6 21:08



感謝Cooper老師.

我搜尋了一下google, eMail Notifier大都採用Python語言,
我試做了也可正常運作,
但如果要讓這支程式一開機就執行, 該如何做呢?
可否把它編譯成可執行檔, 類似像 .exe?

eMail Notifier需要自訂username, password和com port,
我不想讓使用者直接去面對程式碼,
我想做一個.ini檔讓使用者去填入上述資料,
請問Python要如何讀取文字檔內容?

另外, 有沒有C++的Source code?
作者: coopermaa    時間: 2013-1-7 11:22
可以用 py2exe 把 script 編譯成可執行檔:
http://ez2learn.com/index.php/python-tutorials/advance-tutorials/176-py2exepythonexe

剛查了一下 ,在Python 裏,要讀 iniFile 可以用 ConfigParser
例如,寫個 mail_notifier.ini 內容如下:

[Settings]
USERNAME = username@gmail.com
PASSWORD = password
checkInterval = 5

然後用 ConfigParser 讀出 mail_notifier.ini 的設定:

  1. import ConfigParser
  2. parser = ConfigParser.ConfigParser()
  3. parser.read("mail_notifier.ini")
  4. USERNAME = parser.get("Settings", "USERNAME")
  5. PASSWORD = parser.get("Settings", "PASSWORD")
  6. checkInterval = parser.getint("Settings", "checkInterval")
  7. ....
複製代碼

作者: coopermaa    時間: 2013-1-7 11:25
用 C++ 不是辦不到,只是寫起來很累....Orz..

相較於 C++,用 C# 寫就簡單多了:

http://www.albertopasca.it/while ... o-mail-notifier-cs/
作者: coopermaa    時間: 2013-1-7 11:48
要讓這支程式一開機就執行,在 Windows 上,應該只要在 Startup Menu (啟動) 加個捷徑就可以了

也可以把程式變成 Windows service,不過要再多寫一些 code:
http://stackoverflow.com/questio ... vice-in-windows-how
作者: pizg    時間: 2013-1-8 00:38
可以用 py2exe 把 script 編譯成可執行檔:


剛查了一下 ,在Python 裏,要讀 iniFile 可以用 ConfigPar ...
coopermaa 發表於 2013-1-7 11:22


我去下載了py2exe, 安裝時它會提示需要python v2.6,
目前的v2.7和v3.3都不行.

我又去python官網找v2.6,
但它好像不是一般常用的壓縮檔,
我不知該如何安裝.
作者: pizg    時間: 2013-1-10 00:26
本帖最後由 pizg 於 2013-1-12 11:08 編輯
可以用 py2exe 把 script 編譯成可執行檔:


剛查了一下 ,在Python 裏,要讀 iniFile 可以用 ConfigPar ...
coopermaa 發表於 2013-1-7 11:22


我run了之後出現:
ImportError: No module named 'ConfigParser'
找不到這個模組!

上述是版本的問題, 在3.3版要改成 configparser,
大小寫是有關係的.
作者: pizg    時間: 2013-1-13 10:00
本帖最後由 pizg 於 2013-1-13 10:02 編輯
已經寫好囉,請參考:
coopermaa 發表於 2013-1-6 21:08

Cooper 老師:

我用IMAP方式讀GMAIL, 會出現下列訊息, 請問該如何解決?

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
...
AttributeError: 'NoneType' object has no attribute 'group'

Source code 如下:


  1. import serial
  2. import time
  3. import imaplib, re

  4. ser = serial.Serial(7)
  5. print "Starting on " + ser.portstr;
  6. conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
  7. while (True):
  8. conn.login('username','password')
  9. unreadCount = int(re.search("UNSEEN (d+)", conn.status("INBOX", "(UNSEEN)")[1][0]).group(1))
  10. if(unreadCount > 0):
  11.    print str(unreadCount) + " new mails!"
  12.    ser.write("M")
  13. else:
  14.    print "no mail "
  15.    ser.write("N")

  16. time.sleep(5)

複製代碼

作者: hochi    時間: 2013-3-27 12:17
不知道 pizg 大大解決問題了沒有,不過第10行 regex 改一下就可以了:

unreadCount = int(re.search("UNSEEN (\d+)", conn.status("INBOX", "(UNSEEN)")[1][0]).group(1))

大大可以參考 python standard library 文件:
http://docs.python.org/2/library ... r-expression-syntax
作者: trance2000    時間: 2013-3-27 12:45
板子直接用USB接到電腦就可以了嗎




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2