树莓派没有开关对于不需要它一直通电的用户来说很烦,通电就开机,关机要么直接拔电源,要么远程连接输入指令,非常麻烦。




树莓派 uart引脚 PYTHON_树莓派 wiringpi 读取引脚

树莓派3B



在不考虑数据的情况下,将树莓派的电源接到智能插座上,通过控制智能插座的通断电实现树莓派的开关机也是一种方法,但我还是想要通过物理开关,安全的开关机。




树莓派 uart引脚 PYTHON_引脚_02

智能插座和树莓派电源



于是我找了一些为树莓派制作开关的教程,他们都说出了方法,其中一篇非常简单(感谢CSDN:bxgj),在 /boot/config.txt 中添加一段代码,再连接开关就能实现。但是对于仅有树莓派,其他都不懂的我来说,还是有点困难,比如需要买什么样的开关,连接哪个引脚?好在网上单个开关并不贵,即使尝试失败也不是很让人难过。




树莓派 uart引脚 PYTHON_引脚_03

开关



准备:开关 母对母杜邦线

不同的开关可能引脚不同,能不能用我也不知道,我只能确定我这个能用。




树莓派 uart引脚 PYTHON_树莓派 wiringpi 读取引脚_04

开关和连接树莓派的杜邦线



第一步:将树莓派开机,连接树莓派的方法很多,我以Mac为例。树莓派开机联网后,打开Mac自带的“终端”输入

ssh pi@raspberrypi.local

输入密码登陆树莓派

再输入

sudo nano /boot/config.txt

打开config文档

把文档拉到最下方,输入

dtoverlay=gpio-shutdown




树莓派 uart引脚 PYTHON_树莓派keras加载modle失败_05

输入配置代码



然后control+X退出,按Y+回车保存文档。

这样就开启了使用物理开关开启和关闭树莓派的默认配置。

输入sudo reboot重启树莓派。

第二步:连接开关

我这款开关有三个引脚,其他教程有的开关是四个引脚,每个引脚具体什么用,我也不知道。在DO和GND的引脚上,各连接一根线,中间的VCC不管它,DO也有可能写的OUT,功能一样的。




树莓派 uart引脚 PYTHON_引脚_06

连接DO和GND



将DO连接到树莓派左边的第三个引脚,GND连接到右边的第三个引脚,如果没有其他配件的情况下,这样连接就能实现一个开关打开或者关闭树莓派了。




树莓派 uart引脚 PYTHON_引脚_07

从上往下数第三个引脚



但是我接了一个小风扇,占用了这个引脚的功能,连接的开关只能实现开,继续找转移引脚的方法,想将第三个引脚的功能转移到其他引脚,结果还是不行。只好增加一个开关,原本第三个引脚的开关实现开,新增的开关实现关。




树莓派 uart引脚 PYTHON_引脚_08

树莓派风扇



又打开config文档,在最后输入

dtoverlay=gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up




树莓派 uart引脚 PYTHON_树莓派可以频繁重启吗_09

输入更改引脚的代码



这里的pin=17里的17,指的是树莓派左边第六个引脚,引脚对照图如下。也可以改成其他引脚,但有的引脚又有特殊的功能,使用其他引脚的时候注意一下。




树莓派 uart引脚 PYTHON_树莓派 uart引脚 PYTHON_10

引脚功能图



将第二个开关的DO,连接到左边第六个引脚,GND连接右边第七个引脚,这样就实现了关的功能。




树莓派 uart引脚 PYTHON_树莓派 uart引脚 PYTHON_11

完成图



使用到的代码:

连接树莓派:ssh pi@raspberrypi.local

打开config文档:sudo nano /boot/config.txt

无配件使用默认(GPIO03)引脚:dtoverlay=gpio-shutdown

重启树莓派:sudo reboot

有配件使用其他(GPIO17)引脚:dtoverlay=gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up