树莓派GPIO控制-flask
来源:互联网 发布:mac口红畅销的颜色 编辑:程序博客网 时间:2024/05/29 11:18
树莓派提供了GPIO接口可进行控制;Flask是一个轻量级Web框架,通过在raspberry Pi上部署flask框架,能够实现在网络前端对Pi进行GPIO控制
连接关系如之前博文进行设定和连接
利用Xshell工具保持PC和Pi之间的连接关系,便于指令输入和控制
利用FlashFXP工具实现PC和Pi之间进行FTP文件传输服务,便于程序等文件的上下传
步骤1:编写Flask程序并进行部署
根据FLASK官方文档所示,app作为FLASK的实例将会是WSGI应用程序,然后route()装饰器会FLASK什么样的URL可以出发我们的函数,然后调用run()函数就可以让应用运行在本地服务器上。
将装饰器route()中封装可以控制Pi硬件GPIO管脚的函数,在前端就能对硬件实现直接控制。
#!usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO
import time
from flask import Flask
RPi.GPIO.setmode(RPi.GPIO.BCM)
RPi.GPIO.setup(2,RPi.GPIO.OUT)
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/start')
def start():
RPi.GPIO.setmode(RPi.GPIO.BCM)
RPi.GPIO.setup(2,RPi.GPIO.OUT)
while(True):
RPi.GPIO.output(2,False)
time.sleep(5)
RPi.GPIO.output(2,True)
time.sleep(5)
RPi.GPIO.cleanup()
if __name__ == '__main__':
app.run(host='0.0.0.0')
操作程序如上所示,对树莓派GPIO管脚BCM编码方式下的2管脚进行控制输出方波,将start函数封装到装饰器route('/start')里进行调用。
步骤2:利用FTP工具将WINDOWS环境下的程序文件上传到Pi
点击右上角的“闪电”图标进行连接,输入树莓派的ip,账户以及密码,简历连接,PC左框中的文件选中后,右击-传送,即可将文件传送至右边相应文件夹中。
步骤3:程序测试及实现
在树莓派上运行程序进行FLASK部署
根据程序设置,在树莓派的5000端口进行通信和监控,输入命令curl 192.168.137.101:5000(192.168.137.101为树莓派ip),服务器端返回“Hello World!”
继续发送命令curl 192.168.137.101:5000/start,实现start()函数对于树莓派硬件的控制,经过示波器测试,GPIO-2已经输出方波。
WINDOWS环境下没有curl命令,通过百度下载相关组件后,cmd中也可以实现curl命令进行控制:
- 树莓派GPIO控制-flask
- 基于flask通过web浏览器控制树莓派raspberry的GPIO
- 树莓派控制GPIO
- 树莓派GPIO控制
- 树莓派GPIO控制-yeeLink
- 树莓派 wringPi gpio控制
- 树莓派GPIO控制
- Java 控制树莓派的GPIO
- 树莓派GPIO远程控制继电器
- 树莓派GPIO控制--python篇
- Linux学习~树莓派gpio控制
- 树莓派GPIO高级控制方法
- GPIO控制
- 树莓派通过GPIO控制步进电机(python)
- 使用freepascal使用树莓派,控制GPIO
- 树莓派GPIO控制--C语言篇
- 树莓派 3 wringPI安装及控制GPIO
- 树莓派GPIO入门之控制LED灯
- samd20 21 配置pwm 改变频率 占空比
- Android 调用系统Email发送带多附件的邮件
- unity实现单张纹理贴图的3种方法
- iperf
- Git中的upstream和downstream概述
- 树莓派GPIO控制-flask
- 单例模式在Unity中的应用
- Mahout聚类分析
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- Jenkins解决无法获取插件的办法
- Android下binary级的一些分析调试方法
- HBase安装部署
- Ueditor 出现 div h 等标签被 p标签取代问题
- SnowingView