转自:https://blog.csdn.net/weixiazailaide/article/details/52749783

前期准备

环境要求
DHT11,树莓派系统,Python,rpi.gpio等组件
相关软件安装方式见执勤的博客文章:https://blog.csdn.net/fm0517/article/details/80965794

开启i2c,spi,1wire等
一个意外的惊喜
在设置i2c功能时,偶然发现树莓派里有个更强大的功能 Device Tree (DT) ,在/boot/overlays发现了很多外设驱动,于是仔细阅读了README文件,在272行看到了DHT11驱动加载方式,对上章程序进行了简单的修改,使之更加快速准确
修改config.txt后,我是一脸懵逼,去哪找测量结果?☺
然后开始大量查找资料,看输出结果如何查询,费了半天工夫,也没找到相关资料,WTF???
又仔细拜读README文件,没找到任何关于输出结果的介绍,(黑人问号脸 在最后后一行发现个连接,好神奇呀,点开去看,全英语的,U TM DOU I,欺负我英语差。。。
很伤,只能一边翻译一边瞅,瞅完也米看懂啥意思
在我决定放弃的时候,我打算最后博一下,去sys/devices文件下挨个去找,功夫不负有心人,终于找到带有dht11的文件,点进去,挨个打开查看,最后在iio:device0里找到 in_humidityrelative_input和in_temp_input俩个文件,分别对应湿度和温度,但为啥有时打开报错,有时正常呢,心好累
但是iio这个新名词又是什么鬼,求老司机带带我
大家感受下我得之不易的iio文件夹
/sys/devices/platform/dht11@0/iio:device0
├── dev
├── in_humidityrelative_input
├── in_temp_input
├── name
├── of_node -> ../../../../firmware/devicetree/base/dht11@0
├── power
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_time
│ ├── runtime_status
│ └── runtime_suspended_time
├── subsystem -> ../../../../bus/iio
└── uevent

3 directories, 10 files

也感受下不明觉厉的README文件

cat /boot/overlays/readme

在config.txt中添加i2c,spi,以及对DHT11的支持

sudo vi /boot/config.txt
#开启i2c
dtparam=i2c_arm=on
#开启spi
dtparam=spi=on
#DHT11支持
dtoverlay=dht11

温湿度测量

创建temhum2应用

具体方法见之前博客创建raspberrypistate应用的部分
修改settings.py

cd ~/helloworld/helloworld
vi settings.py
INSTALLED_APPS = ['raspberrypistate.apps.RaspberrypistateConfig','temhum2.apps.Temhum2Config',  #增加这一行'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
]

修改urls.py

cd ~/helloworld/helloworld
vi urls.py
from django.conf.urls import include, url
from django.contrib import admin
from helloworld.view import hellourlpatterns = [url(r'^hello/$', hello),url(r'^raspberrypistate/', include('raspberrypistate.urls',namespace="raspberrypistate")),url(r'^temhum2/', include('temhum2.urls',namespace="temhum2")),  #增加这一行url(r'^admin/', admin.site.urls),
]

配置tmphum2的views.py

cd ~/helloword/tmphum2
vi views.py
# -*- coding:utf-8 -*-
from django.http import HttpResponse
from . import temhum2# Create your views here.
def index(request):tem=temhum2.getTemHum()return HttpResponse(tem)

配置tmphum2的urls.py
从其他地方复制过来即可

cp /home/pi/helloworld/temhum/urls.py /home/pi/helloworld/temhum2

建立新的程序代码temhum2.py

cd ~/helloword/tmphum2
vi temhum2.py
#!/usr/bin/env python
# encoding: utf-8import commands#获取温度
def getTemperature():while True:res=commands.getoutput("cat /sys/devices/platform/dht11@0/iio:device0/in_temp_input")if res.isdigit():return int(res)/1000
#获取湿度
def getHumidity():while True:res=commands.getoutput("cat /sys/devices/platform/dht11@0/iio:device0/in_humidityrelative_input")if res.isdigit():return int(res)/1000
#温湿度
def getTemHum():result="空气温度: "+str(getTemperature())+"℃  空气湿度:"+str(getHumidity())+"%"return result

测试效果

按照惯例重启uwsgi服务

sudo systemctl restart emperor.uwsgi.service

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

后记

这样写的Python程序简单了许多有木有,我就想玩个树莓派装个B,就又是内核又是驱动的,心好累
界面美化正在学习,求教程,要不几个字太坑爹了
最后附上树莓派官方关于DT介绍的连接和在 www.kernel.org 找到的疑似关于iio的介绍
求老司机出个树莓派使用overlays文件下所有DTB的系列文章,然后再出个DTB编写指南啥的,

树莓派应用实例4:环境温湿度测量(改进)相关推荐

  1. 树莓派应用实例2:环境温湿度测量

    转自:https://blog.csdn.net/weixiazailaide/article/details/52743194 前期准备 已完成上一篇的内容:https://blog.csdn.ne ...

  2. 树莓派初次配置C++环境以及进行简单的hcsr04驱动

    树莓派初次配置C++环境以及进行简单的hcsr04驱动 这是我第一次使用树莓派,就想溜一下hcsr04模块,所以开整.这篇文章仅仅针对初学者的初次学习以及尝试. 当你已经拥有一块树莓派,并且成功烧写好 ...

  3. 环境温湿度在线监测如何实现?有何应用场景?

    温度.湿度等环境数据与人们生活生产息息相关.温湿度传感器作为能将温度量和湿度量转换成容易被测量处理的电信号的设备或装置,广泛应用于工农业生产.气象.环保.国防.科研等经常需要对环境或设备的温度与湿度进 ...

  4. “物联网开发实战”学习笔记-(五)根据土壤湿度、环境温湿度和光照强度自动浇花

    "物联网开发实战"学习笔记-(五)根据土壤湿度.环境温湿度和光照强度自动浇花 研究场景需求 自动浇花这个场景,很明显是为了自动控制水泵,及时给植物补充水分.同时用户的目的并不只是浇 ...

  5. toolchain安装教程支持_树莓派安装ESP8266_SDK开发环境

    陈拓 chentuo@ms.xab.ac.cn 2020/02/19-2020/03/31 1. 概述 ESP8266的开发工具是在linux系统下运行的,树莓派的官方操作系统是Linux系统.如果你 ...

  6. 血氧心率测量仪(带温湿度测量功能)OLED显示

    血氧心率测量仪(带温湿度测量功能)OLED显示 原理图资料 模块说明 测试数据处理图 部分代码展示 资料包 原理图资料 模块说明 数字温湿度传感 DHT11 ►相对湿度和温度测量 ►全部校准,数字输出 ...

  7. 树莓派3B Qt+dht11读取温湿度并写入数据库202005(8)

    内容 本文介绍:使用树莓派3B Qt+dht11读取温湿度,以一定时间间隔更新数据,显示于界面,并写入数据库 硬件:树莓派3B,温湿度传感器dht11,杜邦线 1.建工程 建立工程后点击mainwin ...

  8. esp8266 rtos 开发环境 ubuntu_树莓派安装ESP8266_SDK开发环境

    陈拓 chentuo@ms.xab.ac.cn 2020/02/19-2020/03/31 1. 概述 ESP8266的开发工具是在linux系统下运行的,树莓派的官方操作系统是Linux系统.如果你 ...

  9. 实验二 无线网络环境RSSI测量实验

    无线网络技术教程第四版实验二 无线网络环境RSSI测量实验 目录 无线网络技术教程第四版实验二 无线网络环境RSSI测量实验 1 实验要求和目的 2 实验原理和背景 3 实验环境和软件 4 实验过程与 ...

最新文章

  1. EcoTalks预告 | Max Rietkerk:自然斑图与生态系统的恢复力
  2. oracle创建自增
  3. 实现账号在一端登入_跟我学spring security 基于数据库实现一个基本的登入登出...
  4. mysql 批量增加字段命令_sql使用命令批量给一个表添加字段
  5. linux阿帕奇日志文件,Linux下apache日志文件设置
  6. 使用反射将DataTable的数据转成实体类
  7. c# char unsigned_c – unsigned char和char指针之间的区别
  8. 如何在 OS X Yosemite 中安装 Java
  9. 腾讯WiFi管家 v3.7.3
  10. DVWA-low通关
  11. 数显之家快讯:【SHIO世硕心语】古有《陋室铭》,现有《群之铭》!
  12. 大牛C++编程开发学习建议50条http://blog.csdn.net/gggg_ggg/article/details/44015409
  13. 斑马条码打印机常见故障大盘点
  14. 国标SVAC对飙通行标准,优势何在?
  15. 收藏学习测试论坛,网站
  16. 实验一 机械臂正逆运动学
  17. Scratch的克隆体
  18. 在佛山如何找到一个高质量的股票交易API平台?
  19. libgdx教程_使用libgdx进行Android游戏开发–一天中的原型,第1a部分
  20. 诺基亚安卓手机 Nokia X 现身越南在线商店

热门文章

  1. ISA CMAK 网络访问隔离区
  2. vmware添加新硬盘 挂载新硬盘 硬盘扩容
  3. 计算机网络 DNS域名
  4. 实验一 查看CPU和内存 用机器指令和汇编指令编程
  5. 云间来客 --- Java 目录大纲
  6. Simcenter Flotherm Crack 2020中文版
  7. apache配置,保你配置成功
  8. Logstash Introduction
  9. 使用Python画一朵玫瑰花
  10. java学习笔记(2):获取文件名和自定义文件过滤器