未经本人同意禁止转载、印发。
本文涉及到的软件地址连接:
链接:https://pan.baidu.com/s/1HIfGp5Ghc2BWduS5R7Rvrg
提取码:qsa9
# 版本1:Ubuntu Server 20.04.1 LTS (LTS 是官方长期支持的版本)
https://ubuntu.com/download/raspberry-pi/thank-you?version=20.04.1&architecture=server-arm64+raspi
# 版本2:Ubuntu Desktop 20.10
https://ubuntu.com/download/raspberry-pi/thank-you?version=20.10&architecture=desktop-arm64+raspi
ubuntu-20.04.1-preinstalled-server-arm64+raspi.img
balenaEtcher
balenaEtcher
将上面解压 得到的 *-arm64+raspi.img
镜像文件烧写到SD卡中使用的连接软件:Xshell-6.0.0197p.exe
ssh连接到树莓派
用户名:ubuntu
密码:ubuntu
修改密码,重新连接
# 备份镜像源
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑镜像源文件
sudo vim /etc/apt/sources.list
# 添加以下的行,这个源是用在ARM板上的,支持arm64
sudo touch /etc/apt/sources.list
sudo tee /etc/apt/sources.list <<-'EOF'
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic main multiverse restricted universe
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main multiverse restricted universe
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic main multiverse restricted universe
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main multiverse restricted universe
EOF
# 更新系统源
sudo apt update
# 如果报错的话 It is held by process 2775 (apt-get)
sudo kill -9 2775
# 进行更新
sudo apt upgrade -yapt install
# 修改主机名
sudo vim /etc/cloud/cloud.cfg
# 里面将preserve_hostname设置为true
# 在里面修改主机名
sudo vim /etc/hostname
# 修改时区和更新时间
sudo timedatectl set-timezone Asia/Shanghai
# 再次查看时间,已经修改为北京时间(Fri, 24 Apr 2020 00:27:10 +0800)
date -R
# 新建文件夹
mkdir ~/.pip
sudo vim ~/.pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
[list]
format=columns
# 安装pip3
sudo apt install python3-pip -y
# 观察是否正常
pip3 list
# 查看自己的外接硬盘的盘符
sudo fdisk -l
Device Start End Sectors Size Type
/dev/sda1 2048 1953523711 1953521664 931.5G Linux filesystem
sudo vim /etc/fstab
# 最下面加上
/dev/sda1 /mnt ext4 defaults 0 0
sudo mount -a
# 没有提示说明正确
# 然后进行挂载
sudo mount /dev/sda1 /mnt
# 然后访问/mnt
cd /mnt
#外接硬盘就被挂载到/mnt下
# 系统cpu运行
top
# 显示cpu温度
cat /sys/class/thermal/thermal_zone0/temp|awk '{printf("Temp = %.2f C\n",$1/1000)}'
# 到这一步基本的工作都弄完了,重启一下树莓派
sudo reboot
docker-ce
、docker-ce-cli
、 containerd.io
最新的安装包
https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/
# 安装三个deb文件
sudo dpkg -i ./docker-ce-cli_20.10.2_3-0_ubuntu-bionic_arm64.deb
sudo dpkg -i ./containerd.io_1.4.3-1_arm64.deb
sudo dpkg -i ./docker-ce_20.10.2_3-0_ubuntu-bionic_arm64.deb
# 进行测试
sudo docker run hello-world
#配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fvp17nw5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 下载 Docker 图形化界面 portainer
sudo docker pull portainer/portainer
# 创建 portainer 容器
sudo docker volume create portainer_data
# 运行 portainer
sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
# portainer 使用地址
# 浏览器打开 http://你的树莓派的ip地址:9000/
# 例如:http://192.168.31.184:9000/
http://192.168.31.184:9000/
,里面可以处理大部分docker的事情# 有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动
# 修改docker容器启动配置参数
sudo docker container update --restart=always 容器名称
# 往docker容器里面上传文件
sudo docker cp /path/file 容器名称:/path_to_save
# 查看运行的容器
sudo docker ps
# 查看下载的镜像
sudo docker images
# 暂停 container
sudo docker stop 容器名称
# 删除容器 填容器id
sudo docker rm 容器id
# 删除镜像 填镜像id
sudo docker rmi 镜像id
https://hub.docker.com/_/mysql
sudo docker pull mysql:5.7.33
# -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
# 设置 MySQL 服务 root 用户的密码 MYSQL_ROOT_PASSWORD=wp123456
sudo docker run --restart unless-stopped -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=wp123456 mysql:5.7.33
#进入容器
sudo docker exec -it mysql bash
#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'wp123456';
#添加远程登录用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
exit;
# 退出mysql容器
exit
https://hub.docker.com/_/nextcloud
默认情况下,docker 安装 nextcloud 使用SQLite进行数据存储,但是Nextcloud设置向导(首次运行时显示)允许连接到现有的MySQL /
MariaDB或PostgreSQL数据库。您还可以链接数据库容器(例如)–link my-mysql:mysql,然后mysql在安装时用作数据库主机。更多信息在docker-compose部分。
# 拉取 nextcloud 镜像
sudo docker pull nextcloud:latest
# 新建一个文件夹,用于存放文件,这里我存放上面挂载的/mnt目录下
cd /mnt
sudo mkdir nextcloud
cd nextcloud/
sudo mkdir nextcloud apps config data theme
# 下面的目录要改
sudo docker run -d -p 81:80 --restart unless-stopped -v /mnt/nextcloud/nextcloud:/var/www/html -v /mnt/nextcloud/apps:/var/www/html/custom_apps -v /mnt/nextcloud/config:/var/www/html/config -v /mnt/nextcloud/data:/var/www/html/data nextcloud
# 其中 -p 8080:80 指定一个外部端口 8080,这里是指定外部端口80
打开浏览器输入
http://你的树莓派的ip地址:81/
http://192.168.31.184:81/
输入需要创建的管理员和密码
存储与数据库里面 只需要修改配置数据库里面的内容,其他不用改。
大概 5mins
# 安装完成以后修复索引
# 进入容器
sudo docker exec -u 33 -it objective_bardeen bash
./occ db:add-missing-indices
exit
# nextcloud 使用地址
# 浏览器打开 http://你的树莓派的ip地址:81/
# 例如:http://192.168.31.184:81/
# 直接在网页里面安装可能很慢
# 通过浏览器直接访问 App Store 页面
# 页面地址为 https://apps.nextcloud.com/
# 根据nextcloud的版本选择下载压缩包,压缩包的文件名后缀一般为.tar.gz
# 往docker容器里面上传文件
sudo docker cp /path/registration-0.5.1.tar.gz my-wordpress:/var/www/html/apps
# 进入容器里面
sudo docker exec -it angry_proskuriakova bash
cd /var/www/html/apps
tar -zvxf registration-0.5.1.tar.gz
# 使用管理员账号或具有管理权限的账号登录系统,找到插件管理页面,选择启用插件即可
# 设置电子邮件服务器:(qq邮箱如下图所示)
# 邮件服务器密码(需要去qq邮箱里面自己获取):zpsgpwyltntabthd
# 进入容器里面
sudo docker exec -it angry_proskuriakova bash
# 下载vim工具
apt update
apt install vim
# 进行修改配置文件
vim config/config.php
# 找到’trusted_domains’
# 在 array 里添加需要信任的网站(即为私有云主机的ip或者域名或者映射的外网ip)
https://hub.docker.com/r/p3terx/aria2-pro
https://hub.docker.com/r/p3terx/ariang
# 拉取 aria2 镜像
sudo docker pull p3terx/aria2-pro
# 拉取网页ui镜像
sudo docker pull p3terx/ariang
# 新建一个文件夹,用于存放文件,这里我存放上面挂载的/mnt目录下
cd /mnt
sudo mkdir aria2
cd aria2/
sudo mkdir aria2-config aria2-downloads
# 运行 aria2 服务
# 下面命令中的 RPC_SECRET=wp123456 可以自己指定 例如 RPC_SECRET=qq123456,需要记住
sudo docker run -d --name aria2-pro --restart unless-stopped --log-opt max-size=1m -e PUID=$UID -e PGID=$GID -e UMASK_SET=022 -e RPC_SECRET=wp123456 -e RPC_PORT=6800 -p 6800:6800 -e LISTEN_PORT=6888 -p 6888:6888 -p 6888:6888/udp -v /mnt/aria2/aria2-config:/config -v /mnt/aria2/aria2-downloads:/downloads p3terx/aria2-pro
# 运行 webui 服务
sudo docker run -d --name ariang --log-opt max-size=1m --restart unless-stopped -p 6880:6880 p3terx/ariang
# 浏览器打开 http://你的树莓派的ip地址:6880/
# 例如:http://192.168.31.184:6880/
# 将刚刚的 RPC_SECRET 等号后面的 wp123456 填入
# AriaNg 设置 -> RPC (192.168.31.184:6800) -> Aria2 RPC 密钥 里面
# 刷新页面,至此安装完成
# aria2 下载器 使用地址
# 浏览器打开 http://你的树莓派的ip地址:6880/
# 例如:http://192.168.31.184:6880/
https://hub.docker.com/r/dperson/samba
# 拉取镜像
sudo docker pull dperson/samba
# 新建一个文件夹,用于存放文件,这里我存放上面挂载的/mnt目录下
# 启动镜像
# -u "user:passwd" 连接时的账号和密码,多用户就多 -u
# -v /mnt:/mount 冒号左边填的是你想要共享的目录地址,右边不要动
sudo docker run -it --name samba --restart unless-stopped -m 512m -p 139:139 -p 445:445 -v /mnt:/mount -d dperson/samba -u "wp;wp" -g "aio read size = 0" -g "aio write size = 0" -s "shared;/mount/;yes;no;yes;all;wp"
# windows电脑,进入文件管理器,右击此电脑-> 添加网路位址
# windows电脑,进入文件管理器,右击此电脑-> 映射网络驱动器(N)...
# 输入 \\192.168.31.184\shared -> 完成
# 可能需要输入上面的账号密码 -> 记住密码,确定
https://hub.docker.com/_/wordpress
# 拉取 wordpress 镜像
sudo docker pull wordpress
# WORDPRESS_DB_HOST 是mysql地址和端口
# WORDPRESS_DB_USER 是mysql用户名
# WORDPRESS_DB_PASSWORD 是 mysql 密码
# WORDPRESS_DB_NAME 是数据库的名称,这里填 wordpress_db
sudo docker run --name my-wordpress --restart unless-stopped -e WORDPRESS_DB_HOST=192.168.31.184:3306 -e WORDPRESS_DB_USER=mysql_用户 -e WORDPRESS_DB_PASSWORD=mysql_密码 -e WORDPRESS_DB_NAME=wordpress_db -p 80:80 -d wordpress
# 往docker容器里面上传文件
sudo docker cp /home/ubuntu/software/mailoptin.1.2.34.2.zip my-wordpress:/var/www/html/wp-content/plugins
# 进入容器里面
sudo docker exec -it my-wordpress bash
# 下载解压工具
apt update
apt install unzip
# 把zip包复制到/wp-content/plugins文件夹下,解压
cd /var/www/html/wp-content/plugins
unzip mailoptin.1.2.34.2.zip
# 增加权限
chmod 775 ../../wp-content
# 然后在web界面就能看到了,启用,配置一下,enjoy
https://wordpress.org/plugins/contact-form-7/
https://downloads.wordpress.org/plugin/contact-form-7.5.3.2.zip
https://wordpress.org/plugins/wp-smushit/
https://downloads.wordpress.org/plugin/wp-smushit.3.8.2.zip
https://wordpress.org/plugins/wp-mail-smtp/
https://downloads.wordpress.org/plugin/wp-mail-smtp.2.5.1.zip
https://wordpress.org/plugins/wp-user-avatar/
https://downloads.wordpress.org/plugin/wp-user-avatar.2.2.9.zip
https://wordpress.org/plugins/wordpress-seo/
https://downloads.wordpress.org/plugin/wordpress-seo.15.6.2.zip
# 解决这个问题,进数据库修改相关数据即可
# 操作如下:
mysql -u root -p
# 然后输入密码
# 显示所有数据库
show databases;
# 选中你自己网站对应的数据库
use wordpress_db;
# 显示该数据库所有表格
show tables;
# 查看数据库前10条记录
select * from wp_options where 1=1 limit 10;
# 例如:
update wp_options set option_value='http://192.168.31.126/wordpress' where option_name='siteurl';
update wp_options set option_value='http://192.168.31.126' where option_name='home';
# 再次的查看修改后的
# 查看数据库前10条记录
select * from wp_options where 1=1 limit 10;
# 退出 mysql
quit;
https://hub.docker.com/r/adguard/adguardhome
mkdir ~/adguardhome
mkdir ~/adguardhome/work
mkdir ~/adguardhome/conf
cd ~
# 创建 macvlan 网络
# 如果你的路由器的地址为 192.168.31.1 (小米路由器 miwifi.com 也是这个)
# 则设置为下面的--subnet=192.168.31.0/24 --gateway=192.168.31.1
# 否则的话只改下面的两个点之间的数字31
sudo docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=eth0 adguardhome_net
# 新建镜像
# 下面的 --ip 192.168.31.253 必须是没有被使用的 ip
sudo docker run -d --name adguardhome --restart unless-stopped --log-opt max-size=1m --network adguardhome_net --ip 192.168.31.253 -v $PWD/adguardhome/work:/opt/adguardhome/work -v $PWD/adguardhome/conf:/opt/adguardhome/conf adguard/adguardhome
# AdGuard Home 使用地址
# 浏览器打开 http://上面网卡的ip:8096/
# 例如:http://192.168.31.253:3000
tls://dns.pub
https://dns.pub/dns-query
tls://dns.alidns.com
https://dns.alidns.com/dns-query
119.29.29.29
223.5.5.5
9.9.9.10
149.112.112.10
2620:fe::10
2620:fe::fe:10
anti-AD
https://anti-ad.net/easylist.txt
adaway
https://adaway.org/hosts.txt
halflife_mobile
https://gitee.com/halflife/list/raw/master/ad.txt
halflife_pc
https://gitee.com/halflife/list/raw/master/ad-pc.txt
https://hub.docker.com/r/oznu/homebridge
cd ~
mkdir homebridge
# PGID 和 PUID 使用下面的命令查看 id user
id ubuntu
# 有时在使用数据量(-v标志)时,主机OS和容器之间可能会出现权限问题。我们通过允许您指定用户PUID和组来避免此问题PGID。确保主机上的数据卷目录归您指定的同一用户所有,并且它将“正常工作”。
sudo docker run -itd --net=host -e PGID=1000 -e PUID=1000 -e HOMEBRIDGE_CONFIG_UI=1 -e HOMEBRIDGE_CONFIG_UI_PORT=8581 -e TZ=Asia/Shanghai --name=homebridge -v $(pwd)/homebridge:/homebridge oznu/homebridge:ubuntu
# 要管理Homebridge,浏览器打开 http://树莓派ip地址:8581
# 例如,http://192.168.1.20:8581
# 在这里,您可以安装,删除和更新插件,修改Homebridge config.json并重新启动Homebridge。
# 默认用户名是admin,默认密码是admin
https://hub.docker.com/r/jellyfin/jellyfin
# 创建存放的文件夹
sudo mkdir /mnt/jellyfin/
sudo mkdir /mnt/jellyfin/config
sudo mkdir /mnt/jellyfin/cache
sudo mkdir /mnt/media
sudo mkdir /mnt/media/movie
sudo docker volume create jellyfin-config
sudo docker volume create jellyfin-cache
# 下面的目录就是上面创建的目录
sudo docker run -d --name jellyfin --user 0 --net=host --volume /mnt/jellyfin/config:/config --volume /mnt/jellyfin/cache:/cache --mount type=bind,source=/mnt/media,target=/media --restart=unless-stopped jellyfin/jellyfin
# jellyfin 使用地址
# 浏览器打开 http://你的树莓派的ip地址:8096/
# 例如:http://192.168.31.184:8096
https://mlapp.cn/376.html
,这里只是截取,可以去这个地址查看完整的教程# 1.打开网卡混杂模式
sudo ip link set eth0 promisc on
# 2.创建网络(须结合实际网络情况,不能照抄命令)
# 如果上面已经安装过 AdGuard Home ,就不要执行下面的这一条。如果没有安装的话,就执行下面的这一条。
# sudo docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=eth0 openwrt_net
# 看到网络macnet已建立成功
sudo docker network ls
# 拉取镜像
sudo docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest
# 镜像拉取完成后,我们可以执行docker images命令查看现存镜像:
sudo docker images
# 4.创建并启动容器
# 下面的这个 --network openwrt_net
# 如果已经安装过 AdGuard Home ,就变成这个--network adguardhome_net
sudo docker run --restart unless-stopped --name openwrt -d --network openwrt_net --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest /sbin/init
# 启动容器后,我们可以使用 docker ps -a命令查看当前运行的容器:
sudo docker ps -a
# 5.进入容器并修改相关参数(须结合实际网络情况,不能照抄配置)
sudo docker exec -it openwrt bash
# 执行此命令后我们便进入 OpenWrt 的命令行界面,首先,我们需要编辑 OpenWrt 的网络配置文件:
vim /etc/config/network
# 我们需要更改 Lan 口设置:
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.123.100'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.123.1'
option broadcast '192.168.123.255'
option dns '192.168.123.1'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.2.100'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.2.1'
option broadcast '192.168.2.255'
option dns '192.168.2.1'
# 6.重启网络
/etc/init.d/network restart
# 7.进入控制面板
# 在浏览器中输入第 5 步option ipaddr 项目中的 IP 进入 Luci 控制面板,若option ipaddr 的参数为 192.168.123.100,则可以在浏览器输入 http://192.168.123.100进入控制面板。
#用户名:root
#密码:password
#8.关闭 DHCP 服务
# 在 “网络 - 接口 - Lan - 修改” 界面中,勾选下方的 “忽略此接口(不在此接口提供 DHCP 服务)”,并“保存&应用”。
# 9.主路由 DHCP 设置
# 进入路由器后台中,将主路由的 DHCP 的默认网关和 DNS 服务器设置为第 5 步中option ipaddr 项目中的 IP。
# 10.重新连接路由器
# 完成以上操作后,断开设备(如手机,电脑)与路由器的连接,重新连接路由器,连接路由器的设备将获取到我们设置到的 IP。
https://hub.docker.com/r/linuxserver/plex
https://www.plex.tv/media-server-downloads/?lang=
# 上传 文件/plexmediaserver_1.20.5.3600-47c0d9038_arm64.deb
sudo dpkg -i ./plexmediaserver_1.20.5.3600-47c0d9038_arm64.deb
# 要验证Plex服务是否正在运行,请输入
sudo systemctl status plexmediaserver
# 在启动Plex设置向导之前,让我们创建用于存储Plex媒体文件的目录
# 需要挂载一个硬盘,不然可能电影视频存放的空间可能不足
# 可以选择任何位置来存储媒体文件,只需确保设置了正确的权限即可
# 先进行挂载硬盘
cd /mnt
# 创建文件夹
sudo mkdir plex-media-server-file
sudo mkdir -p /mnt/plex-media-server-file/{
movie,tv,music,photo,other}
# Plex Media Server作为用户plex运行,该用户plex必须具有对媒体文件和目录的读取和执行权限。
# 要设置正确的所有权,请运行以下命令
sudo chown -R plex: /mnt/plex-media-server-file
# 现在,我们可以继续进行服务器配置
# 浏览器打开 http://你的树莓派的ip地址:32400/web
# 例如:http://192.168.31.126:32400/web
mkdir ~/frps
vim ~/frps/frps.ini
[common]
bind_port = 7000
dashboard_port = 7500
token = your_token
dashboard_user = your_user
dashboard_pwd = your_pwd
vhost_http_port = 10080
vhost_https_port = 10443
docker run --restart unless-stopped --network host -d -v /root/frps/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
# 创建存放的文件夹
mkdir ~/frp
# 修改 frpc.ini 配置
vim ~/frp/frpc.ini
# 下面的 server_addr 填你服务器的公网ip
# 下面的 token 填你刚刚需要记住的 yourToken
[common]
server_addr = your_VPS_ip
server_port = 7000
token = your_token
[web_80]
type = tcp
local_ip = 192.168.31.184
local_port = 80
remote_port = 80
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7022
[Portainer]
type = tcp
local_ip = 192.168.31.184
local_port = 9000
remote_port = 7900
[Homebridge]
type = tcp
local_ip = 192.168.31.184
local_port = 8581
remote_port = 8581
# 修改保存后
# 拉取docker镜像
sudo docker pull snowdreamtech/frpc
# 修改下面的连接地址 -v /home/ubuntu/frp/frpc.ini:/etc/frp/frpc.ini 前面是你树莓派的frpc.ini文件路径。后面不用改
sudo docker run --restart unless-stopped --network host -d -v /home/ubuntu/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
# 此时 frpc 会在docker容器里面运行,并且是开机自动启动的
[xxx]
表示一个规则名称,自己定义,便于查询即可。type
表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。local_port
是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。remote_port
是该条规则在服务端开放的端口号,自己填写并记录即可。remote_port
是服务器端需要在控制台设置弹性网卡,让 remote_port 端口
可以访问# 修改 frpc.ini 配置
vim ~/frp/frpc.ini
# 重新启动docker容器就行了
http://服务器公网ip地址:remote_port
去访问你已经开启的服务# 上传 文件/bcm2835-1.63.tar.gz
tar -zxvf bcm2835-1.63.tar.gz
cd bcm2835-1.63/
# 安装GCC
sudo apt-get install gcc -y
# 安装编译文件的工具make
sudo apt install make
sudo ./configure
# 进行编译
sudo make
sudo make check
# 安装编译好的驱动
sudo make install
# 上传 文件/wiringPi-8d188fa.tar.gz
tar xfz wiringPi-8d188fa.tar.gz
cd wiringPi-8d188fa/
sudo ./build
# 检查gpio是否安装成功
gpio -v
# 安装i2c-tools工具
sudo apt-get install i2c-tools -y
# 检查oled是否插到树莓派上
sudo i2cdetect -y 1
# 切换root用户
sudo su
# 回到root目录
cd ~
mkdir download
mkdir oled
# 切换python的国内源,下载速度快
mkdir ~/.pip
cd ~/.pip
sudo vim pip.conf
'''
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
[list]
format=columns
'''
cd ~/download
# 里面有相应的脚本例子:
# 上传 文件/Adafruit_Python_SSD1306.tar.gz
tar -zxvf Adafruit_Python_SSD1306.tar.gz
# 将例子里面的文件复制到root用户的oled目录下
cp ~/download/Adafruit_Python_SSD1306/examples/stats.py /root/oled/
# 安装pip工具
apt install python-pip -y
# 安装相应的库文件
pip install Adafruit_GPIO Adafruit_SSD1306 RPi.GPIO
# 安装PIL库
apt-get install python-pil -y
# 后台运行控制oled显示的py文件
cd /root/oled
python stats.py &
# 成功点亮oled,显示了ip地址和其他信息
vim /lib/systemd/system/rc-local.service
# 在最下面添加:
'''
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
'''
# system默认读取/etc/systemd/system下配置文件,需要在/etc/systemd/system目录下创建软链接:
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
vim /etc/rc.local
# 写入下面的内容
'''
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# 第一个是Python的目录 第二个是py文件所在的目录和文件 第三个是后台启动
/usr/bin/python /root/oled/stats.py &
exit 0
'''
# 给 rc.local 加上权限,启用服务
chmod 755 /etc/rc.local
systemctl enable rc-local
# 启动服务并检查状态
systemctl start rc-local.service
systemctl status rc-local.service
# 更新系统的其他软件
apt upgrade -y
# 重启
reboot
# 观察进程:
ps -aux|grep 'stats.py'
# 已经成功开机启动