1. 程式人生 > >樹莓派開機自動發送IP到指定QQ郵箱

樹莓派開機自動發送IP到指定QQ郵箱

ima 郵箱 python代碼 檢查網絡 man 接口 get exception 我們

  1. 開啟QQ郵箱的smtp服務(自行百度)

  2. 獲取IP,發送IP的python代碼

    Sudo nano send_ip.py

    Python代碼

    //send_ip

    #!\usr\bin\env python

    #-*-coding: utf-8-*-

    import socket

    import time

    import smtplib

    import urllib

    from email.mime.multipart import MIMEMultipart

    from email.mime.text import MIMEText

    from email.mime.image import MIMEImage

    from email.utils import formataddr

    #檢查網絡連通性

    def check_network():

    while True:

    try:

    result=urllib.urlopen(‘http://baidu.com‘).read()

    print result

    print "Network is Ready!"

    break

    except Exception,e:

    print e

    print "Network is not ready,Sleep 5s..."

    time.sleep(5)

    return True

    #獲取本級制定接口的ip地址

    def get_ip_address():

    s =socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    s.connect(("1.1.1.1",80))

    ipaddr=s.getsockname()[0]

    s.close()

    return ipaddr

    def sendEmail():

    ret=True

    ipaddr=get_ip_address();

    try:

    msg=MIMEText(ipaddr,‘plain‘,‘utf-8‘)

    msg[‘From‘]=formataddr(["用戶名",[email protected]])

    msg[‘To‘]=formataddr(["收件人",[email protected]])

    msg[‘Subject‘]="樹莓派IP"

    server=smtplib.SMTP_SSL("smtp.qq.com",465)

    server.login("[email protected]","SMTP的授權碼")

    server.sendmail([email protected],[[email protected],],msg.as_string())

    server.quit()

    print(‘郵件發送成功‘)

    ret=True

    except:

    ret=False

    if __name__ == ‘__main__‘ :

    check_network()

    sendEmail()

    sudo chmod 777 send_ip.py //加權限

  3. 設置開機自啟

    1. 制作sh腳本

    sudo nano clientStart.sh

    輸入如下腳本內容:

    #!/bin/sh

    cd /home/pi

    sudo python send_ip.py

    (其實就是將程序運行路徑與程序執行命令寫在了一個腳本裏)

    然後按ctrl+x退出,再按Y保存,再按Enter,此時回到了主界面。

    1. 修改clientStart.sh的權限

    在主界面裏輸入以下命令:

    sudo chmod 777 /home/pi/track/clientStart.sh

    一定要修改這個權限,否則無法執行

    1. 向rc.local添加我們制作的這個腳本,用於開機啟動。

    使用命令:

    sudo nano /etc/rc.local

    回車後,就進入了rc.local,這時,在exit 0的上一行,寫入如下程序:

    /home/pi/track/clientStart.sh start

    ctrl+x,再按Y保存,再按Enter,此時,又回到了主界面。

    (上面的步驟,實際上就是將上面制作的腳本添加到rc.local裏)

    上面的做完後,重啟樹莓派,send_ip.py就可以自動運行了,以後,只要一通電,它就會自己運行。

樹莓派開機自動發送IP到指定QQ郵箱