游乐游手机版
首页/AI热点日报/热点详情

树莓派DIY智能车库开门器制作教程

类型:热点整理2026-07-17
用树莓派自己动手打造一个智能车库开门器,这个想法听起来就非常酷。你只需要一台树莓派、一个继电器模块和几根连接线,就能通过智能手机远程控制车库门的开关。下面我们一步步把它实现出来。 所需组件 安装了 Raspbian 的树莓派板(这里以 Raspberry Pi 3 为例,系统使用 Raspbian

用树莓派自己动手打造一个智能车库开门器,这个想法听起来就非常酷。你只需要一台树莓派、一个继电器模块和几根连接线,就能通过智能手机远程控制车库门的开关。下面我们一步步把它实现出来。

所需组件

  • 安装了 Raspbian 的树莓派板(这里以 Raspberry Pi 3 为例,系统使用 Raspbian Jessie)
  • 继电器模块
  • 连接电线

前提是你的树莓派已经刷好系统并能联网。如果还没准备好,可以先参考树莓派入门教程完成基础设置。这里我们直接用 HDMI 外接显示器操作;如果你没有显示器,也可以用 SSH 客户端(Putty)或 VNC 服务器通过笔记本远程连接。

电路原理图

将车库门的开门机构连接到继电器的输出端。这里为了演示,我们先用一个 LED 来代替实际的门机。

Raspberry Pi 中用于控制车库门的 Flask 设置

我们用 Flask 来搭建一个轻量级 Web 服务器。Flask 是 Python 的微框架,内置开发服务器和调试器,支持安全 cookie,对业余爱好者来说非常友好。通过它,我们可以在网页上发送命令给树莓派,控制继电器的通断,从而实现车库门的开关。

首先在树莓派中安装 Flask:

sudo apt-get update
sudo apt-get install python-pip python-flask
sudo pip install flask

为智能车库门开启器创建 Python 脚本

这个脚本是核心,负责与树莓派的 GPIO 交互并运行 Web 服务器。我们来一步步构建它。

先创建一个文件夹,并在里面新建一个 Python 文件 app.py:

mkdir garage_door
cd garage_door
nano app.py

在 Nano 编辑器中写入以下内容:

首先引入必要的库:

from flask import Flask, render_template, request
import RPi.GPIO as GPIO
app = Flask(__name__, static_url_path='/static')

然后定义一个字典,存储引脚编号、名称和状态:

pin = {
    14 : {'name' : '车库门', 'state' : GPIO.LOW}
}

接着将引脚设为输出并初始化为低电平:

for pin in pins:
   GPIO.setup(pin, GPIO.OUT)
   GPIO.output(pin, GPIO.LOW)

创建主路由,读取引脚状态并传递给 HTML 模板:

@app.route("/")
def main():
    for pin in pins:
       pins[pin]['state'] = GPIO.input(pin)
    templateData = {
       'pins' : pins
    }
    return render_template('main.html', **templateData)

再创建一个路由处理来自 URL 的请求(包含引脚号和操作):

@app.route("//", methods=['GET', 'POST'])
def action(changePin, action):
   changePin = int(changePin)
   deviceName = pins[changePin]['name']
   if action == "open":
       GPIO.output(changePin, GPIO.HIGH)
   if action == "close":
       GPIO.output(changePin, GPIO.LOW)
   for pin in pins:
       pins[pin]['state'] = GPIO.input(pin)
   templateData = {
       'pins' : pins
   }
   return render_template('main.html', **templateData)

最后加上启动代码:

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80, debug=True)
GPIO.cleanup()

保存文件(ctrl+x,按 Enter 确认)。至此 Python 脚本完成。

为 Raspberry Pi Webserver 创建 HTML 页面

在 garage_door 文件夹里再创建一个 templates 文件夹,并在其中新建一个 main.html 文件:

用 Nano 编写 HTML 代码。你可以自己设计样式,这里我们直接用一个第三方 CSS 方案(通过链接标签引入)。关键部分是创建一个按钮,能够发送打开/关闭命令,并实时显示当前状态。

完整的 HTML 代码可以参考上面的截图。保存文件后,整个 Web 服务器就准备好了。

运行与测试

打开终端,进入 garage_door 文件夹,运行:

sudo python app.py

然后打开浏览器,输入树莓派的 IP 地址(用 hostname -I 命令查看)。你会看到类似下面的页面:

确保继电器模块已经连接到树莓派。点击“打开”按钮,继电器就会吸合,LED 点亮(或者实际的车库门机构动作)。同时按钮文本会变为“关闭”,再点击一下即可断开继电器。整个状态实时同步显示。

要停止服务器,按 ctrl+c 即可。

将这个继电器接入市面上现成的开门器机构,你的智能手机就能轻松遥控车库门了。

来源:https://m.elecfans.com/article/1890980.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。