获取树莓派内网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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM