树莓派WiFi机器人:手机App远程控制实战
想用手机遥控机器人?结合树莓派、L293D电机驱动和RootSaid WiFi Command Center App,你可以打造一个手机控制的移动机器人。本指南涵盖从选型到编写监听脚本的全过程。
所需组件
点击链接可跳转亚马逊或其他渠道购买。
- 树莓派(任意带GPIO引脚的型号)
- 12V锂聚合物(LiPo)电池
- 两个直流电机
- 机器人底盘(泡沫板、薄金属板或成品套件)
- L293D双H桥电机驱动
- 安装RootSaid – WiFi Command Center的安卓手机
- WiFi网络(路由器或热点)
分步搭建指南
1. 组装底盘
设计坚固底座容纳树莓派、L293D和电池。泡沫板或薄金属板等轻质材料可降低重量。也可直接购买成品机器人底盘。
2. 搭建供电系统
12V LiPo为电机和L293D内部稳压器供电。为保护树莓派,需用DC-DC降压模块或Buck转换器将电压降至5V后再接入树莓派5V输入端。
3. 安装电机驱动
将L293D固定在底盘并接线两个直流电机。参考L293D数据手册引脚定义。确保驱动板使能引脚置高(逻辑1)以持续工作。
4. 准备树莓派
插入烧录好树莓派OS(原Raspbian)的MicroSD卡。上电,用sudo passwd pi设置pi用户密码,执行sudo apt update -y && sudo apt upgrade -y更新系统。
5. 连接WiFi
将树莓派接入WiFi网络。终端用ifconfig或hostname -I查看树莓派IP。从树莓派ping手机IP验证连通性。
6. GPIO接线
使用六个GPIO引脚控制电机:
- 电机1:GPIO 33 (IN1) 和 GPIO 11 (IN2)
- 电机2:GPIO 13 (IN3) 和 GPIO 15 (IN4)
- 使能引脚:GPIO 29 和 GPIO 31(均保持HIGH)
7. 安装监听脚本
在树莓派下载以下Python脚本并保存为controller.py。脚本监听UDP 5050端口,将接收到的指令转为电机动作。
import socket
import RPi.GPIO as GPIO
# GPIO设置
GPIO.setmode(GPIO.BOARD)
# 电机1
GPIO.setup(33, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
# 电机2
GPIO.setup(13, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
# 使能引脚
GPIO.setup(29, GPIO.OUT)
GPIO.setup(31, GPIO.OUT)
GPIO.output(29, GPIO.HIGH)
GPIO.output(31, GPIO.HIGH)
# UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', 5050))
print('Listening for commands on port 5050...')
while True:
data, addr = sock.recvfrom(1024)
cmd = data.decode().strip().lower()
if cmd == 'forward':
GPIO.output(33, GPIO.HIGH); GPIO.output(11, GPIO.LOW)
GPIO.output(13, GPIO.HIGH); GPIO.output(15, GPIO.LOW)
elif cmd == 'backward':
GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.HIGH)
GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.HIGH)
elif cmd == 'left':
GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.HIGH)
GPIO.output(13, GPIO.HIGH); GPIO.output(15, GPIO.LOW)
elif cmd == 'right':
GPIO.output(33, GPIO.HIGH); GPIO.output(11, GPIO.LOW)
GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.HIGH)
elif cmd == 'stop':
GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.LOW)
GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.LOW)
else:
print('Unknown command:', cmd)
运行python controller.py。树莓派现可接收UDP指令。
8. 手机安装RootSaid
从Google Play Store下载RootSaid – WiFi Command Center。打开App,输入树莓派IP和端口5050,使用屏幕方向键发送运动指令。
9. 测试机器人
所有连接供电后,从手机尝试各方向。电机应即时响应,确认安卓设备与树莓派链路通畅。
恭喜!你已打造一个功能完整的WiFi遥控机器人,可直接从智能手机操控。
制造工艺
- 树莓派控制水培养殖系统:构建指南与代码
- 树莓派 + Hologram Nova 短信控制智能交流电源开关
- Bridge Shield扩展板:树莓派与Arduino集成打造智能机器人
- MonkMakes RRB2套件构建树莓派机器人:详细指南
- 树莓派机器人实时视频流控制构建指南
- 构建XMP-1:低成本XMOS-树莓派移动平台
- DIY仿Wall-E树莓派CD盒机器人
- 蓝牙控制树莓派机器人:语音反馈功能构建指南
- Arduino与树莓派构建互联网控制视频流机器人完整指南
- 树莓派网络摄像头机器人构建:视频流分步指南
- 树莓派手势控制机器人:告别按键,挥手即达
- gatoBot:基于树莓派 Zero W 的网页控制机器人,支持实时视频流