6月份的时候挖了个坑,说搞个树莓派折腾教程,找了一堆资源,结合自己之前的笔记,搞了个小总结,可是转移到博客实在是麻烦,好多图需要上传,就搁置了下来。现在树莓派4各个版本都有现货了,似乎到我填坑的时候了。本文总结了我自己折腾树莓派的一些经验和笔记,经过一番折腾,树莓派可以实现局域网下的SMB服务器共享视频播放,同时可以实现离线下载bt任务,配合内网穿透,即使不在家,也可以随时访问树莓派添加离线下载任务,服务器带宽足的话,也是可以远程播放树莓派上的视频的。大部分在网上都是能找到的,先在前面把各个部分用到的软件说一下,不按照此教程,自己去搜相关资料也完全可以。
主要分为:

  • 系统安装
  • 开启root用户登录
  • 挂载NTFS硬盘
  • SMB服务的安装和配置
  • BT下载服务的安装和配置
  • 内网穿透frp服务的安装和配置
  • 开机自启和定时任务

如使用中遇到问题或文中有错误,请联系邮件联系我admin@xuchaoji.com
!!!

<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-7501649072986646"
data-ad-slot="9157116169">

!!!

一、树莓派的简介

1.1树莓派的历史与发展 (废话部分,已删减99.5%内容)

树莓派(英语:Raspberry Pi),是一款基于Linux的单片机计算机。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。[1-5]

1.2 树莓派的硬件配置

最初销售的树莓派是B型,计划2013年早些时候推出A型。A型有一个USB接口,并没有以太网控制器,成本将小于B型(有两个USB端口和一个10/100以太网控制器)。
1.1.png

!!!

图1.1 B型的模块框图;A型没有最下面的两个模块 (Ethernet实际上是接在USB HUB上的网卡)

!!!

在2012年9月5日,修订版2.0的板子被公布,有一些较小的修正和改进。14
在2012年10月15日,树莓派基金会宣布所有新的树莓派的B型将配有512MB RAM芯片,而不是256MB。15

1.2.1主要接口

树莓派提供了丰富的扩展接口:USB、HDMI、GPIO等,图1.2为树莓派B型的示意图。
1.2.png

!!!

图1.2 树莓派B型硬件示意图

!!!

1.2.2 GPIO引脚

通用IO口 (General-Purpose IO ports, GPIO) 利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO能够提供额外的控制和监视功能。
1.3piFamily.jpg

!!!

图1.3 历代树莓派[16]

!!!

通过上文的全家福,你可以很容易找出手里的Raspberry Pi 对应的GPIO接口参数表。常见的 Raspberry Pi 接口数量分为两种一种26针,一种40针,根据自己手里的 Pi 即可。通过GPIO引脚,可以实现各种硬件的扩展,如温控风扇、智能小车等。
1.3PiGPIO.png

!!!

图1.4 树莓派GPIO引脚

!!!

1.3 操作系统

树莓派主要使用以Linux內核的操作系统,当前 Raspbian 是 Raspberry Pi 所有型号的官方操作系统,此外还有Ubuntu、Windows 10 IOT 等第三方系统。

1.3.1 OS与Raspberry Pi各型号关系

树莓派1搭载了基于ARMv6架构的ARM11芯片。当前的几个流行的Linux版本,包括Ubuntu在内,均不能在ARM11上运行,Windows无法在未改装的树莓派上运行。 树莓派2当前只支持Ubuntu Snappy Core、Raspbian、OpenELEC和RISC OS,树莓派2和3已经可以运行"Windows 10 物联网核心版",同时树莓派3已经可以运行Windows 10 ARM版本。 2017年4月11日,Windows 10 IoT Core Creators Update 正式支持树莓派 3 平台。

1.3.2 Raspberry Pi官方OS

Raspbian是官方指定 OS,它基于 Debian 的 ARM hard-float (armhf) 架构接口,最初是为 ARMv7 和更高级版本的处理器设计 (with Jazelle RCT/ThumbEE, VFPv3, and NEON SIMD extensions), 但也可以编译为有限制ARMv6指令集用于树莓派1。 树莓派社区提供的Raspbian 镜像最少需要4G的SD 卡。设有一个用来分享程序用的 Pi Store(已于2016年2月1日停止服务).
Raspbian Server Edition是一个独立版本,与通常的面向台式计算机的Raspbian相比,捆绑的软件包更少。
Raspbian for Robots是一个搭配LEGO,Grove,和Arduino做机器人专题用的Raspbian分支。

1.3.3 NOOBS

NOOBS是树莓派官方OS安装管理器,在安装NOOBS后于引导时,可选择OS引导,它包含以下OS:

  • Raspbian
  • LibreELEC

此外,树莓派还支持:Ubuntu MATE、Ubuntu Core、Ubuntu Server、Windows 10 IoTCore、OSMC、LibreELEC、PiNet、RISC OS、Weather Station、IchigoJam RPi等第三方操作系统,一般使用中,使用官方提供的Raspbian即可,相关教程和软件也比较多。安装系统将放在后面进行介绍。

二、系统的安装和基本操作

经过第一章没什么卵用的大段科普你绝对没看完,相信你已经对树莓派有了全面的认识才怪。下面,让我们正式开始折腾的脚步吧,从安装系统到常用的基本操作,本章将进行全面的介绍。

2.1 安装Raspbian

树莓派的系统安装有多种方法,这里介绍个人认为最简单的一种。安装过程主要分为三步:下载系统、写入TF卡,TF卡插入树莓派开机。

2.1.1 下载Raspbian

树莓派系统下载页面:https://www.raspberrypi.org/downloads/
打开后如页面如下:
2.1downloadOS.png
!!!

图2.1 树莓派系统下载页面

!!!

选择Raspbian,进入Raspbian下载页面:
2.2downloadOS.png
!!!

图2.2 Raspbian下载页面

!!!
这里的三个均是Raspbian,页面上显示的是当前最新的Raspbian版本,这里是Buster。其中Raspbian Buster with desktop and recommended software 是带桌面和一些预装软件的系统,Raspbian Bluster with desktop是预装了桌面的系统,Raspbian Bluster Lite 是精简版无桌面的Raspbian系统。根据自己的需求和水平选择,建议直接选择Raspbian Buster with desktop and recommended software,功能比较全,精简版其实也节省不了多少空间和性能,还经常面临常用命令都需要先安装才能继续使用的尴尬情况(如常用的vim 命令,在Raspbian Buster Lite 中就没有,只有vi)。

2.1.2 将raspbian写入TF卡

准备一张不小于4GB的C10规格的TF卡和读卡器。
Etcher是一种图形化写入工具,适用于Mac OS,Linux和Windows,树莓派写入镜像目前最简单的工具就是Etcher。 Etcher还支持直接从zip文件中写入图像,无需任何解压缩。这里我们使用Etcher将系统镜像写入TF卡:

  • 从etcher.io下载Windows安装程序
  • 运行Etcher并选择解压缩的Raspbian镜像文件
  • 选择TF卡驱动器
  • 最后,单击刻录将Raspbian镜像写入TF卡您将看到一个进度条。
  • 完成后,该程序将自动卸载TF卡,以便可以安全地将其从计算机中删除。

进行完以上的操作就完成了树莓派的系统写入,将TF卡插入树莓派,接上鼠标键盘显示器,就可以开机了。不过,你可能(肯定)没有给树莓派单独准备显示器和鼠标键盘,因此我们需要将Raspbian的SSH服务打开以便远程操作。将写入过Raspbian的TF卡插在电脑上,这时候可能会提示格式化,点取消(否则刚写入的系统就被格式化了)。电脑会识别出一个boot分区和一个在windows下不能正常打开的分区,如图2.3所示。
2.3Boot.png
!!!

图2.3 写入Raspbian镜像后的TF卡

!!!

打开boot分区,在根目录下新建一个名为”SSH”或者”SSH.txt”的文件(否则树莓派开机不会启动ssh服务,只能连接显示器和鼠标键盘使用)。这时候将TF卡插入树莓派,用网线连接到路由器,通电开机。在路由器后台查看新增加的树莓派IP。

2.1.3 使用SSH客户端连接到树莓派

常用的SSH客户端有Xshell,putty等,在这里我就不推荐用哪个了,自己喜欢哪个用哪个,哪怕是使用win10的Linux子系统的bash都一样能连接到树莓派,用起来差别不大。网上盗来的图,通过putty连接树莓派:
打开PuTTY工具,输入在路由器后台查到的IP,端口默认为22,如图,确定无误后点击 open。
2.4putty.png
!!!

putty连接树莓派

!!!

连接成功后界面如下:

2.5puttyShell.png
!!!

图2.5 putty下的shell界面

!!!
默认用户pi,默认密码raspberry。

2.1.4 使用root登录

为了安全起见,通过成功连接树莓派shell后先使用passwd命令修改密码:
2.6passwd.png

!!!

图2.6 修改用户pi的密码

!!!

输入密码回车,再确认密码回车。默认用户pi的密码就修改成功了。其实这时候就可以装软件之类的操作了,不过好多命令都要加sudo 然后输入密码才能运行,很麻烦。个人习惯使用root用户并启用root用户的远程登录:
先试用sudo passwd root 命令来修改root用户的密码(pi用户不能直接passwd root,权限不够,必须加sudo),同样输入密码回车,再确认密码回车。
修改好root用户密码后,可以使用su root命令来切换到root用户。

2.7suRoot.png

!!!

图2.7 修改root用户的密码并切换到root用户

!!!

(到此为止就可以使用root用户来进行操作了,以下启用root用户直接登录ssh的步骤非必须。)
使用 vim /etc/ssh/sshd_config 命令来编辑ssh的配置文件(不会使用vim命令的自行百度)。
找到PermitRootLogin 将注释的#删掉,后面的no改为yes,找到PasswordAuthentication后面的no改为yes。

2.8sshdConfig.png

!!!

图2.8 修改sshd文件

!!!

保存后使用service sshd restart 来重启ssh服务,然后就可以在ssh客户端直接使用root用户登录了。

2.2 树莓派的常用操作

2.2.1 raspi-config

基本命令和debian或者说Linux一模一样,可以去慕课网上找一找相关的教程学一学Linux的基本操作和常用命令。《树莓派常用命令大全》
这里介绍一下树莓派特有的raspi-config。在命令行输入raspi-config 回车,可以看到raspi-config的主界面。

2.9raspiConfig.png

!!!

图2.9 raspi-config 页面

!!!

第一项修改密码,这个在之前的步骤我们已经操作过了,所以用不到。实际使用中最常用的功能是第二项和第四项:连接wifi和修改时区。在该界面下,上下方向键可以切换选择的功能,select和finish用tab键来切换,确认是空格(或回车)键。

2.2.2 连接wifi

在raspi-config中选择第二项network options,然后选择第二项Wi-fi,先输入SSID也就是wifi名称,然后再输入密码。下次重启树莓派就可以自动连接wifi不必插着网线了(当然如果可以的话,尽量选择网线连接路由器,网络质量更稳定,局域网下smb速度也会快很多。)

2.2.3 更改时区

在raspi-config中选择第四项Localisation Options,然后选择第二项 Change Timezone,找到Asia,然后选择上海。此时时间就会自动同步到东八区,这个步骤很重要,后续内网穿透如果和服务器不在同一时区的话,无法正常连接服务器。

三、挂载硬盘和SMB服务器的配置

经过以上的一系列操作,树莓派已经可以正常启动并在局域网下使用ssh客户端来操作了,下面介绍一下如何挂载移动硬盘以及搭建SMB服务器实现局域网下视频播放,解放手机和平板的存储空间。

3.1 树莓派挂载NTFS格式的硬盘

有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTFS分区),这时候为了能让Linux服务器能够识别NTFS的移动硬盘,就必须安装ntfs-3g(Third Generation Read/Write NTFS Driver)的包。
NTFS-3g是一个开源软件,它支持在Linux下面读写NTFS格式的分区。它非常的快速,同时也很安全。它支持Windows 2000、XP、2003和Vista,并且支持所有的符合POSIX标准的磁盘操作。 ntfs-3g的目的是为了持续的发展,各硬件平台和操作系统的用户需要可靠的互通与支持ntfs的驱动,ntfs-3g可以提供可信任的、功能丰富的高性能解决方案。经过了12年多的发展,ntfs-3g已经逐渐稳定;
资料介绍:
官方网址:http://www.tuxera.com/
文档手册:http://www.tuxera.com/community/ntfs-3g-manual/
下载地址:http://www.tuxera.com/community/ntfs-3g-download/

接下来的部分没有图,因为我已经把硬盘都配制好了,不好再截图,就将就一下看看吧,有什么不对的地方可以联系我修改。

(a)安装NTFS-3G:
使用如下命令安装:

sudo apt-get install ntfs-3g 

安装好后将移动硬盘插入树莓派,然后使用fdisk命令查看NTFS分区信息

sudo fdisk -l | grep NTFS

显示如下:

root@raspberrypi:~# sudo fdisk -l | grep NTFS
/dev/sda1  *       64 3907029167 3907029104  1.8T  7 HPFS/NTFS/exFAT

这里的/dev/sda1 (实际操作中可能不一样)就是插入的NTFS硬盘。

(b)设置挂载点:
先创建挂载目录,比如我挂载在/mnt/disk1,那么:

cd /mnt
sudo mkdir disk1

如下是挂载命令:

mount -t ntfs-3g <NTFS Partition> <Mount Point> 

例如得到的NTFS分区信息为/dev/sda1,挂载点设置在/mnt//usbhd1下,可以用

mount -t ntfs-3g /dev/sda1 /mnt/disk1

或者直接用

ntfs-3g ntfs-3g /dev/sda1 /mnt/disk1

(c)如果想实现开机自动挂载,可以在/etc/fstab里面添加如下格式语句

<NTFS 分区> <挂载点> ntfs-3g silent,umask=0,nofail,locale=zh_CN.utf8 0 0 

这样可以实现NTFS分区里中文文件名的显示,注意其中的nofail选项,若不添加此选项,在拔下硬盘或其他情况导致挂载失败的时候会卡住导致无法顺利进入系统。

(d)卸载分区可以用umount实现,用

umount <NTFS 分区>   或者   umount <挂载点>

3.2 Samba服务

Samba是linux和unix系统上实现SMB/CIFS协议的一个免费软件,由服务器和客户端程序构成。而SMB是局域网支持共享文件和打印机的一种通信协议,为局域网内不同计算机之间提供文件及打印机等资源的共享服务 ,最初SMB主要是作为Microsoft的网络通讯协议,后来一个名叫Andrew Tridgwell 的大学生将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

搭建SAMBA服务器:
安装samba

sudo apt-get update
sudo apt-get install samba samba-common-bin

配置文件smb.conf

vim /etc/samba/smb.conf

修改其配置文件 /etc/samba/smb.conf, 在文件最后面添加以下内容

# ======================
[share]           #共享文件的名称, 将在网络上以此名称显示
path = /mnt/disk1         #共享文件的路径,上一步挂载的移动硬盘路径。
valid users = pi        #允许访问的用户
browseable = yes        #允许浏览
public = yes        #共享开放
writable = yes        #可写

修改完成后,保存。然后重新启动 samba服务, 并添加共享用户:

重启samba

root@raspberrypi ~ # /etc/init.d/samba restart
[ ok ] Stopping NetBIOS name server: nmbd.
[ ok ] Starting NetBIOS name server: nmbd.
[ ok ] Stopping SMB/CIFS daemon: smbd.
[ ok ] Starting SMB/CIFS daemon: smbd.
[ ok ] Stopping Samba AD DC daemon: samba.

添加samba共享用户

root@raspberrypi ~ # sudo smbpasswd -a pi
New SMB password:
输入密码
Retype new SMB password:
确认密码
Added user pi.

接下来就可以在其他设备上使用用户pi通过SMB来访问树莓派挂载的硬盘了。

四、BT下载机的安装和配置

在成功挂载硬盘后,树莓派就成了一台优秀的低功耗个人多媒体服务器,在局域网内任意设备均可访问其中的电影和音乐。如果能有离线下载功能,简直是再好不过了,transmission就是应这种需求而生的软件,更棒的是它还可以通过 Web 界面控制!

安装和配置Transmission

使用如下命令安装transmission:

sudo apt-get install transmission-daemon

配置Transmission:
首先创建下载目录,Transmission可以单独配置下载中目录和下载完成目录,例如我们想将下载目录设置在挂载的移动硬盘中的/mnt/transmission/incomplete和/mnt/transmission/complete 。首先创建目录:

mkdir /mnt/transmission/incomplete 
mkdir /mnt/transmission/complete

配置下载目录权限:

sudo usermod -a -G debian-transmission pi

如果是 fat 格式的移动硬盘无需下面这么改,mount的时候指定用户和读写权限就行
这个是对 SD 卡上的目录而言的

chgrp debian-transmission /mnt/transmission/incomplete
chgrp debian-transmission /mnt/transmission/complete
chmod 770 /mnt/transmission/incomplete
chmod 770 /mnt/transmission/complete

Transmission配置文件:
Transmission的配置文件/etc/transmission-daemon/settings.json提供了丰富的配置选项,但重点改下面这些:

下载目录位置:
"download-dir": "/home/pi/complete",
未完成的下载目录
"incomplete-dir": "/home/pi/incomplete",
允许Web访问的白名单地址
"rpc-whitelist": "192.168.1.*",
如有必要可以关掉白名单访问
"rpc-whitelist-enabled": false,

下面两项分别是用户和密码,你看到这个是加密的密码,没关系直接把密码改为你想要的密码明文就可以:

“rpc-username”: “transmission”,
“rpc-password”: “{2dc2c41724aab07ccc301e97f56360cb35f8ba1fGVVrdHDX”,

修改完配置文件后,需要重新载入配置文件并重启Transmission服务。

sudo service transmission-daemon reload
sudo service transmission-daemon stop
sudo service transmission-daemon start

现在就好了,在浏览器中访问 IP 加 9091端口:比如: http://192.168.1.3:9091/ 。访问时输如你在配置文件中配置的用户名和密码。
你现在已经有了一个独立的 BT 下载服务器了!界面功能完备,可以做限速等设置。
关于Transmission配置文件的更多信息,见:https://github.com/transmission/transmission/wiki/Editing-Configuration-Files

4.1Transmission界面.jpg
!!!

图4.1 Transmission web控制界面

!!!

五、frp内网穿透服务

目前宽带一般都没有公网IP,所以在家里的树莓派只能在内网访问。虽然有花生壳之类的软件可以做内网穿透,花生壳带宽只有1M,而且按流量计费,又慢又贵,为什么不自己买台VPS来搞内网穿透呢(●´∀`●)。frp 就是这样一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。其系统构成如下:
5.1frp.png
!!!

图5.1 Frp系统构成

!!!
根据对应的操作系统及架构,从frp Release 页面下载最新版本的程序。
将 frps 及 frps.ini 放到具有公网 IP 的机器上。
将 frpc 及 frpc.ini 放到处于内网环境的机器上。
完整的使用教程可以直接到frp的github主页去查看,这里只是介绍一下我们用的到的功能,将树莓派的部分端口转发到服务器上,通过访问服务器对应的端口,即可访问到树莓派。

5.1 下载frp

访问https://github.com/fatedier/frp/releases
5.2 frp github.png
!!!

图5.2 frp release

!!!
树莓派上选择arm64架构的,服务器端根据自己的服务器系统和CPU架构来下载。
下载后使用如下命令解压:

tar -zxvf frp_0.29.0_linux_arm64.tar.gz

根据自己下载的包来输入命令,这里就不要直接复制了。解压后打开到frp的目录。在服务器上使用 rm -rf frpc* 删除所有客户端的文件,在树莓派上使用 rm -rf frps* 删除所有服务端的文件,防止后续搞错。

5.2 frp服务端配置

使用vim frps_full.ini来编辑服务端的配置文件。需要编辑的地方只有3个:

访问服务端页面的用户名和密码:
dashboard_user = XXXX
dashboard_pwd = XXXX
客户端连接服务器的token
token = 123456

5.3 frps_full.ini.jpg
!!!

图5.3 frp服务端配置文件

!!!

编辑完后,使用chmod 755 frps 给frps运行权限,然后使用

frps -c frps_full.ini

即可启动frp的服务端。如果没有报错,就CTRL+C 来关掉,我们搞点高级的,让frp服务开机自启,不然每次服务器重启完还得过来手动输一堆命令来开frp服务。在frp目录下,有一个systemd文件夹,其中有一个frps.service文件
5.5frpsls.jpg
!!!

图5.4 frps目录

!!!

使用vim frps.service 来编辑。

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/root/frp/frps -c /root/frp/frps_full.ini

[Install]
WantedBy=multi-user.target

将其中的ExecStart=/root/frp/frps -c /root/frp/frps_full.ini中frps和frps_full.ini换成自己的路径(如果在/root下,需要将User改成root,否则没有权限,不能执行),然后保存。将frps.service 复制到/etc/systemd/system文件夹下。

cp frps.service /etc/systemd/system/

然后:

systemctl enable frps
systemctl start frps

即可打开frps服务,并且开机后frps服务可以自动启动。

5.2 frp 客户端的配置

下载、解压、开机自启等操作与服务端一致,只是操作的时候把服务端的frps 变成 frpc
配置文件有点不一样。先放一份客户端完整的配置文件上来,在配置文件后详细说明。

[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
server_addr = movie.xuchaoji.com
server_port = 7000

# if you want to connect frps by http proxy or socks5 proxy, you can set http_proxy here or in global environment variables
# it only works when protocol is tcp
# http_proxy = http://user:passwd@192.168.1.128:8080
# http_proxy = socks5://user:passwd@192.168.1.128:1080

# console or real logFile path like ./frpc.log
log_file = ./frpc.log

# trace, debug, info, warn, error
log_level = info

log_max_days = 3

# for authentication
token = xxxxxx

# set admin address for control frpc's action by http api such as reload
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin

# connections will be established in advance, default value is zero
pool_count = 5

# if tcp stream multiplexing is used, default is true, it must be same with frps
tcp_mux = true

# your proxy name will be changed to {user}.{proxy}
user = pi

# decide if exit program when first login failed, otherwise continuous relogin to frps
# default is true
login_fail_exit = true

# communication protocol used to connect to server
# now it supports tcp and kcp and websocket, default is tcp
protocol = tcp

# if tls_enable is true, frpc will connect frps by tls
tls_enable = true


[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# if remote_port is 0, frps will assign a random port for you
remote_port = 6001


[range:tcp_port]
type = tcp
local_ip = 127.0.0.1
local_port = 6010-6020,6022,6024-6028
remote_port = 6010-6020,6022,6024-6028
use_encryption = false
use_compression = false

配置文件中web,dns等部分已经删除,有需要的去github上找完整版的介绍。以下几个地方需要修改:
1.frp服务器和端口:

server_addr = movie.xuchaoji.com
server_port = 7000

这是我自己搭建的frp服务器,根据自己搭建的服务器配置。(没有可以联系我要token暂时用我的服务器,但是不要用太多流量,转发一下ssh还是没问题的)
server_addr 是部署了frp的服务器ip,域名和ip都可以。s
server_port 是frp服务端的端口,默认 7000

2.frp连接token:

token = xxxxxx

和服务端配置文件中的token一致。

3.frp客户端用户名:

user = xuchaojiDePi

多个客户端连接同一台服务器时,如果user名不修改,和已有的客户端重名,是连接不上的。

4.需要转发的端口:

# 名字
[ssh]
# 连接类型:tcp/udp
type = tcp
# 本地ip,如果是树莓派本身,就填127.0.0.1也可以转发到局域网内其它设备,填写局域网内ip即可
local_ip = 127.0.0.1
# 本地端口
local_port = 22
# 远程端口,此处访问服务器的6001端口,即相当于访问局域网内树莓派的22端口
remote_port = 6001

如果需要转发其它端口,按照上面的格式新增配置即可。注意把中括号中的名字修改成不同的,否则会启动失败

温控风扇

温控风扇部分,已经把电路图,用到的三极管,和脚本上传到github。
需要的自行前往下载:https://github.com/xuchaoji/raspberryFan

完结撒花

sahua.gif