马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
之前介绍了在树莓派上使用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操作请求:
[python] view plain copy
- @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用来显示操作按钮给用户:
[html] view plain copy
- <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下来,运行测试 [python] view plain copy
- git clone git@github.com:embbnux/RpiCloudManager.git
- cd RpiCloudManager
- sudo python runserver.py
通过浏览器访问http://your_raspberry_ip:2000就可以了,效果见下图:
|