上午树莓派系统玩着玩着, 命令操作不当, 开不了机, 系统崩了… 于是决定重新开始, 手头有Mac OS的电脑一台, 树莓派2B, 读卡器 , 一个USB转串口(CH340)的小板, 下面记录下过程.
①下载
本来想从 树莓派官方下载地址 下载RASPBIAN JESSIE版本的, 有NOOBS(容易安装)和Raspbian(又分为全桌面的RASPBIAN JESSIE和轻量级的RASPBIAN JESSIE Lite):
结果居然下载到0.2M就不动了, 这速度也没谁了, 网上找了个百度云的: 2016-03-18-raspbian-jessie_shumeipai.net.zip .
②校验
害怕是病毒, 搜了下怎么校验SHA-1, 发现Mac终端就可以校验:
计算MD5值 :md5 <文件路径>
计算SHA1值 :shasum <文件路径>
直接把文件拖到终端窗口可以自动添加文件路径.
校验一下SHA1值, 结果如下:
和上面的对比了一下, 松了口气 , 解压出.img文件, 大概有4.03G.
①查看名称
存储卡为32G Class 10 Samsung的, 插进读卡器, 插到Mac上, 先查看下名字, 在终端输入命令: diskutil list
或者 左上角菜单苹果图标–>关于本机–>系统报告–>硬件–>储存 来查看名字 ( 注: 我使用的是USB读卡器 ).
其中, /dev/disk1 是我的内存卡.
②卸载分区
存在一个 disk1s1 的划分, 需要先 unmount 它, 不然无法写入image. 终端输入命令 : diskutil unmount /dev/disk1s1
③写入镜像
此时可以写入镜像, 使用 dd
命令, 终端输入:
sudo dd if=/Users/mac/Downloads/2016-03-18-raspbian-jessie.img of=/dev/rdisk1 bs=1m
其中, 路径和文件名是用鼠标直接把文件拖进终端自动生成的.
此时, 就开始写入镜像了, 过程大概需要几分钟, 查看进度可以按下 Ctrl + T
, 我的大概花了5分钟. 写入完毕, 推出存储卡, 插到树莓派上.
如果是Windows系统, 可以参考这篇文章How to Setup a Raspberry Pi Without a Monitor or Keyboard , 主要是使用了Windows平台上的 Advanced IP Scanner (免费的网络扫描工具).
如果是Mac OS, 当然也有网络扫描工具 Angry IP Scanner (这个是开源的, 在Mac/Windows/Linux)下都可以使用, 大小只有2M:
Adafruit也出了一款 Adafruit-Pi-Finder :
不过Mac平台下大小达到恐怖的100多M.
如果不想或不能使用上一步, 可以用串口查看树莓派IP.
①连接 CH340小板 与 树莓派 的串口
树莓派默认有线网络设置为DHCP, 自动分配IP, 由于没有屏幕, 可以使用USB转串口(CH340)小板来查看IP, 因为树莓派的串口默认作为调试口(默认波特率115200)使用. CH340小板(淘宝上不到3元钱)的样子如下:
使用杜邦线交叉连接 CH340小板的GND RXD TXD(背面有标注) 到 树莓派的GND TXD RXD(树莓派引脚分布见下图).
②给Mac装上CH340的驱动
与装电脑系统时各种网卡, 摄像头之类需要驱动一样, CH340 USB转串口小板插到电脑上如果想正常使用, 也需要驱动, 直接去南京沁恒官网下载: CH340的Mac OS驱动
下载并安装驱动. 插上CH340小板, Mac终端输入 ls /dev/tty*
图中圈住的 /dev/tty.wchusbserial1d130
即为CH340串口小板的名称.
③查看树莓派IP地址
上一步已经把CH340 USB转串口小板插入电脑, 并且小板的GND RXD TXD分别与树莓派的 GND TXD RXD相连了, 现在给树莓派上电, 稍等片刻(几十秒), 在Mac终端输入
screen /dev/tty.wchusbserial1d130 115200
打开串口, 输入树莓派默认的用户名 pi
, 密码raspberry
.通过串口登录树莓派, 输入 ifconfig
命令查看树莓派的IP地址:
可以看到现在的IP地址为 192.168.6.174
可以继续使用串口来输入命令, 但既然已经知道了IP地址, 此时我们已经可以用SSH登录了, 输入
ssh pi@192.168.6.174
瞬间差点吓尿, 复制文字如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
64:e5:5e:6e:2f:1a:ac:6d:5b:bd:66:7e:d1:79:3b:da.
Please contact your system administrator.
Add correct host key in /Users/mac/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/mac/.ssh/known_hosts:3
RSA host key for 192.168.6.174 has changed and you have requested strict checking.
Host key verification failed.
赶紧上网搜索, 还好有人同病相连: SSH warning - WARNING: REMOTE HOST IDENTIFICATION HAS CHANGE , 楼下给出了解释和解决办法:
You need to clear the SSH key and generate a new one. Your Mac remember the SSH key generated by the previous installation you had running on the Pi. Now you reinstalled everything, when the Mac is asked to connect to the Pi, it sees it as a different machine with a different SSH Key, which does not match the one it remembers for the IP address you are using.
On the Mac you need to :
ssh-keygen -R {RPi-IP-Address}
To delete the key.
Then run the normal SSH command to connect and it will generate a new key pair automatically.
高人指点, 这就好办了, 终端输入:
ssh-keygen -R 192.168.6.174
然后再输入 ssh [email protected]
,输入默认的登录名 pi 和密码 raspberry 就可以登录了:
本来想着用老方法 sudo nano /etc/network/interfaces
中改成静态IP
然后重启服务 sudo service networking restart
结果他娘的失灵了…大概原来的是2015年前半年的Raspbian, 现在用的是2016-03-18版的Raspbian, 果然要与时俱进… 果断上网搜, 发现个最近的博客: How to Set Up a Static IP on the Raspberry Pi , 非常不错, 开始设置吧:
①查看网络信息
树莓派终端输入 route -ne
记录下 Gateway 192.168.6.1, 即为下面即将用到的 router.
接着输入命令 cat /etc/resolv.conf
可以看到域名服务器(把本地浏览器请求的域名如www.google.com转换到对应的IP地址如8.8.8.8的服务器). 这两个都记录下来
②设置静态IP
sudo nano /etc/dhcpcd.conf
在最后添加这几行:
interface eth0
static ip_address=192.168.6.253
static routers=192.168.6.1
static domain_name_servers=211.138.24.66 211.138.30.66
其中routers就是上面的gateway, domain_name_servers是上一步得到的两个域名服务器地址. 这里设置的静态IP地址可以参考上面使用 Angry IP Scanner 扫描出来的作为参考, 尽量设置到后面如240~254之间, 可以避免局域网冲突.
然后重启树莓派: sudo reboot
, 按照设置的IP登录 ssh [email protected]
, 又会出现上面SSH登录的警告 SSH warning - WARNING: REMOTE HOST IDENTIFICATION HAS CHANGE
, 输入命令 ssh-keygen -R 192.168.6.253
解决之, 这样就可以正常登录 ssh [email protected]
了.
sudo raspi-config
选择Expand FileSystem, 把文件系统扩展到整个SD卡. (注意可以按Tab选择下面的按钮).
如果想通过有线共享电脑的网络给树莓派, 淘宝上买的20多元的Mac OS下免驱的USB有线网卡, 插到电脑上, 左上角苹果图标–>系统偏好设置–>共享–>网络共享:
连接USB有线网卡到树莓派上, 终端输入 ifconfig
查看IP:
默认圈中的IP往后加1, 即树莓派的IP地址为 192.168.2.2
, 输入 ssh [email protected]
, 又会出现 SSH warning - WARNING: REMOTE HOST IDENTIFICATION HAS CHANGE
警告, 输入命令 ssh-keygen -R 192.168.2.2
解决之, 再次 ssh [email protected]
登录, 输入默认用户名 pi 默认密码 raspberry 登录成功.
20160325记录
安装VNC服务:
sudo apt-get install tightvncserver
修正错误:sudo apt-get update --fix-missing
依然连不上…
准备试试安装可以的lantern到树莓派上, 参考 GitHub lantern
安装git:sudo apt-get install git
又失败…
试试用电脑(装了Lantern)通过USB有线网卡共享给树莓派(注意此前先把上面树莓派设置静态IP那一步的设置全部注释掉, 还原为默认的DHCP).
20160326更新
昨天出问题是由于静态IP那里设置错误, 今天把静态IP那里设置改好, 可以正常连接网络, 下面开始给树莓派安装VNC服务端:
sudo apt-get install tightvncserver
打开Mac上安装的VNC Viewer客户端, 输入 192.168.2.2:1
或者 192.168.2.2::5901
, 输入上面设置的密码 raspberr .登录成功.
但是重启树莓派 sudo reboot
后, 又连接不上了, 除非再次输入 vncserver :1
, 所以, 需要设置开机启动. 参考 Adafruit的树莓派教程第七课:使用VNC进行远程控制 .
切换到目录 cd /home/pi/.config
, 新建一个文件夹 mkdir autostart
, 切换到新建的文件夹 cd autostart
, 新建一个文件 sudo nano tightvnc.desktop
, 输入一下内容:
[Desktop Entry]
Type=Application
Name=TightVNC
Exec=vncserver :1
StartupNotify=false
按下Ctrl + X离开, 按下Y写入, 回车, 再重启一下试试能不能连上 sudo reboot
. 整个过程如下:
重启后打开VNC Viewer, 输入 192.168.2.2:1
, 输入密码 raspberr 登录进去.
如果想修改VNC的分辨率, 可以修改上面的第三行为 Exec=vncserver :1 -geometry 1280x720
, 注意那个是xyz的x, 而不是+-*/的*.