---恢復內容開始---
在玩轉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 加上可執行權限
好了,完成了,把樹莓重啟一下看看,就會有一封郵件發送到你的郵箱