玩树莓派的朋友一般都是通过ssh连接进行操作,在熟悉的环境很容易得到ip,在新环境下快速获取ip登录ssh成为刚需。下面介绍几种方法,从简单到复杂任君选择 。
一.nmap
- 前提:熟悉自己的mac地址(有人说可以通过host名区别,我实际使用中名字始终是unknow,而且局域网很多未知名难以区分)
- 执行:安装sudo apt-get install nmap ,root用户执行nmap -sn 192.168.1.* 扫描局域网内的ip,普通用户扫描ip不会显示host跟Mac。
二.固定局域网ip
1.在路由器中固定:
这种方法受限制条件太多,你得有管理员权限,直接pass
2.配置/etc/dhcpcd.conf 文件:
在最后添加:
三.邮件或者微信自动推送
自动推送原理都差不多。通过脚本实现自动转发,邮件推送的网上很多教程,我这里主要讲一下微信推送,用到的是方糖( http://sc.ftqq.com/)提供的免费微信推送服务,有兴趣的可以尝试下。
1.登录server酱,注册获取token并绑定微信号。
2.python脚本:
sudo nano /home/pi/ip-push.py
#!usrbinenv python
# coding=utf-8
import time
import socket
import requests
def getLocalIP():
s =socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.connect(("1.1.1.1",80))
ipaddr=s.getsockname()[0]
s.close()
return ipaddr
def post(ip):
url = "https://sc.ftqq.com/token.send" # token替换成自己的
data = "text=%s"% ip
results = requests.get(url,data)
if __name__ == '__main__':
time.sleep(20) #等待联网
while True:
ip = getLocalIP()
print ip
if ip == False:
post("正在获取网络地址")
else:
post(ip)
break
time.sleep(5)
3.修改开机自动运行:
最简单的就是修改sudo nano /etc/rc.local,在exit 0之前添加
/usr/bin/python /home/pi/ip-push.py &
sudo reboot
OK搞定!