Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 5066|回復: 10
打印 上一主題 下一主題

eMail Notifier

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-1-6 16:37:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問要如何做一個 email notifier?
2#
發表於 2013-1-6 21:08:00 | 只看該作者
本帖最後由 coopermaa 於 2013-1-6 21:09 編輯

已經寫好囉,請參考:

Arduino Physical Gmail Notifier
3#
 樓主| 發表於 2013-1-7 00:20:59 | 只看該作者
本帖最後由 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?
4#
發表於 2013-1-7 11:22:03 | 只看該作者
可以用 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. ....
複製代碼
5#
發表於 2013-1-7 11:25:09 | 只看該作者
用 C++ 不是辦不到,只是寫起來很累....Orz..

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

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

也可以把程式變成 Windows service,不過要再多寫一些 code:
http://stackoverflow.com/questio ... vice-in-windows-how
7#
 樓主| 發表於 2013-1-8 00:38:57 | 只看該作者
可以用 py2exe 把 script 編譯成可執行檔:


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


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

我又去python官網找v2.6,
但它好像不是一般常用的壓縮檔,
我不知該如何安裝.
8#
 樓主| 發表於 2013-1-10 00:26:27 | 只看該作者
本帖最後由 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,
大小寫是有關係的.
9#
 樓主| 發表於 2013-1-13 10:00:57 | 只看該作者
本帖最後由 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)

複製代碼
10#
發表於 2013-3-27 12:17:58 | 只看該作者
不知道 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
11#
發表於 2013-3-27 12:45:19 | 只看該作者
板子直接用USB接到電腦就可以了嗎
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 17:04 , Processed in 0.256087 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表