RaspberryPi
1.安装配置
配置树莓派通过USB外置SSD启动
2.软件应用
使用树莓派GPIO远程控制电脑开关机
本文档使用 MrDoc 发布
-
+
首页
使用树莓派GPIO远程控制电脑开关机
# 使用树莓派GPIO远程控制电脑开关机 刚好nas有远程开关机的需求,为了安静(省钱)晚上会将nas关闭掉,早上出门偶尔会忘记开nas,不巧买的主板不支持网络唤醒(继续省钱),所以利用手头已有的工具能解决就好了! 原本是想做一个物理的开机方案,之前做树莓派小车有很几个剩下的舵机和马达,但是需要大点的开关避免按错,浏览某宝,发现一个电脑开关延长线,原来电脑的电源开关用的也是杜邦线!这玩意儿手上大把啊~~~ 看一下主板针脚的说明:[原文点此](https://baijiahao.baidu.com/s?id=1660016200150684647&wfr=spider&for=pc "原文点此") 个人理解平时pwrsw的正极一直都是3.3v的电压,接地后电压变小然后就会输出PWRBTN给南桥芯片。 - 第一步:改装nas的开关 - 将主板pwrsw的正极连接到树莓派的GPIO针脚,我选择了第12个针脚 - 将主板pwrsw的负极连接到树莓派的GND针脚,我选择了第14个针脚 - 第二步: - 写脚本 ``` # encoding: utf-8 import RPi.GPIO as GPIO from time import sleep import argparse import sys def power_switch(): # 设置为board模式,以物理针脚为索引 GPIO.setmode(GPIO.BOARD) # 设置针脚12为输出模式 GPIO.setup(12, GPIO.OUT) # GPIO.output(12, GPIO.HIGH) # sleep(1) # 输出低电平1s,等同于给主板输入PWRBTSW-信号 GPIO.output(12, GPIO.LOW) sleep(1) GPIO.cleanup() def force_power_off(): GPIO.setmode(GPIO.BOARD) GPIO.setup(12, GPIO.OUT) GPIO.output(12, GPIO.HIGH) sleep(1) GPIO.output(12, GPIO.LOW) sleep(1) GPIO.cleanup() def main(action): if action == 'switch': a = power_switch() elif action == 'force': a = force_power_off() if __name__ == '__main__': parse = argparse.ArgumentParser() parse.add_argument('--action', type=str, help='{switch|force}') pwaction = parse.parse_args().action if pwaction is None: parse.print_help() sys.exit() main(pwaction) ``` - 第三步:运行脚本 ```python # 正常启动或关闭,模拟按下电源键 python /srv/powersw/powerswitch.py --action switch # 强制关闭 python /srv/powersw/powerswitch.py --action force ``` ## 树莓派接线图 看着有点脏,忽略吧。。。据说有个继电器会更安全,可以防止树莓派损毁,等选好了配件后再更新! ![](/media/202112/2564-1948-max_1639580391.jpeg)
zhangky
2021年12月15日 23:01
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码