写在前面的话
树莓派是一台电脑,既然是电脑,连接显示器和键鼠是最方便不过的方法了。但是呢,有些项目确实不需要显示器,仔细想想,无人机带着显示器飞行的画面实在是很怪,况且有些时候,是条件限制,没办法连接显示器。
是不是没有显示器我们就不能愉快的玩Pi了呢?---当然不是啦
所以没有显示器的时候我们可以通过SSH的方法来玩树莓派。
那么,啥是SSH?简单来说就是一种远程登录的协议,让我们可以在局域网内另外一台电脑上去操作树莓派。(虽然说外网访问也是可以做到的,但属于超纲内容,以后我专门出文章说明,此处挖坑)
那我们就开始吧,看看有哪些方法。
首先我们要开启SSH
传说很久很久以前Raspbian默认是开启SSH的,但在一次更新之后,官方说出于安全考虑,于是将Raspbian的SSH设置成了默认关闭状态。
但要开启Raspbian OS的SSH,其实方法简单到不能再简单了,没有显示器,我们只能放弃NOOBS转而使用烧录系统的方法,那么,在烧录完成后,在Boot的根目录新建一个名为SSH的无扩展名的空文件(文件夹可不行哦)即可。
Windows用户只需要空白处点击右键,新建文本文件,更名为SSH然后删除.txt就OK啦。
Mac用户的话有一点值得注意,有时文件删除了扩展名,但是不为人知的原因还是TXT,如下图所示
所以,推荐一个简单的方法创建无扩展名的空文件
打开“文本编辑”这个自带软件,左边选中你的boot文件夹,然后点击新建文稿
直接按Command+S
把未命名改为SSH,直接点击储存,即可得到无扩展名的空文件并放入指定位置
之后推出TF卡,放入树莓派,就可以上电啦
通过网线直连路由器来实现SSH
用网线把树莓派和路由器连接起来,然后上电,接着...把Pi丢在墙角吃灰好了(笑)
Mac用户可以使用终端,终端自带SSH,非常方便
Windows用户则推荐使用PuTTY
下载地址及使用方法:
http://shumeipai.nxez.com/2013/09/07/using-putty-to-log-in-to-the-raspberry-pie.html
P.S. 手头没有Windows系统,但我看了下,说的挺详细了
若不知道IP地址,可以使用下面的命令连接(推荐,简单方便)
ssh pi@raspberrypi.local
这个命令的含义是:使用SSH方式连接 用pi账户登录 设备hostname为raspberrypi 在本局域网中
也可以通过路由器(如果是智能路由器,例如小米路由器,用手机app就可以查看,也算是超级方便)查看树莓派的IP地址之后就可以用下面命令
ssh pi@X.X.X.X
嘛,这条命令的含义和上面一个差不多,只是略有变化:使用SSH方式连接 用pi账户登录 目标设备IP地址
第一次连接会出现验证,输入yes后按回车就好
之后会提示输入密码
咱们的默认账户是:pi
pi账户的默认密码是:raspberry
输入密码时没有任何反应,并不是你电脑或者键盘坏了,只是Linux为了安全性,在输入密码时什么都不显示罢了(想当初,我不知道这件事的时候,差点把键盘摔了,因为我用的很便宜的键盘。啊哈哈哈)
之后看见绿色的命令行就成功连接树莓派了
连接之后,你就可以设置Wi-Fi啦,毕竟总是插着网线也不方便嘛。
可以使用下列命令设置Wi-Fi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
sudo的意思是暂时使用root权限执行命令
nano是一个文本编辑器的名字,很多Linux的发行版都自带有
后面是wpa_supplicant.conf的文件路径,这里面保存有Wi-Fi的一些设置
在打开的文本编辑器中按照下列格式输入
network={
ssid=”将我替换成Wi-Fi名”
psk=”将我替换成Wi-Fi密码”
priority=将我替换成数字,数字越大代表优先级越高
}
例如我有两个Wi-Fi,Wi-Fi_A优先级高于Wi-Fi_B,那么如下编写即可
network={
ssid=”Wi-Fi_A”
psk=”12345678”priority=5
}
network={
ssid=”Wi-Fi_B”
psk=”12345678”
priority=4
}
按Ctrl+O之后回车保存,按Ctrl+X退出nano编辑器。
⚠️P.S. 即使你是用的是Mac进行的SSH,这里依然是使用Ctrl而不是Command
⚠️P.S.2 priority后面不可以是负数
接着输入
sudo reboot
重启树莓派,之后你就可以拔掉网线使用Wi-Fi连接了,SSH方式依旧同上面一致。
追加:有路由器,但是没有网线的时候,可以直接配置Wi-Fi连接。
和开启SSH的方法一样,建立名为wpa_supplicant.conf
的文件,里面内容如下编写
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="将我替换成Wi-Fi名"
psk="将我替换成Wi-Fi密码"
priority=将我替换成数字,数字越大代表优先级越高
}
保存后和SSH文件一样,放入boot文件夹,之后给树莓派上电,稍等几分钟,就会连上Wi-Fi了。
通过网线直接连接笔记本来实现SSH
总有些时候是没有路由器的,比如外出住在酒店,公共Wi-Fi很可能找不到设备,也不安全。这时候就可以通过网线把树莓派和笔记本直接连接起来
下面还是已Mac OS为例
首先给树莓派烧录好系统,创建SSH无扩展名空文件,然后用网线把树莓派和Mac连接起来(我知道Mac没有网线接口,但或许恰好你有转接线又或者恰好是黑苹果用户呢。。。啊哈哈哈,苦笑)
然后打开系统偏好设置
进入共享
选择互联网共享,选择共享来源以及共享方式后,勾选互联网共享,选择启动就好
然后打开偏好设置中的网络,树莓派是否连接可以在这里查看
确认连接之后就可以打开终端,使用下面命令连接即可
ssh pi@raspberrypi.local
P.S. 网络中的IP地址并不是树莓派被分配的IP地址,如果想要知道具体IP地址,可以在终端中输入
arp -a
查看,显示为bridge的就是树莓派的IP地址
P.S.2 你也可以在连接树莓派之后,在树莓派中使用
hostname -I
来查看IP地址
知道IP地址后也可以用这个命令来连
ssh pi@X.X.X.X
之后就可以正常的开启你的项目啦。祝你玩的愉快。
如果你没有显示器,没有路由器,也没有条件直连笔记本
嗯,真正的绝望不是么。
如果你知道该怎么办,请联系我,我也需要不断的学习
尾巴
这是这个系列的第二篇文章,我知道我填坑的速度有些慢,没办法,毕竟时间都是挤出来的,我本职工作也不是程序员,学校学的专业和计算机也毫无关系,只是最近爱上折腾这些小玩意儿,觉得十分有趣罢了。
一些人的评论我看了,说的其实有道理。网络上关于树莓派的教程确实千千万,写的比我好,速度比我快,深度和广度在我之上的太多了。那我为什么还要写这个系列呢?
原因很单纯,我觉得好玩,有意思,肯定有和我一样的,不是班科出生的人开坑来玩,但苦于一些小问题,最终让树莓派吃灰了。我自己是从什么都不懂走过来的,我知道一些非常简单的问题在新手眼中非常复杂,甚至不知道如何解决。
这个系列之所以叫明明白白玩Pi,就是希望把被一个步骤都讲清楚,说明白,而不是简单的复制代码,粘贴代码。如果看完我的文章,你觉得这什么都没说嘛,那我只能表示很抱歉,你所知道的一定比我多,对于不能帮到你我感到很抱歉。
最后说说这个系列的规划,其实有几篇文章已经零零散散写的差不多了,而且是具体的项目,只是没有时间做润色和最终确认,所以暂时还不能发出来。下一篇文章应该仍然是关于一些基础知识的梳理。
最后,对于我填坑速度慢,深表歉意,感谢你的支持。(鞠躬)