21回答

5收藏

[教程] 三无环境(无显示器无固定IP地址无串口线)访问RPI的方法

 

Raspberry Pi Raspberry Pi 16996 人阅读 | 21 人回复 | 2013-02-04

从爱板买了RPI之后发现一个问题,家里、公司都没显示器,电视老人还要看,手里就一个笔记本。在公司使用的话,网络环境是DHCP,每次启动获得的IP都不一样,无显示器和键盘,SSH都不知道连哪儿。
不过毕竟玩儿Linux也十多年了,很快思考了一下,梳理了一个思路:
1、每次机器启动的时候自动执行个脚本,把DHCP获取的IP发到我的邮箱;
2、SSH直接联这个IP即可。
原以为很简单,没想到还是折腾了一番功夫。

1、现在淘宝买了根USB转串口的线(连接方式见我另一个帖子),先把RPI连上。
2、写了个超级简单的脚本,得到IP,然后发现Raspbian里面没有sendmail服务,不能直接mail。
3、郁闷ing,考虑给它装个sendmail,又觉得有点大材小用。发现raspbian目录下有python,于是想还是搞个python的脚本。
4、上网一搜,发现竟然有现成的,http://elinux.org/RPi_Email_IP_On_Boot_Debian,于是按照里面写了个mail.py的脚本
5、这下省事了,按照里面的步骤做完,测试了下mail.py这个脚本ok,于是把它加入rc.local里面
6、麻烦来了,调试了半天,rc.local里面的脚本似乎总是不执行。
于是又跟踪进去看了看,发现脚本无错误,似乎raspbian在启动这个rc.local这个脚本的时候还未获得IP地址和环境变量,因此这条路不通。可是也有些网友说他们的脚本执行正常,不知道究竟为什么。
后来在国外的网站上看到有人说,rc.local不能保证每次都正常执行,比较稳妥的方法是在/etc/init.d里面执行。这点也请后来的网友指点了。
7、于是把上面的脚本挪到/etc/init.d/目录下,
sudo chmod 755 /etc/init.d/mail.py
sudo /etc/init.d/mail.py start
测试成功,邮箱收到邮件,然后
sudo update-rc.d mail.py defaults
把脚本加入启动清单。重启,成功。
这样每次RPI启动都会给我的邮箱发一个通知,告诉我当前获得的IP地址,然后就可以ssh连接上去。

如果要删除这个服务,
sudo update-rc.d -f mail.py remove
即可。

通过这种方式,无论我是在公司还是在家,只要把RPI连上路由器,就可以从其他机器访问到它,不需要串口线,不需要显示器,也不用设置固定的IP地址,是最节省成本的一个方式。



分享到:
回复

使用道具 举报

回答|共 21 个

倒序浏览

沙发

小菜儿

发表于 2013-2-4 16:17:57 | 只看该作者

楼主很牛,沙发顶!!!
板凳

lelegege

发表于 2013-2-4 17:37:11 来自手机 | 只看该作者

直接设置固定ip不简单么?
地板

fanqi_3007929

发表于 2013-2-4 18:34:03 | 只看该作者

楼主的方法不错……


我刚写完用GPIO口接LED通过摩尔斯电码闪灯的方式闪出IP地址的python脚本
虽然很笨不过这下随机启动的方法也有了^_^
5#

ukonline2000

发表于 2013-2-5 00:48:43 | 只看该作者

用局域网ip扫描软件扫一下,不就找到ip了吗?
博客站点:http://ukonline2000.com
网店:http://ukonline2000.taobao.com
6#

bw57899

发表于 2013-2-5 07:14:10 | 只看该作者

没看懂,既然有DHCP服务器,那就有DNS对应,如果缺省你的RpI 的 hostname 是 raspberrypi, 那么只要直接联这个hostname 不就可以了。
  1. ssh pi@raspberrypi
复制代码
7#

lynna

发表于 2013-2-5 09:03:47 | 只看该作者

在公司环境下,网管不可能让你登陆到路由器去查看IP分配情况,所以才想出这么个主意。
假设你带着RPI到了一个咖啡厅连上网,总不能去查人家的路由器,所以还是需要RPI自动通知你现在的IP是多少。
DHCP和DNS的关系,楼上可以再了解一下。不是每个DHCP都会配合DNS一起用的。
8#

lelegege

发表于 2013-2-5 10:09:57 来自手机 | 只看该作者

lynna 发表于 2013-2-5 09:03
在公司环境下,网管不可能让你登陆到路由器去查看IP分配情况,所以才想出这么个主意。
假设你带着RPI到了一 ...

三无环境,咖啡厅怎么连?pi怎么连上咖啡厅的无线网
9#

justdoit

发表于 2013-2-5 14:09:19 | 只看该作者

用shell也可以的,通过smtp,我们有个没显示器的内网测试服务器就这么搞的
10#

flctq1616

发表于 2013-2-6 06:33:14 | 只看该作者

方法不错不错
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条