准备工作
-
树莓派
-
马达
- L298N双H桥直流电机驱动器
-
杜邦线
-底盘&轮胎
接线
小车跑起来
# coding=utf-8
from flask import Flask
import RPi.GPIO as GPIO
import time
app = Flask(__name__)
@app.route('/')
def runcar():
from flask import request
GPIO.setmode(GPIO.BOARD)
INT1 = 11
INT2 = 12
INT3 = 13
INT4 = 15
GPIO.setup(INT1, GPIO.OUT)
GPIO.setup(INT2, GPIO.OUT)
GPIO.setup(INT3, GPIO.OUT)
GPIO.setup(INT4, GPIO.OUT)
# 获取请求中查询参数
direction = request.args.get('direction')
linetime = 1
if (direction == 'w'):
GPIO.output(INT1, GPIO.HIGH)
GPIO.output(INT2, GPIO.LOW)
GPIO.output(INT3, GPIO.HIGH)
GPIO.output(INT4, GPIO.LOW)
time.sleep(linetime)
GPIO.cleanup()
text = '向前'
if (direction == 'd'):
GPIO.output(INT1, GPIO.LOW)
GPIO.output(INT2, GPIO.HIGH)
GPIO.output(INT3, GPIO.LOW)
GPIO.output(INT4, GPIO.HIGH)
time.sleep(linetime)
GPIO.cleanup()
text = '向后'
if (direction == 'l'):
GPIO.output(INT1, GPIO.HIGH)
GPIO.output(INT2, GPIO.LOW)
GPIO.output(INT3, GPIO.LOW)
GPIO.output(INT4, GPIO.LOW)
time.sleep(linetime)
GPIO.cleanup()
text = '向左'
if (direction == 'r'):
GPIO.output(INT1, GPIO.HIGH)
GPIO.output(INT2, GPIO.LOW)
GPIO.output(INT3, GPIO.LOW)
GPIO.output(INT4, GPIO.LOW)
time.sleep(linetime)
GPIO.cleanup()
text = '向右'
return text
# 启动flask服务器
if __name__ == '__main__':
app.run(host="0.0.0.0",port=8888,debug=True)
api 控制小车
通过浏览器访问api控制小车('w’表示前进,'d’表示后退,'l’表示左转,'r’表示右转)
http://192.168.1.100:8888/?direction=w