找回密码
 立即注册

QQ登录

【Raspberry Pi 3 小车】7、网页控制 4WD 平台

来源: 奥松-Neil 2016-12-2 13:28 显示全部楼层 |阅读模式
1、实验介绍
(1)实验目的:使用网页界面控制4WD移动平台
(2)实验环境
硬件环境:基于 Raspberry Pi 3的4WD移动平台
软件环境:Putty SSH 登录软件      
(3)使用接口分析
由于本节中我们不需要使用任何的传感器,所以使用接口与控制平台基本运动使用的接口是相同的,即为:
Raspberry Pi 电机驱动板要使用的接口:电机接口A、电机接口B
Raspberry Pi 控制器要使用到的GPIO接口:
  • A口方向控制接口GPIO25
  • A口使能控制接口GPIO17
  • B口方向控制接口GPIO4
  • B口使能控制接口GPIO10
2、核心程序
通过Notepad++ 编辑程序,再使用FTP传输工具,将文件上传到Raspberry Pi控制器
  1. from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
  2. from contextlib import closing
  3. from pi_car import app
  4. import re
  5. import RPi.GPIO as GPIO

  6. directionA = 25
  7. EA = 17
  8. directionB = 4
  9. EB = 10

  10. @app.route('/')
  11. def show_index():
  12.         return render_template('home.html')

  13. @app.route("/login", methods=["GET", "POST"])                                   
  14. def login():                                                                    
  15.         if request.method=="GET":                                                   
  16.                 return "get"+request.form["user"]
  17.         elif request.method=="POST":                                                
  18.                 return "post"

  19. @app.route('/ctl',methods=['GET','POST'])
  20. def ctrl_id():
  21.         if request.method == 'POST':
  22.                 id=request.form['id']
  23.                 GPIO.setmode(GPIO.BCM)
  24.                 GPIO.setwarnings(False)
  25.                 GPIO.setup(EA,GPIO.OUT)
  26.                 GPIO.setup(directionA,GPIO.OUT)
  27.                 GPIO.setup(EB,GPIO.OUT)
  28.                 GPIO.setup(directionB,GPIO.OUT)
  29.                
  30.                 if id == 't_left':
  31.                         t_left()
  32.                         return "left"
  33.                 elif id == 't_right':
  34.                         t_right()
  35.                         return "right"
  36.                 elif id == 't_up':
  37.                         t_up()
  38.                         return "up"
  39.                 elif id == 't_down':
  40.                         t_down()
  41.                         return "down"
  42.                 elif id == 't_stop':
  43.                         t_stop()
  44.                         return "stop"

  45.         return redirect(url_for('show_index'))

  46. def t_stop():
  47.         GPIO.output(EA,False)
  48.         GPIO.output(directionA,False)
  49.         GPIO.output(EB,False)
  50.         GPIO.output(directionB,False)

  51. def t_up():
  52.         GPIO.output(EA,True)
  53.         GPIO.output(directionA,True)
  54.         GPIO.output(EB,True)
  55.         GPIO.output(directionB,True)

  56. def t_down():
  57.         GPIO.output(EA,True)
  58.         GPIO.output(directionA,False)
  59.         GPIO.output(EB,True)
  60.         GPIO.output(directionB,False)

  61. def t_left():
  62.         GPIO.output(EA,True)
  63.         GPIO.output(directionA,False)
  64.         GPIO.output(EB,True)
  65.         GPIO.output(directionB,True)

  66. def t_right():
  67.         GPIO.output(EA,True)
  68.         GPIO.output(directionA,True)
  69.         GPIO.output(EB,True)
  70.         GPIO.output(directionB,False)
复制代码
前台运行程序:
注意:需要将172.27.35.124修改为你Raspberry Pi控制器的IP地址
  1. from pi_car import app

  2. app.run(host='172.27.35.124',port=2000)
复制代码
注意:这里列出了两个主程序,全部程序可在附件中下载
3、程序执行
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

大神点评53

hongmo 2016-12-6 16:07 显示全部楼层
看看学学了
回复 支持 反对

使用道具 举报

看到这个想法,但是没有思路,学习一下。
回复 支持 反对

使用道具 举报

zjhyn 2016-12-13 14:18 显示全部楼层
hi,all。。。。。。。。。。。。。。。。
回复

使用道具 举报

hskkk 2016-12-19 09:12 显示全部楼层
快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快
回复 支持 反对

使用道具 举报

rosaz 2016-12-20 03:32 显示全部楼层
lallala好想看啊啊啊啊!赞一百个
回复 支持 反对

使用道具 举报

whzzr 2016-12-25 20:06 显示全部楼层
学习。。。。。。。。
回复

使用道具 举报

hxlrbt 2017-1-28 20:19 显示全部楼层
没离开没法士大夫昆仑山
回复 支持 反对

使用道具 举报

zxxtingde 2017-2-7 20:44 显示全部楼层
今天是什么日子额
回复 支持 反对

使用道具 举报

勇哥 2017-2-10 23:45 显示全部楼层
.................
回复

使用道具 举报

您可能感兴趣的文章

您需要登录后才可以回帖 登录 | 立即注册

关注0

粉丝2

帖子146

发布主题
社区热门 MORE+
    社区热帖 MORE+