写点什么

树莓派上的自动化 --- 自动发送 IP 地址到邮箱

发布于: 2021 年 06 月 01 日

初始环境设置

我们在树莓派上面直接通过 vim 来编辑代码,可能不是很方便(大佬除外)。因此我们想用宇宙第一编辑器--VSCode 来进行代码的编写。

1. 安装【Remote - SSH】插件

安装方式很简单,直接在插件商店搜索并安装

2. 通过 SSH 登录到树莓派

添加我们的树莓派地址


然后我们点击在新窗口中打开远程桌面

3. 第一次需要选择操作系统

4. 然后输入密码登录成功

5. 第一次 vscode 还会自动在树莓派上搭建 vscdoe 的服务

看到如下内容表示登录成功

每个人的初始内容不一样。

编写 Python 代码

1. 安装代码提示插件

2. 获取 QQ 邮箱的 SMTP 服务信息

开启 SMTP 服务

关于 SMTP 的地址及端口号参考

https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=331

3. 发送邮件部分的代码

import smtplibfrom email.mime.text import MIMETextimport sys
mail_host = "smtp.qq.com"mail_user = "你的邮箱@qq.com"mail_pass = "你的安全密钥"
def send_mail(to,subject,body): me = f"'树莓派小助手'<{mail_user}>" msg = MIMEText(body) msg['Subject'] = subject msg['From'] = me msg['To'] = to try: s = smtplib.SMTP_SSL(mail_host) s.connect(mail_host, "465") s.login(mail_user,mail_pass) s.sendmail(me,to,msg.as_string()) s.close() return True except Exception as err: print(err) return False

if __name__ == "__main__": send_mail(sys.argv[1],sys.argv[2],sys.argv[3])
复制代码

4. 编辑获取 IP 的 myip.sh 文件

#!/bin/bashsleep 10wlan0=`ifconfig wlan0 | head -n2 | grep inet | awk '{print$2}'`eth0=`ifconfig eth0 | head -n2 | grep inet | awk '{print$2}'`
if ping -c 2 -W 3 www.baidu.com &> /dev/null ;thenpython3 /home/ubuntu/tools/getIP.py "nbh_it@163.com" "树莓派已开机" "你的WIFI:$wlan0||你的有线:$eth0"fi
复制代码

/home/ubuntu/tools/根据每个人的实际路径进行修改

如果一切顺利的话你将收到一封邮件

添加开机启动

sudo mv myip.sh /etc/profile.d/
复制代码

但是测试的时候,好像有点问题,等解决后再分享。

------------------------------------------------华丽 de 分割线---------------------------------------------

sudo vim /lib/systemd/system/rc-local.service
复制代码

在文件尾部中加入

[Install]WantedBy=multi-user.targetAlias=rc-local.service
复制代码

编辑文件(没有就创建一个)

sudo vim /etc/rc.local
复制代码

添加内容(在 exit 0 之前)

#!/bin/sh
source /home/ubuntu/tools/myip.shexit 0
复制代码

修改权限

sudo chmod +x /etc/rc.local
复制代码

在/etc/systemd/system 下创建软连接

sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
复制代码


发布于: 2021 年 06 月 01 日阅读数: 23
用户头像

一个日语专业的程序猿。 2017.09.10 加入

【坐标】无锡 【软件技能】Java,C#,Python 【爱好】炉石传说 【称号】InfoQ年度人气作者,Intel OpenVINO领航者联盟成员 【B站】https://space.bilibili.com/397260706/ 【个人站】www.it-worker.club

评论

发布
暂无评论
树莓派上的自动化---自动发送IP地址到邮箱