gatoBot:基于树莓派 Zero W 的网页控制机器人,支持实时视频流
了解如何构建一款完全通过网页控制的树莓派 Zero W 机器人,支持实时视频流,适合 DIY 机器人爱好者和猫奴。
故事
gatoBot
gato 是西班牙语“猫”的意思。
gatoBot 是一款基于树莓派 Zero W 的机器人,你可以在局域网内通过任意网页浏览器控制它,同时观看车载摄像头的实时视频。我制作它是为了给我的猫提供一个玩伴,同时展示树莓派平台的多功能性。
关于树莓派
树莓派是由 树莓派基金会 开发的一系列小型、低廉的单板计算机,旨在推广全球计算机科学教育。它已成为机器人项目、家庭自动化和教育实验室的热门选择。详见 维基百科。
主要特性
- 任意网页浏览器控制,随时随地在局域网内指挥机器人。
- 树莓派摄像头实时视频流,看见机器人所见。
- 低成本、电池供电,适合移动使用。
物料清单
- 1 × 树莓派 Zero W 开发板 – 约 $10.00
- 1 × 树莓派摄像头模组 – 约 $15.00
- 1 × 4×AA 电池盒 – 约 $1.00
- 1 × 4000 mAh USB 移动电源 – 约 $10.00
- 1 × 机器人底盘含 2×直流电机 – 约 $15.00
- 1 × L298N 双 H 桥电机驱动 – 约 $4.00
总成本:约 $55.00。
原理图
接线图将 L298N 驱动器连接到树莓派 GPIO 引脚,电机接驱动器输出端。摄像头接树莓派 CSI 接口,移动电源同时给树莓派和电机驱动供电。
组装完成后机器人外观如下:

直流电机方向问题
如果电机转向与预期相反,调整 motors.py 中的 HIGH/LOW 逻辑,示例如下:
def backward(): GPIO.output(Motor1A,GPIO.HIGH) GPIO.output(Motor1B,GPIO.LOW) GPIO.output(Motor2A,GPIO.HIGH) GPIO.output(Motor2B,GPIO.LOW)
def forward(): GPIO.output(Motor1A,GPIO.LOW) GPIO.output(Motor1B,GPIO.HIGH) GPIO.output(Motor2A,GPIO.LOW) GPIO.output(Motor2B,GPIO.HIGH)
def turnLeft(): print("Going Left") GPIO.output(Motor1A,GPIO.HIGH) GPIO.output(Motor1B,GPIO.LOW) GPIO.output(Motor2A,GPIO.LOW) GPIO.output(Motor2B,GPIO.HIGH)
def turnRight(): print("Going Right") GPIO.output(Motor1A,GPIO.LOW) GPIO.output(Motor1B,GPIO.HIGH) GPIO.output(Motor2A,GPIO.HIGH) GPIO.output(Motor2B,GPIO.LOW)
网页界面
给树莓派上电并连接 Wi-Fi 后,在任意浏览器访问 https://raspberry_ip:8000/ 即可控制机器人。界面提供简单的方向控制并显示实时视频流。

制造工艺
- 树莓派2上使用DS18B20读取温度完整指南
- 树莓派结合 Maxim 1-Wire 传感器与 DS2482 I2C 桥接器的多点温度测量
- 树莓派精准监测机柜温度:DS18B20 多点部署实战
- 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
- 树莓派接 KY‑033 循迹/门状态传感器:简易 Python 实现
- 树莓派与 AS3935 闪电检测传感器实战指南
- 树莓派 2 无头模式水浸报警器:基于 Adafruit T‑Cobbler Plus 构建
- 树莓派车库门开启器加视频流:磁性门状态传感器与实时画面集成
- 树莓派无需 LIRC 捕获红外遥控指令:Python UART 方案
- 掌握树莓派 GPIO:在 B+/Model 2 上接入 PIR 运动传感器
- 树莓派家庭安防系统:PIR 运动检测 + 摄像头邮件报警
- HC‑SR501 PIR 运动传感器与树莓派接线、校准与 Python 编程全指南