完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
怎么让树莓派自动上报IP地址到邮箱/Let Raspberry Pi to report its IP address via Email
由于我使用树莓派的场景大多数是在没有显示器、只用terminal连接它的情况下,所以,它的IP地址有时会在重启之后变掉(DHCP的),导致我无法通过terminal连接上它。然后我又要很麻烦地登录路由器的管理界面里,去看它被分配到的新IP是什么,然后用terminal重连,太麻烦了,不是么?作为一个树莓派玩家,这种麻烦简直是无法接受的! 为了解决这个问题,我让Pi开机的时候,自动向我指定的Email发送一封邮件,告诉我它此次开机时的IP地址。 步骤:开机时执行一个脚本,检测网络可用性→网络通畅后获取自己的IP地址→发送邮件到指定的邮箱。 下面一一道来。 1、开机启动项 开机执行一个脚本是怎么做到的? 在这篇文章的第2条里,详细陈述了如何让 /etc/rc.local 成为开机执行的文件,搞定之后,我只需要向此文件中添加一句话,即可开机执行一个脚本了:
2、上报IP地址的脚本实现 send-ip-mail.sh脚本的内容如下:
脚本很简单,分为3部分:第一部分检测网络可用性;第二部分取树莓派的eth0网卡的IP地址;第三部分发送邮件到指定的Email。 其中,第一部分是必须要有的,因为经过我试验,在本脚本执行时,树莓派的网络还没有初始化好,此时你直接发邮件是发不出去的。在这里我通过访问www.126.com来确定网络可用性。 第三部分需要你预先配置好mutt和msmtp。 3、安装配置mutt和msmtp 配置好mutt和msmtp后,就可以像上面一样,通过一句代码将邮件发送出去。 首先要在Pi上安装mutt和msmtp: pacman -S msmtp pacman -S mutt 安装后,先配置msmtp。在你用户的根目录下创建文件 .msmtprc,内容如下:
其中,smtp.126.com是我使用的邮箱的SMTP服务器地址,xxx@126.com是我用于发送邮件的邮箱,your_password是邮箱密码,你要根据你的情况修改。 然后配置mutt。在你用户的根目录下创建文件 .muttrc,内容如下:
其中,realname是发件人的名字,接收到的邮件中会显示出来。 4、这样子就全部搞定,以后每次Pi开机的时候,就会“自报家门”,我们再也不愁找不到Pi了。 |
|
相关推荐
|
|
如果树莓派连接的路由器的话,eth0网卡的IP地址应该是内网的IP地址,意义就不大了
|
|
|
|
|
|
楼主你如果有域名,直接用dnspod绑一个二级域名上去就好了,dnspod上也有linux可以用的后台脚本,python,ruby各种版本的都有
广域网地址的获取,这些第三方脚本里面很多,就不一一说了,自己看吧 github.com/TimothyYe/DynDNS GetPublicIPAddr方法里有 个人觉得绑域名方式更简单,流程跟你发邮件的流程差不多,都是定期获取IP,只是从发邮件改成自己自动刷新域名的IP地址,从使用的角度来说更简单更方便 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5844 浏览 0 评论
14148 浏览 9 评论
7783 浏览 0 评论
基于Amazon Echo 和 Raspberry Pi 的自动窗帘控制
7128 浏览 1 评论
【下载】《Linux+树莓派玩转智能家居》——亲手进行树莓派应用制作
159612 浏览 374 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 10:22 , Processed in 1.017564 second(s), Total 55, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号