树莓派 - 安装配置汇总

树莓派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目录

写入以下代码:

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的用户名和密码。默认密码如下:

用户名: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

VNC

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

树莓派端安装vnc服务端

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

敲入以下代码:

sudo apt-get install tightvncserver    #安装vnc服务端
vncpasswd    #设置vnc连接密码

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

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

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

#!/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文件加执行权限,并更新开机启动列表。

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

OK!树莓派端折腾完毕。

PC端安装VNC客户端

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

RealVnc

连接VNC

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

vnc设置

vnc连接

输入密码

OK!连接成功!

连接成功

汉化

树莓派默认使用英文,对于我这种英语渣,就难以驾驭了。本文将介绍如何汉化树莓派。

树莓派默认没装中文字库,如果强行更改语言为“中文”的话,会显示乱码或方块文。

所以我们要先安装一个第三方字库。

sudo apt-get install ttf-wqy-zenhei

按“y”同意,并回车继续。

然后我们再安装一个中文输入法。

sudo apt-get install scim-pinyin

同样按“y”同意,并回车继续。

安装完毕后我们要设置中文显示。

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”,回车保存。

重启一下。

sudo shutdown -r now

重启后显示中文了,按“ctrl + space”还可以切换中文输入法。

显示中文

OK!中文是全世界最美(keng)的语言!

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

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

首先我们要卸载“变异版vim”。

sudo apt-get remove vim-common

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

sudo apt-get install vim

按“y”同意并回车,“vim”就安装好了。

“vim”具体的使用命令可以问问度娘。

接下来我们还需要配置代码高亮显示,嘛,必备的。

在~目录下面新建”.vimrc”文件。

pi@raspberrypi ~ $ cd ~
pi@raspberrypi ~ $ vim .vimrc

set number
syntax on
set tabstop=4

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

更换为国内更新源

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

更新-2017.10.04

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

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

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

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

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

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

更换阿里云源

这里我们以阿里云源为例说明如何更换更新源。

编辑“/etc/apt/sources.list”文件,将原来的源加“#”注释掉,再将以下阿里云源粘贴即可。

sudo nano /etc/apt/sources.list   #编辑“sources.list”文件
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”。

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

更新系统和源

国内源列表

中国科学技术大学
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开发版
sudo apt-get install python-dev
  1. 安装GPIO

python-gpio页面下载最新的python-gpio压缩包。

gpio

然后上传到树莓派。(可以通过宝塔面板或ftp上传)

cd 到压缩包目录,解压缩,安装。

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

tar -xvzf RRPi.GPIO-0.6.3.tar.gz

cd WebIOPi-0.6.3

sudo ./setup.sh
  1. 安装Webiopi

webiopi项目官网下载最新的webiopi压缩包。

webiopi

同样上传到树莓派,解压缩,安装。

tar xvzf WebIOPi-0.7.1.tar.gz
cd WebIOPi-0.7.1
sudo ./setup.sh

配置

修改webiopi的默认密码。

sudo webiopi-passwd

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

启动webiopi。

sudo /etc/init.d/webiopi start

设置开机自动启动。

sudo update-rc.d webiopi defaults

运行

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

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

提示输入用户名密码。

默认用户名:webiopi
密码:刚你自己改的那个,不改默认是“webiopi”

然后看到以下界面就说明安装成功了。

安装成功

点第一项进入控制页面。其他几项也可以研究下,监控界面什么的。

控制页面

操作方法

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

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

给树莓派默认用户“pi”更换默认密码,启用Root超级用户。

最近在折腾给树莓派接公网安装服务器跑脚本什么的,既然接到公网嘛,用树莓派默认用户密码肯定是不安全的,指不定什么时候给脚本小子H了。(嗯,多虑了,谁会在意我怎么个破盒子)

那么我们就把树莓派默认用户密码给换了吧,增加点安全性。顺便把Root超级用户也开了,方便整事儿。

更改默认密码

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

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

启用Root用户

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

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

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

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

通过WiFi给BerryBoot添加VNC远程桌面。

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

教程

首先将安装BerryBoot的SD卡连接电脑,有个名为“boot”的FAT盘,打开它。

打开“cmdline.txt”文件,改成:

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”文件,写入:

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

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也可以)

npm install -g hexo-cli

完成后输入

hexo

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

Hexo安装成功

环境搭建(后编)

新建一个文件夹,cd到文件夹

安装Hexo:

npm i -g hexo

初始化Hexo:

hexo init

看下目录结构,和我一样就OK了。

目录结构

然后就是写文章,生成MaekDown,生成静态页面。balabala……不会的看我前文吧。

安装Nginx

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

刚是谁说不装任何软件来着 抱歉了哈。只是觉得Nginx跑静态页面更有优势,比如说在刚并发的情况下。(我真的想多了,流量有1 ip/day就谢天谢地了)

我们选择先装个宝塔面板,再安装Nginx。 传送门 –> 树莓派 – 部署宝塔面板

然后新建网站。

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

新建网站

上传静态页面到树莓派

生成静态页面:

hexo clean
hexo g

这时候,页面就存在“public”文件夹下了。把文件夹内的文件全部上传到树莓派上的网站目录即可。装了宝塔面板的话就可以直接上传压缩包,然后解压即可。

OK。浏览器输入域名或IP查看效果吧。

不得不说,这种纯静态博客是最适合我们小树莓派了。

查看评论