首先我介绍一下实现的web控制智能小车的前进,后退,左转,右转等功能
1 这里用到的框架有前端的jQuery,
2 响应式布局框架bootstrap,
3 还有就是Python的一个web框架 --> bottle
4 这个bottle是干什么用的呢?
整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便
我感觉就像php那样可以处理前台form表单的提交数据,有点相似
接下来就是书写前台页面的布局,
1 首先要有5个按钮 分别表示
前进(go)
后退(back)
左转(left)
右转(right)
停止(stop)
2 在这里我们需要引入bootstrap的css样式,以及引入js脚本
3引入jquery库用于快捷的操作DOM元素
4在这里当我们点击界面按钮的时候向后台服务器请求,让后台执行哪个按钮按下的函数
在这里附上前台发送posy请求
对上面的代码分析一下
1 $('button')是指获取页面的button按钮
2 click视为这些按钮绑定点击事件
3 click里面的function是指回调函数,就是说若果点击,就会执行函数里面的东西
4 $.post是jQuery的一个ajax请求函数,第一个参数是url,第二个参数是想后台发送的请求字段,第三个是个回调函数,就是请求完成后,后台返回给前台的数据
5 接下来看看全部前台代码
6 看看浏览器运行效果
接下来就是书写电机驱动模块了,这个模块是L298N电机驱动模块
1 看看这个模块的介绍吧,二话不说,上图吧
1 他的主电源正极接上+12V电压
2 有四个输入引脚分别为IN1,IN2,IN3,IN4,这里我链接在树莓派的11,12,13,15好引脚
3 5V输入我是从树莓派的2号引脚拉出来的
4 通道A,B用于连接电机的,有一个正极输出,和负极输出
5 上图 IN3 , IN4 和 EnB的功能与以下图相似
6 接下来实现初始化代码
7 实现左转代码
8 实现右转代码
10 实现前进代码
11 实现后退代码
12 实现停止代码
13 实现初始化调用以及GPIO口的释放
14 总体说明一下我们引入了GPIO模块,output是指一个输出方法有两个参数,第一个就是引脚号,第二个就是GPIO的高低电平
time是一个延时模块,sleep是一个方法,有一个参数设置时间
最后来看一下那个bottle
还是要引入from bottle import get,post,run,request,template
这里的代码还没实现,代码明天再研究吧,太晚了
今天就写到这里吧