标签:
---恢复内容开始---
在玩转Raspberry Pi以及以后自己搭建平台的过程中,难免要查找局域网中的设备的IP地址,现在就为大家梳理一下常用的几种方法:
1、通过360路由器卫士等路由器监控设备可以很方便的查找到连接到同一路由器的设备的IP地址
2、使用猎豹免费wifi、360免费wifi等开启电脑热点的软件,可以在这些软件的管理页面上看到连接wifi设备的IP地址
3、除了通过一些软件可以比较方便的查找出局域网中设备的IP地址,如果所有设备都是连接到路由器,可以通过浏览器查找IP地址
在浏览器地址栏输入路由器的IP地址(直接在路由器背面就可以找到路由器的登陆IP),可以跳出以下界面
出现该界面之后,输入用户名和密码,在出现的页面上有所有连接到此路由器的设备的IP地址
4、也可以通过windows系统自带的cmd命令行界面,输入命令,查找跟本机同处一个局域网内设备的IP地址哦,输入arp -a命令,跳出的界面上就可以找到
5、让树莓派自己“说出”IP地址:
这样,每次树莓派开机以后,你只要插上耳机仔细听,就能知道树莓派的ip地址了。首先下载0-9的mp3文件,这些网上都有,然后就是写脚本获取ip,然后一个字符一个字符读出来,参考这个脚本pispeakip
不过在我的机器上这个脚本有个问题,不能播放mp3文件,目前不清楚问题出在哪里,不过我改了下,可以运行在我的机器上了。
修改的Python代码:
def play(voice):
cmd="mpg123 %s"%getFilePath(voice)
cs.system(cmd)
保存后,将此脚本加入到开机运行中,raspbian的开机脚本位于/etc/rc.local,注意以root权限修改此文件
将上面脚本配置保存好以后(假如保存在/pi/speak_ip/speak.py下),在rc.local里面加入下面的语句:
python /pi/speak_ip/speak.py
保存后,下次再启动树莓派时,将你的耳机插入,仔细听就能听到你的Raspberry Pi自己报出它的IP地址
6、可以设定树莓派的固定IP地址,方法:
只需要修改文件sudo vi /etc/network/interfaces文件即可
/etc/network/interfaces原文件为dhcp获取ip,内容为
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
修改此文件的办法:
1,树莓派接显示器,用键盘鼠标打开终端 修改文件
2,用ssh/VNC登录树莓派修改此文件
3,在linux下直接用读卡器读取SD卡 修改/etc/network/interfaces文件
(你可以先备份这个文件sudo cp /etc/network/interfaces /etc/network/interfaces.bk)
想设置为静态ip需要这么做
直接将iface eth0 inet dhcp
替换为
iface eth0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1
然后删除这一行 iface default inet dhcp(否则 ip是固定的但是无法连外网)
修改后的文件为
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
然后重启服务或系统
sudo reboot
root@raspberrypi:~# sudo service networking restart
树莓派为静态ip而且可以连接外网
7、将树莓派的IP地址自动发送到您的邮箱,方法:
1. 写一个python程序,自动获取当前的ip地址,并发送到一个指定的邮箱
2. 将该python程序定义为网络建立后的一个可执行程序。
首先第一步,写python程序
------------------------sendip.py-------------------------------
#coding=utf-8
‘‘‘
Created on 2014-10-15
@author: jasonssd
‘‘‘
if __name__ == ‘__main__‘:
pass
import smtplib
import subprocess
from email.mime.text import MIMEText
mailto = [‘88888888@qq.com‘]
mail_host="smtp.163.com"
mail_user="your name"
mail_pass="your password"
mail_postfix="163.com"
def send_mail(to_list,sub,content):
me="hello"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_subtype=‘plain‘,_charset=‘gb2312‘)
msg[‘Subject‘] = sub
msg[‘From‘] = me
msg[‘To‘] = ";".join(to_list)
server = smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.sendmail(me, to_list, msg.as_string())
server.close()
return True
def getIpaddress():
body=‘‘
address = subprocess.Popen(‘ifconfig‘,shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
lines = address.stdout.readlines()
for line in lines:
body+=line+‘\n‘
return body
if __name__ == ‘__main__‘:
if send_mail(mailto,"hello",getIpaddress()):
print("发送成功")
else:
print("发送失败")
-----------------------------------------------------------------------------
然后到 /etc/network/if-up.d 目录下建立一个脚本,该目录下的脚本会在网络建立以后自动被执行
我建立的叫 sendmail的文件
里面只需要一句即可
python /home/pi/pscript/sendip.py
保存之后
sudo chmod 777 sendmail 加上可执行权限
好了,完成了,把树莓重启一下看看,就会有一封邮件发送到你的邮箱
标签:
原文地址:http://www.cnblogs.com/Washionton25/p/5406193.html