基于flask通过web浏览器控制树莓派raspberry的GPIO
2014-10-11 22:15
232 查看
之前介绍了在树莓派上使用flask web 开发框架,这个框架是基于python的,而树莓派可以很容易的通过python来操作gpio,所有顺其自然的想到通过web来控制树莓派的gpio,可以通过浏览器访问web页面,直接操作raspberry的gpio底层,或者也可以通过手机app发送post或者get等请求,来控制树莓派的gpio,这样岂不是很妙!
个人原创,版权所有,转载请注明出处,并保留原文链接:
http://www.embbnux.com/2014/10/07/user_flask_to_control_raspberry_gpio_on_web/
一 首先是树莓派上flask和gpio python环境的搭建
这部分在之前的博客都介绍过了,这里就不再介绍了,详见下面两篇博文:
树莓派raspberry使用python实现GPIO输入输出-按键LED
在树莓派Raspberry上使用flask进行python
web开发
二 处理web请求
使用flask进行web开发很方便,这里使用post来处理gpio操作请求:
三 网页控制按钮
有了web请求处理,还需要写一个view用来显示操作按钮给用户:
四 运行web程序
web工程代码我已经上传到github上了,需要的同学可以clone下来,运行测试
通过浏览器访问http://your_raspberry_ip:2000就可以了,效果见下图:
个人原创,版权所有,转载请注明出处,并保留原文链接:
http://www.embbnux.com/2014/10/07/user_flask_to_control_raspberry_gpio_on_web/
一 首先是树莓派上flask和gpio python环境的搭建
这部分在之前的博客都介绍过了,这里就不再介绍了,详见下面两篇博文:
树莓派raspberry使用python实现GPIO输入输出-按键LED
在树莓派Raspberry上使用flask进行python
web开发
二 处理web请求
使用flask进行web开发很方便,这里使用post来处理gpio操作请求:
@app.route('/gpio/<int:id>',methods=['POST']) def gpio_led(id): if request.method == 'POST': GPIO.setmode(GPIO.BOARD) if id<100: GPIO.setup(id,GPIO.OUT) GPIO.setmode(GPIO.BOARD) GPIO.setup(id,GPIO.OUT) GPIO.output(id,False) else: GPIO.setup(id-100,GPIO.OUT) GPIO.output(id-100,True) return redirect(url_for('show_index'))
三 网页控制按钮
有了web请求处理,还需要写一个view用来显示操作按钮给用户:
<form action="/gpio/11" method=post> <input type=submit value="led on" /> </form> <form action="/gpio/111" method=post> <input type=submit value="led off"/> </form>
四 运行web程序
web工程代码我已经上传到github上了,需要的同学可以clone下来,运行测试
通过浏览器访问http://your_raspberry_ip:2000就可以了,效果见下图:
相关文章推荐
- mini2440基于boa服务器通过WEB控制GPIO
- 基于boa服务器的web控制mini2440的GPIO口
- 基于Z301P摄像头 H.264OK6410的远程视频web监控 项目笔记5(小车驱动)GPIO控制
- 基于设备树的GPIO驱动(通过系统节点控制)
- 树莓派-通过Web控制GPIO针脚输出高低电平(改进版)
- 树莓派-通过Web控制GPIO针脚输出高低电平
- pc 电脑web浏览器js通过usb控制安卓手机打电话挂电话
- 15款基于浏览器扩展的WEB开发工具
- AJAX实现基于WEB的文件上传的进度控制
- AJAX实现基于WEB的文件上传的进度控制
- 自定义智能报表系统内容准备:基于WEB的SBO数据结构浏览器
- AJAX+JSP实现基于WEB的文件上传的进度控制,作者:刘作晨
- AJAX实现基于WEB的文件上传的进度控制
- 基于web的版本控制工具(转贴)
- Web Explorer - 基于浏览器的简易资源管理器(源码)
- 利用 HttpModule,基于输出,统一控制、干预、处理(例如: 过滤关键字、AntiXSS) ASP.Net WebForm Control 展现属性的方案原型
- 利用WebRequest来实现模拟浏览器通过Post方式向服务器提交数据
- [转载]AJAX实现基于WEB的文件上传的进度控制
- ArcGIS Server 9.2实现基于web浏览器的在线编辑
- AJAX和JSP实现的基于WEB的文件上传的进度控制代码第1/2页