内容介绍
内容介绍
项目描述
这个项目使用BeagleBone® Black开发板,实现通过网线连接开发板,用电脑通过网页控制板载LED灯的开关及闪烁。
软件流程图及各功能对应的主要代码片段及说明
由于需要使用网线进行连接,因此需要将板子接入加入的路由器。
代码使用python编写,网页搭建我使用的是flask,控制LED使用的是Adafruit_BBIO.GPIO。代码很短,简单的html直接作为字符串写入到主程序中,按钮通过post方法来触发led控制。
# -*- coding: utf-8 -*-
import Adafruit_BBIO.GPIO as GPIO
from flask import Flask, redirect, url_for
import time
led = "USR0"
GPIO.setup(led, GPIO.OUT)
app = Flask(__name__)
@app.route("/")
def main_page():
return """
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="/on" method="post">
<button type="submit">开灯</button>
</form>
<form action="/off" method="post">
<button type="submit">关灯</button>
</form>
<form action="/blink" method="post">
<button type="submit">闪烁</button>
</form>
</body>
</html>
"""
@app.route('/on', methods=['POST'])
def on():
GPIO.output(led, GPIO.HIGH)
return redirect(url_for('main_page'))
@app.route('/off', methods=['POST'])
def off():
GPIO.output(led, GPIO.LOW)
return redirect("/")
@app.route('/blink', methods=['POST'])
def blink():
for i in range(10):
GPIO.output(led, GPIO.HIGH)
time.sleep(0.1)
GPIO.output(led, GPIO.LOW)
time.sleep(0.1)
return redirect("/")
if __name__ == "__main__":
app.run("0.0.0.0", 8089)
功能展示及说明
先使用ssh连接上板子,通过ifconfig指令来查看IP地址。
通过python3命令运行代码。
在电脑上使用刚才获取到的IP地址,以及代码中编写的端口号,这里是8089,就可以进入控制页面。
接着,就可以通过这些按钮来控制板上的LED灯了。
对本活动的心得体会
这次活动的开发板BeagleBone® Black藏平常的MCU升级到SBC水平,性能,可玩性都大大提高。希望以后的活动能多一些这样强大的开发板。
附件下载
web_led.py
团队介绍
个人
评论
0 / 100
查看更多
猜你喜欢
Funpack3-5:基于BeagleBone® Black的网页LED控制该项目使用了BeagleBone® Black,实现了网页LED控制的设计,它的主要功能为:基于BeagleBone上的AM3358,运行Linux在其中部署网页,控制板载LED。
振青666
95
Funpack3-5 基于BeagleBone Black的控制LED网页制作该项目使用了BeagleBone Black开发板,实现了通过网页控制LED的设计,它的主要功能为:访问部署在BeagleBone Black的Web服务,控制板子上LED的亮灭。。
magmadimsum
87
Funpack3-5 BeagleBone Black 网页控制LED该项目使用了BeagleBone Black,实现了网页控制LED的设计,它的主要功能为:BeagleBone Black 搭建基于 Flask 框架的网页,在局域网内通过电脑或者移动端访问网页控制LED点亮与闪烁的功能。。
Batman9527
58