获取树莓派内网IP

2024-06-18 22:18
文章标签 ip 树莓 获取 内网

本文主要是介绍获取树莓派内网IP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通常在使用不带外设输入输出设备的树莓派时(本文是以CentOS7系统为例),如果不给树莓派固定静态IP,重启后树莓派IP可能发生变化,由于需要重新确认树莓派IP,找显示器、键盘甚至鼠标等各种操作随之而来,导致重连树莓派的这个过程会非常麻烦。

本人使用邮件通知的方式达到便捷获取树莓派内网IP的目的,编写如下脚本(需要安装sendmail):

send-ip-mail.sh

#!/bin/bash
# Create on 2018/09/11 by Cyril
# check network availabilitywhile true
doTIMEOUT=5SITE_TO_CHECK="www.163.com"RET_CODE=`curl -I -s --connect-timeout $TIMEOUT $SITE_TO_CHECK -w %{http_code} | tail -n1`if [ "$RET_CODE" = "200" ]; thenecho "Network OK, will sending mail..."breakelseecho "Network not ready and not sending mail, waiting 1m..."sleep 1mfi
done# get the IP address of eth0, e.g. "192.168.16.5"
ETH0_IP_ADDR=`ifconfig eth0 | sed -n "2,2p" | awk '{print substr($2,1)}'` #本地连接ip
WLAN0_IP_ADDR=`ifconfig wlan0 | sed -n "2,2p" | awk '{print substr($2,1)}'` #无线连接ip# send the Email
echo  "
Hi Cyril,Your RaspberryPi is login in.
Login Time: `date '+%F %T'`.
Login IP:(ETH0)$ETH0_IP_ADDR(WLAN0)$WLAN0_IP_ADDR
Have a good day.
[From my RaspberryPi.]
"  |  mail  -s  "RaspberryPi is login in $WLAN0_IP_ADDR ."  848873227@qq.com  ##注意此处填写你自己的邮箱

当然只有如上脚本还不能达到目的,还需要把它加入到开机自启名单中。

vi /etc/rc.d/rc.local

ps:我贴出了自己的配置文件内容, 大家配置的时候只需在文末加上‘/root/send-ip-mail.sh &’,保存退出即可,不需要关注其它。

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.touch /var/lock/subsys/localip link set wlan0 up
systemctl stop NetworkManager
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf&
dhclient wlan0
sleep 1/root/send-ip-mail.sh &    ## 它将在centos系统开机后自启运行。'&'用在此处是为避免这个任务陷入死循环而影响之后的开机自启项任务

你现在可以重启系统验证,查看邮箱是否成功收到ip。

====================================================

安装sendmail的步骤(以centos7系统为例):
一、安装:

安装sendmail:

yum  -y  install  sendmail
systemctl  start  sendmail

安装mailx:

yum install -y mailx

二、发送:
mailx可以不用进行发件人信息的配置,但这样发送出去的邮件很可能被收件箱当作垃圾邮件而拒收。

通过文件内容发送:

mail  -s  '主题'  complet@163.com  <  test.txt 

通过管道符直接发送:

echo  '内容'  |  mail  -s  '主题'  complet@163.com

三、设置发件人信息:vim /etc/mail.rc

set from=complet@163.com
set smtp=smtp.163.com
set smtp-auth-user=用户名
set smtp-auth-password=密码
set smtp-auth=login

四、查看队列:

mailq

五、查看日志:

tail  /var/log/maillog

这篇关于获取树莓派内网IP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073208

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

树莓派启动python的实现方法

《树莓派启动python的实现方法》本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、RASPBerry系统设置二、使用sandroidsh连接上开发板Raspberry Pi三、运

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i