Fork me on GitHub

树莓派 -- 安装配置汇总

树莓派3安装和配置汇总。之前零零散散写过好多篇关于树莓派的博文,这里整合一下。

树莓派 -- 安装配置汇总

无屏幕安装系统

问题说明

刚军训完的大学狗还没开始上课,比较闲,正巧从家里带了树莓派(我这个人呐,上大学都不忘带上些家伙),开始折腾咯。寝室没路由器,先折腾个路由器玩玩。燃鹅却遇到了麻烦。
寝室没有显示器,该怎么安装系统呢,理所当然的想到先ssh连接,装个vnc远程桌面即可。燃鹅,我还是太天真了。好久没玩树莓派,最新的固件默认取消了ssh连接,说是为了安全性,唉。另外寝室还没路由器,我拿网线接电脑试了下,一直没成功,无奈之下怒买小米路由器3,总算解决了连接问题。(好像有些不对劲,我不是想折腾一个路由器来着)

系统安装

1.下载以下工具

镜像烧录工具 - Win32DiskImager
镜像 - RaspbainJessie

ps. 这里我们以“Jessie”系统为例,我觉得这是合新手入坑的最好选择。其实树莓派支持好多种系统(Linux、Android、win),我们也可以去官方网站下载或找民间包,这里不赘述。

2.烧录镜像

将sd卡用读卡器连接电脑。解压上面下载的俩个文件,打开“Win32DiskImager”,选择“之前下载的镜像文件.img”和“目标磁盘”。(别选错了,会执行格式化)然后点击“write”写入即可,等几分钟镜像就写到sd卡上了。
烧录镜像
这时候将sd卡插回树莓派就可以开机了,但是,等等,我们没有显示器,所以还要做些工作。

ssh连接

1.配置wifi

我们可以在未开机的情况下修改“/boot/wpa_supplicant.conf”来配置wifi。
打开“/boot/”目录。新建一个“wpa_supplicant.conf”文件,注意后缀哦,记事本打开。
boot目录
写入以下代码:

1
2
3
4
5
6
7
8
9
10
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="zhaoo" #ssid(wifi用户名)
psk="12345678" #password(wifi密码)
key_mgmt=WPA-PSK #wifi加密方式
priority=1 #优先级
}

摘自:树莓派实验室
说明以及不同安全性的 WiFi 配置示例:

#ssid:网络的ssid

#psk:密码

#priority:连接优先级,数字越大优先级越高(不可以是负数)

#scan_ssid:连接隐藏WiFi时需要指定该值为1
如果你的 WiFi 没有密码
network={
ssid=”你的无线网络名称(ssid)”
key_mgmt=NONE
}
如果你的 WiFi 使用WEP加密
network={
ssid=”你的无线网络名称(ssid)”
key_mgmt=NONE
wep_key0=”你的wifi密码”
}
如果你的 WiFi 使用WPA/WPA2加密
network={
ssid=”你的无线网络名称(ssid)”
key_mgmt=WPA-PSK
psk=”你的wifi密码”
}
如果你不清楚 WiFi 的加密模式,可以在安卓手机上用 root explorer 打开 /data/misc/wifi/wpa/wpa_supplicant.conf,查看 WiFi 的信息。

2.配置ssh

新版“Jessie”系统默认是关闭ssh的,说是为了安全,麻烦的一批。
在“/boot/”目录下新建“ssh”文件。(注意是小写且没有后缀的空文件)然后树莓派开机的时候检测到了这个文件就会开启ssh,还是没那么麻烦的。

3.电脑安装ssh连接软件

安利俩个工具吧,自行下载。
putty
xshell

4.开机

将sd卡插回树莓派,通电开机。然后打开路由器后台,可以看到多了一台名为“raspberrypi”的设备,查看一下ip地址。
查看ip
然后ssh软件设置一下ip地址就可以连上树莓派了。
填写ip
需要填写树莓派ssh的用户名和密码。默认密码如下:

1
2
用户名:pi
密码:raspberry

填写用户名密码
连接!看到以下界面就说明ssh连接树莓派成功了。尽情地折腾吧。
ssh连接成功

IMG镜像解压

今天折腾树莓派的更新源,手贱把原来的官方源删除了。网上教程都说加注释。别删!别删!别删!然后我不听,然后我就呵呵了。国内的源是残缺的,某些软件下载不了。
痛定思痛,问题总归是要解决的。

  • 官方源我可记不住,网上也找不到。
  • 重做系统?别了别了!我选择去死。
    那么只能去官方下一个img镜像把里面的“sources.list”提取出来替换了。于是遇到了麻烦,img根本解压不了。简单的谷歌一下,get到了一款软件“LinuxRecovery”,可以用来解压img。
    LinuxRecovery
    教程我就不打字了,一早上写了太多了,放几张图片吧。相信机智你一定能解决的。 >>>跑…
    IMG镜像解压-1
    IMG镜像解压-2
    IMG镜像解压-3
    IMG镜像解压-4
    IMG镜像解压-5
    IMG镜像解压-6
    IMG镜像解压-7

VNC

折腾树莓派嘛,当然少不了GUI图形界面,除非你是大佬,TUI文本界面敲代码,膜拜膜拜。说正经的,本文我们将安装个vnc远程连接树莓派。

树莓派端安装vnc服务端

首先我们ssh连接树莓派,还没连接过ssh的可以看我之前文章。树莓派 – 无屏幕安装系统
敲入以下代码:

1
sudo apt-get install tightvncserver    #安装vnc服务端

1
vncpasswd    #设置vnc连接密码

两次输入密码,回车,注意密码是不会显示的。然后提示你是否设置查看(view-only)密码,没必要,按“n”。

1
sudo nano /etc/init.d/tightvncserver    #新建“tightvncserver”文件,设置开机启动

在nano编辑器内粘贴以下代码。然后按“ctrl+x”,再按“y”保存,回车确认。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
# More details see:
# http://www.penguintutor.com/linux/tightvnc
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required
eval cd ~$USER
case "$1" in
start)
# 启动命令行。此处自定义分辨率(和你电脑分辨率设置一样吧)、控制台号码或其它参数。控制台号码设置为“0”的话之后可以不写。
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 1366x768 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
# 终止命令行。此处控制台号码与启动一致。
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0

再给tightvncserver文件加执行权限,并更新开机启动列表。

1
2
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

OK!树莓派端折腾完毕。

PC端安装VNC客户端

安利一个vnc客户端(同时它也有服务端)
RealVnc

连接VNC

在RealVnc设置ip等,连接。提示输入密码,就是之前设置的那个。
vnc设置
vnc连接
输入密码
OK!连接成功!
连接成功

汉化

树莓派默认使用英文,对于我这种英语渣,就难以驾驭了。本文将介绍如何汉化树莓派。
树莓派默认没装中文字库,如果强行更改语言为“中文”的话,会显示乱码或方块文。
所以我们要先安装一个第三方字库。

1
sudo apt-get install ttf-wqy-zenhei

按“y”同意,并回车继续。
然后我们再安装一个中文输入法。

1
sudo apt-get install scim-pinyin

同样按“y”同意,并回车继续。
安装完毕后我们要设置中文显示。

1
sudo raspi-config

ps. 上下方向键选择,回车进入。

“Internationalisation Options” –> “change_locale” –> “Default locale for the system environment:”
语言配置

ps. 光标上下移动,空格打“*”选择或取消。


选择“zh_CN.UTF-8 UTF-8”,取消“en_GB.UTF-8 UTF-8”。
然后按“tab”键将光标移到“ok”,回车保存。
重启一下。
1
sudo shutdown -r now

重启后显示中文了,按“ctrl + space”还可以切换中文输入法。
显示中文
OK!中文是全世界最美(keng)的语言!

Vim文本编辑器 - 安装及设置代码高亮

树莓派默认安装的文本编辑器是“nano”,燃鹅我并不喜欢,还是我“vim”最好。虽说树莓派也安装了“vim”,但是比较诡异,可能是变异了吧,完全不符合一般人的使用逻辑。
首先我们要卸载“变异版vim”。

1
sudo apt-get remove vim-common

再重新安装“正常版vim”。

1
sudo apt-get install vim

按“y”同意并回车,“vim”就安装好了。
“vim”具体的使用命令可以问问度娘。
接下来我们还需要配置代码高亮显示,嘛,必备的。
在~目录下面新建”.vimrc”文件。

1
2
3
4
5
6
pi@raspberrypi ~ $ cd ~
pi@raspberrypi ~ $ vim .vimrc

set number
syntax on
set tabstop=4

OK!代码高亮也配置完成。

更换为国内更新源

树莓派默认更新源服务器位于国外,虽说没被墙,但下载速度太感人了,还是有必要换成国内源的。

更新-2017.10.04

修改“/etc/apt/sources.list”

1
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free

修改“/etc/apt/sources.list.d/raspi.list”

1
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ jessie main

!!! “wheezy”、“jessie”、“stretch”根据自己的改字段

!!! 以下内容作废,可参考过程。

更换阿里云源

这里我们以阿里云源为例说明如何更换更新源。
编辑“/etc/apt/sources.list”文件,将原来的源加“#”注释掉,再将以下阿里云源粘贴即可。

1
sudo nano /etc/apt/sources.list   #编辑“sources.list”文件

1
2
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free    #阿里云源
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free #阿里云源

更换源

!!! wheezy系统务必将上面的“jessie”字段换成“wheezy”。


1
sudo apt-get update && apt-get upgrade -y     #更新源&更新系统

更新系统和源

国内源列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
中国科学技术大学
Raspbian http://mirrors.ustc.edu.cn/raspbian/raspbian/

阿里云
Raspbian http://mirrors.aliyun.com/raspbian/raspbian/

清华大学
Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/

华中科技大学
Raspbian http://mirrors.hustunique.com/raspbian/raspbian/
Arch Linux ARM http://mirrors.hustunique.com/archlinuxarm/

华南农业大学(华南用户)
Raspbian http://mirrors.scau.edu.cn/raspbian/

大连东软信息学院源(北方用户)
Raspbian http://mirrors.neusoft.edu.cn/raspbian/raspbian/

重庆大学源(中西部用户)
Raspbian http://mirrors.cqu.edu.cn/Raspbian/raspbian/

中山大学 已跳转至中国科学技术大学源
Raspbian http://mirror.sysu.edu.cn/raspbian/raspbian/

新加坡国立大学(国外)
Raspbian http://mirror.nus.edu.sg/raspbian/raspbian

牛津大学(国外)
Raspbian http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/

韩国KAIST大学(国外)
Raspbian http://ftp.kaist.ac.kr/raspbian/raspbian/

绑定域名 - 让外网可以访问树莓派

树莓派绑定域名,让外网也可以通过域名访问。

2017-09-27

今天发现,学校虽然是公网IP,但还是有租期,也就是说跳IP。只能路由器DDNS咯。

2017-09-26

这几天一直在渡劫,如何给树莓派绑定域名,搭建一台小型服务器。然后我试了以下方式。
|:————- :|:————-:|
|花生壳-DDNS|要实名交钱,太麻烦|
|Dnspod-DDNS|脚本没成功|
|ngrok-内网穿透|要敲的代码太多,太麻烦|
|frp-内网穿透|本地端没配置成功,是个bug|
总之就是遇到各种问题。
然后我向大学校友(老乡)求救,他居然说……学校是公网IP,不封80端口。WTF?!好吧,一看还真是。MD,我这两天在搞什么事情。
然后直接解析域名到学校IP,路由器开个DMZ,就那么简单。唉,作死我,好气哟。

Webiopi - 通过网页控制GPIO

在树莓派上安装Webiopi,通过Web页面控制GPIO。

Webiopi

Webiopi(Web Internet Of RaspberryPi)。就是在树莓派上搭建一个Web页面,从而控制树莓派上的GPIO接口。比如说你可以远程点个LED啊,点个蜂鸣器啊。如果接个继电器,还可以点个电灯,点个空调。哇!我仿佛叩开了物联网(IOT)的大门。
webiopi

安装

  1. 安装python开发版

    1
    sudo apt-get install python-dev
  2. 安装GPIO
    python-gpio页面下载最新的python-gpio压缩包。
    gpio
    然后上传到树莓派。(可以通过宝塔面板或ftp上传)
    cd 到压缩包目录,解压缩,安装。

    !!! 代码中的版本改成你下载的版本。

    1
    2
    3
    4
    5
    tar -xvzf RRPi.GPIO-0.6.3.tar.gz

    cd WebIOPi-0.6.3

    sudo ./setup.sh
  3. 安装Webiopi
    webiopi项目官网下载最新的webiopi压缩包。
    webiopi
    同样上传到树莓派,解压缩,安装。
    `tar xvzf WebIOPi-0.7.1.tar.gz
    cd WebIOPi-0.7.1
    sudo ./setup.sh

    配置

    修改webiopi的默认密码。

    1
    sudo webiopi-passwd

输入默认用户名“webiopi”,然后输入你需要更改的密码两次。
启动webiopi。

1
sudo /etc/init.d/webiopi start

设置开机自动启动。

1
sudo update-rc.d webiopi defaults

运行

然后用浏览器打开页面 –> “http://192.168.31.23:8000/webiopi/”

!!! 地址换成你树莓派的地址,端口默认为“8000”。绑定了域名的树莓派也可以域名访问。


提示输入用户名密码。
1
2
默认用户名:webiopi
密码:刚你自己改的那个,不改默认是“webiopi”

然后看到以下界面就说明安装成功了。
安装成功
点第一项进入控制页面。其他几项也可以研究下,监控界面什么的。
控制页面

操作方法

  • 点击外侧的“IN/OUT”切换GPIO的工作模式,输入/输出
  • 输出模式下,点击内侧的数字,切换输出电平,高/低
  • 输入模式下,内测数字代表GPIO的输入状态

更换默认用户密码&启用Root超级用户

给树莓派默认用户“pi”更换默认密码,启用Root超级用户。
最近在折腾给树莓派接公网安装服务器跑脚本什么的,既然接到公网嘛,用树莓派默认用户密码肯定是不安全的,指不定什么时候给脚本小子H了。(嗯,多虑了,谁会在意我怎么个破盒子)
那么我们就把树莓派默认用户密码给换了吧,增加点安全性。顺便把Root超级用户也开了,方便整事儿。

更改默认密码

1
sudo passwd pi    #更换“pi”超级用户密码。

两次输入密码,回车,OK。

启用Root用户

1
sudo passwd root    #更换“root”超级用户密码。

两次输入密码,回车,OK。

1
sudo passwd --unlock root    #开启Root用户

BerryBoot - 通过WiFi连接VNC远程桌面

通过WiFi给BerryBoot添加VNC远程桌面。
BerryBoot可能有童鞋了解,是给树莓派安装多系统的引导程序。问题又来了,作为苦逼的大学党,没有显示器。(其实这次返校从家里带了只旧显示器的,燃鹅,等我安到墙上后才发现,显示器是坏的→_→)没办法,试试看能不能VNC,别说还真可以,不过国内好像还没这方面教程,我是狗狗来的。

教程

首先将安装BerryBoot的SD卡连接电脑,有个名为“boot”的FAT盘,打开它。
打开“cmdline.txt”文件,改成:

1
smsc95xx.turbo_mode=N elevator=deadline quiet bootmenutimeout=30 vncinstall ipv4=192.168.1.152/255.255.255.0/192.168.1.1/wlan0

PS. “cmdline.txt”源文件: elevator=deadline bootmenutimeout=10 datadev=mmcblk0p2
!!!注意 “192.168.1.152”改成你的树莓派IP “192.168.1.1”改成你的网关(路由器地址) “bootmenutimeout=30”是默认时间,长短随你
新建一个“wpa_supplicant.conf”文件,写入:

1
2
3
4
5
6
7
8
9
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="zhaoo" #ssid(wifi用户名)
psk="12345678" #password(wifi密码)
priority=1 #优先级
}

然后插回SD卡上电开机,看到绿灯一闪一闪说明树莓派连上WiFi了。
打开VNCViewer,输入树莓派IP地址连接,端口是5900(可不填写),默认无帐号密码。
!!!注意 色彩要改成24位真彩色,其他的显示不出。
berryboot-vnc
berryboot-vnc

宝塔面板

在树莓派上部署宝塔面板,搭建网站。

认识宝塔面板

宝塔面板官网
建站的朋友都熟悉宝塔面板吧,这是个好东西。宝塔面板可以理解为一个工具集,能一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换。试想一下,如果我们要在一个服务器上搭建一个动态网站,需要部署php、数据库……balabala一大堆,多麻烦。Linux技术不好的同学还老是遇到各种问题。(说我自己)而宝塔面板呢,只要简单部署一下,点点鼠标就解决了,还可以在任意服务间切换呢,什么时候网站被黑了出现大量并发,马上把Apache换成Nginx。
那么树莓派上部署这玩意儿有什么意义呢?哈!没意义!瞎折腾咯~且不说做网站这么好玩的事。拿来监控监控cpu和内存也是不错的。
cpu&内存监控

树莓派安装宝塔面板

树莓派jessie系统是基于debian开发的,所以可以完美套用debian系统安装命令。
jessie

1
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

一段代码搞定,easy吧。提示请输入“y”同意哦。等一会儿命令执行完的时候会返回宝塔面板默认用户名(admin)和密码(密匙),用这个用户名密码密码登陆宝塔面板,然后记得改下用户名密码。

ps. 地址:树莓派内网地址:8888 比如我是 192.168.31.23:8888


更改用户名密码

软件安装

这个也没什么好说的,到软件管理界面,点点鼠标,选择一个合适的版本安装就好了。
软件安装
说明一下,就树莓派这小心脏,很卡。可以要安装个把小时。建议准备咖啡和书,或是来一局惊心动魄的……王者农药。(说好的卸农药)

LNMPA拓展

大家都知道树莓派这么个小玩意儿虽说五脏俱全,但性能终归是有限。不停地跑宝塔面板,cpu发热严重。那我们来装一个轻量级包包吧–LNMP一键安装包。还有,宝塔面板只能LNMP或LAMP二选一,而LNMPA一键安装包可以融合以上两者灵活应对不同情况。不说了,给个链接自个儿了解吧。
LNMP一键安装包官网

PiDashboard - 安装树莓派专用仪表盘

给树莓派安装Pi-Dashboard仪表盘,监控运行状况。

Pi-Dashboard仪表盘

项目主页 GitHub
预览 (这是部署在我树莓派上的页面,如果能访问,说明我还在折腾)
之前介绍了一个宝塔面板,那是部署Web服务器用的。今天再介绍一个树莓派专用的仪表盘,用来显示树莓派的Cpu、内存、储存等信息。
目前已加入的监测项目有:摘自树莓派实验室

  • CPU 基本信息、状态和使用率等实时数据
  • 内存、缓存、SWAP分区使用的实时数据
  • SD卡(磁盘)的占用情况
  • 实时负载数据
  • 实施进程数据
  • 网络接口的实时数据
  • 树莓派IP、运行时间、操作系统、HOST 等基础信息
    树莓派仪表盘

    安装

    仪表盘是基于php编写的,所以我们只需搭建一个php环境即可。这里演示在宝塔面板部署 Php7.1 + Nginx1.8 (不需要MySQL)。可以参考前文。树莓派 – 部署宝塔面板
    动动鼠标安装 P + N 两款软件。
    php
    nginx
    然后新建网站。

    ps. 如果你绑定了域名,可以选择绑定域名。没有的话只能填写内网ip了,酱紫外网是访问不到的。

    新建网站
    然后去GitHub下载最新的程序,上传到树莓派,解压到网站根目录即可。
    上传
    然后访问域名或IP就可以查看效果了。

    个性化

    我们也可以改下前端代码,对仪表盘做个美化,比如可以看到我加了友情链接。不再赘述。
    个性化

在树莓派搭建Hexo博客

本地生成Hexo静态页面,上传到树莓派3。
本来想着在树莓派搭个LNMP环境,然后搭建Typecho动态博客。燃鹅,惊喜总是不断的。树莓派这小Cpu小内存,MySQL内存溢出装不上(即使装上了也卡的一批),难怪网友们都是装SQLite的。所以,我还是整个Hexo静态博客吧,鱼和熊掌得得兼。

Hexo

不太了解Hexo的朋友可以先预习下我的另一篇文章。
Hexo – 在GitHub搭建博客
本文不是说在树莓派上部署 Node.js + Hexo 环境,然后直接生成静态页面,我个人觉得这种方式还是会卡。所以我决定在本地部署 Node.js + Hexo 环境,然后生成静态页面,再上传到树莓派展示。酱紫实际上树莓派只是做为一个静态空间,并没有运行任何程序,内存占用几乎为0。

本地环境搭建(前编)

!!! 这部分是抄前文的,如果之前在本地已经部署过Hexo,可跳过。

ps. 以下操作在PC本地执行

安装Node.js

Node.js下载页面下载最新客户端,并安装。只需更改安装目录,其他选项都保持默认。

安装Hexo

打开CMD(当然GitBash也可以)

1
npm install -g hexo-cli

完成后输入

1
hexo

出现下图所示,说明安装成功。
Hexo安装成功

环境搭建(后编)

新建一个文件夹,cd到文件夹
安装Hexo:

1
npm i -g hexo

初始化Hexo:

1
hexo init

看下目录结构,和我一样就OK了。
目录结构
然后就是写文章,生成MaekDown,生成静态页面。balabala……不会的看我前文吧。

安装Nginx

ps. 以下操作在树莓派执行

刚是谁说不装任何软件来着 抱歉了哈。只是觉得Nginx跑静态页面更有优势,比如说在刚并发的情况下。(我真的想多了,流量有1 ip/day就谢天谢地了)
我们选择先装个宝塔面板,再安装Nginx。 传送门 –> 树莓派 – 部署宝塔面板
然后新建网站。

ps. 如果你绑定了域名,可以选择绑定域名。没有的话只能填写内网ip了,酱紫外网是访问不到的。


新建网站

上传静态页面到树莓派

生成静态页面:

1
hexo clean

1
hexo g

这时候,页面就存在“public”文件夹下了。把文件夹内的文件全部上传到树莓派上的网站目录即可。装了宝塔面板的话就可以直接上传压缩包,然后解压即可。
OK。浏览器输入域名或IP查看效果吧。
不得不说,这种纯静态博客是最适合我们小树莓派了。

zhaoo wechat
0%