树莓派设置开机自动获取ip

附上开机sh(zqd.sh)

#!/bin/bash
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "${time}">> /home/pi/Desktop/rz.txt
sleep 18s #目的是为了防止一开始未连接上无线网络导致的python错误
python3 /home/pi/Desktop/ip.py >> /home/pi/Desktop/rz.txt
echo "--------------------" >> /home/pi/Desktop/rz.txt

python实现的qq smtp(ip.py)

import smtplib
from email.header import Header
from email.mime.text import MIMEText
import os,re

mail_host="smtp.qq.com"
mail_user=""#邮箱
mail_pass=""#激活码

sender=''#发送人
receivers=['']#接收者
num=0
def mail(mail_host,mail_user,mail_pass,sender,receivers):
    global num
    a=os.popen("curl -L tool.lu/ip").read()
    mail_msg=re.findall("inet(.*?)\\n",os.popen("ifconfig").read())[2]
    mse=MIMEText(mail_msg+"\\n"+a,'plain','utf-8')
    mse['From']=Header('raspi 4','utf-8')
    mse['To']=Header('user','utf-8')
    mse['Subject']=Header('raspi ip4','utf-8')

    try:
        ss=smtplib.SMTP_SSL(mail_host,465)
        ss.login(mail_user,mail_pass)
        ss.sendmail(sender,receivers,mse.as_string())
        print("%d is ok!!"%(num+1))
        print(a)
    except smtplib.SMTPException:
        num+=1
        if(num<5):
            print("%d is failed"%(num))
            mail(mail_host,mail_user,mail_pass,sender,receivers)

if __name__=="__main__":
    mail(mail_host,mail_user,mail_pass,sender,receivers)

开机程序设置

sudo vim /etc/rc.local

进入后在exit 0和fi中间行插入:
sudo /home/pi/Desktop/zqd.sh

测试

sudo reboot
即可收到邮件提醒