Django+树莓派实现网页端控制LED灯
平台:
- 尽量用python 3.6,python 3.7也可以,但是会报一个小错误,直接百度就可以解决。
- Django版本:1.11.8
再看一下工程目录结构(别吓着你,其实很多文件是自动生成的,只有templates文件夹和views.py文件是自己创建的):
//创建Django工作目录,我的目录是/home/pi/django/day02
cd django/day02 # 进入工作目录
django-admin startproject mysite1 # mysite1为项目名称
# 此时工作目录就会生成上图所示(templates文件夹及views.py文件需要自己创建)
需要修改的配置如下:
在settings.py文件中加一行路径,其实就是指定templates文件夹的位置。
好啦,现在就可以正式开始编程了!!
urls.py文件的代码如下:
views.py文件如下:
urls.py的代码:
# urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/',admin.site.urls),
url(r'^index/',views.light_view),
url(r'^turn_on/',views.turn_on),
url(r'^turn_off/',views.turn_off),
]
views.py的代码如下:
from django.http import HttpResponse
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.OUT)
from django.shortcuts import render
def light_view(request):
return render(request,'led.html')
def turn_on(request):
GPIO.output(18,GPIO.LOW)
return render(request,'led.html')
def turn_off(request):
GPIO.output(18,GPIO.HIGH)
return render(request,'led.html')
led.html的代码非常简单:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>网页端控制LED灯</title>
</head>
<body>
<a href="/turn_on"><button>开</button></a>
<a href="/turn_off"><button>关</button></a>
</body>
</html>
运行:
在工作目录输入python3 manage.py runserver(看到红色警告忽略即可)
打开网页进行访问页面:输入127.0.0.1:8000/index/
然后就可以控制树莓派的LED灯啦!!!