树莓派应用实例6:测量土壤湿度(改进WEB发布)

上一篇(https://blog.csdn.net/fm0517/article/details/80967569)通过Python代码实现了通过YL-69模块监测土壤湿度。本片实现通过Django发布监测结果。

1. 前期准备

已完成上一篇的内容:https://blog.csdn.net/fm0517/article/details/80949387

2. 创建soil应用

cd  /home/pi/helloworld
python manage.py startapp soil

3. 配置Django路径

cd  /home/pi/helloworld/helloworld
vi urls.py
from django.conf.urls import include, url
from django.contrib import admin
from helloworld.view import hello

urlpatterns = [
    url(r'^hello/$', hello),
    url(r'^raspberrypistate/', include('raspberrypistate.urls',namespace="raspberrypistate")),
    url(r'^temhum/', include('temhum.urls',namespace="temhum")),
    url(r'^temhum2/', include('temhum2.urls',namespace="temhum2")),
    url(r'^illuminance/', include('illuminance.urls',namespace="illuminance")),
    url(r'^soil/', include('soil.urls',namespace="soil")),      #添加这一行
    url(r'^admin/', admin.site.urls),
]

4. 配置soil的urls.py

cd /home/pi/helloworld/soil
vi urls.py
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

5. 配置soil的views.py

cd /home/pi/helloworld/soil
vi views.py
# -*- coding:utf-8 -*-
from django.http import HttpResponse
from . import soil

# Create your views here.
def index(request):
    sh=soil.getSoilHum()
    return HttpResponse(sh)

5. 编写代码soil.py

cd /home/pi/helloworld/soil
vi soil.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import RPi.GPIO as GPIO
import time

def getSoilHum():
    channel = 21 #管脚40

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(channel, GPIO.IN)

    if GPIO.input(channel) == GPIO.LOW:
        return "土壤检测结果:潮湿"
    else:
        return "土壤检测结果:干燥"

6. 重启服务,进行测试

sudo systemctl restart emperor.uwsgi.service

在树莓派浏览器输入 http://127.0.0.1/soil
或者在电脑浏览器输入 http://raspberrypi/soil

这里写图片描述

你可能感兴趣的:(树莓派,树莓派)