-
开启QQ邮箱的smtp服务(自行百度)
-
获取IP,发送IP的python代码
1 #!\usr\bin\env python 2 #-*-coding: utf-8-*- 3 import socket 4 import time 5 import smtplib 6 import urllib 7 from email.mime.multipart import MIMEMultipart 8 from email.mime.text import MIMEText 9 from email.mime.image import MIMEImage 10 from email.utils import formataddr 11 12 #检查网络连通性 13 def check_network(): 14 while True: 15 try: 16 result=urllib.urlopen('http://baidu.com').read() 17 print result 18 print "Network is Ready!" 19 break 20 except Exception,e: 21 print e 22 print "Network is not ready,Sleep 5s..." 23 time.sleep(5) 24 return True 25 #获取本级制定接口的ip地址 26 def get_ip_address(): 27 s =socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 28 s.connect(("1.1.1.1",80)) 29 ipaddr=s.getsockname()[0] 30 s.close() 31 return ipaddr 32 33 34 def sendEmail(): 35 ret=True 36 ipaddr=get_ip_address(); 37 try: 38 msg=MIMEText(ipaddr,'plain','utf-8') 39 msg['From']=formataddr(["用户名",'123435@qq.com']) 40 msg['To']=formataddr(["收件人",'1234345@qq.com']) 41 msg['Subject']="树莓派IP" 42 server=smtplib.SMTP_SSL("smtp.qq.com",465) 43 server.login("1021506419@qq.com","SMTP的授权码") 44 server.sendmail('123435@qq.com',['1234345@qq.com',],msg.as_string()) 45 server.quit() 46 print('邮件发送成功') 47 ret=True 48 except: 49 ret=False 50 if __name__ == '__main__' : 51 check_network() 52 sendEmail()
sudo chmod 777 send_ip.py //加权限
-
设置开机自启
-
制作sh脚本
sudo nano clientStart.sh
输入如下脚本内容:
#!/bin/sh
cd /home/pi
sudo python send_ip.py
(其实就是将程序运行路径与程序执行命令写在了一个脚本里)
然后按ctrl+x退出,再按Y保存,再按Enter,此时回到了主界面。
-
修改clientStart.sh的权限
在主界面里输入以下命令:
sudo chmod 777 /home/pi/track/clientStart.sh
一定要修改这个权限,否则无法执行
-
向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就可以自动运行了,以后,只要一通电,它就会自己运行。
-