上一篇(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