如何利用树莓派监控家里温度和湿度

小编给大家分享一下如何利用树莓派监控家里温度和湿度,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  1. 硬件需求

  • WIFI无线路由器

  • Raspberry Pi B+

  • DHT11 温湿度传感器和4.7k 欧姆的电阻

  • 面包板一块

  • 一些母对公的杜邦线

  • 树莓派运行起来
        首先你的树莓派已经可以正常启动和工作。
        具体操作请参考官方快速启动文档:https://www.raspberrypi.org/help/quick-start-guide/

  • 更新系统

  • sudo apt-get update
    sudo apt-get dist-upgrade -y
    sudo reboot

  • 进入树莓派SSH,下载和编译芯片库
        确定树莓派芯片型号, 我的是树莓派B+,CPU是 博通BCM2836所以我下在的是:t http://www.airspayce.com/mikem/bcm2835/bcm2835-1.46.tar.gz
        注:实际上支持2836, 通过cpuinfo查询史实际上是2709,可以查看:http://bbs.21ic.com/forum.php?mod=viewthread&tid=1180900。
        
    下载

  • wget  http://www.airspayce.com/mikem/bcm2835/bcm2835-1.46.tar.gz

    安装

    tar xzvf bcm2835-1.46.tar.gz
    cd  bcm2835-1.46
    ./configure
    make
    sudo make check
    sudo make install
  • 下载和安装Node.js:
        由于Node.js安装在嵌入式设备,树莓派使用的ARMv7芯片,使用Node.js时则需要关注Node.js版本,由于node4.0以上版本已经提供了armv7的bin包,但是由于存在兼容性问题我们还是使用node-v0.12.7.tar.gz

  •                 下载

    wget http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz

                    编译Node.js

    tar xzvf node-v0.12.7.tar.gz
    cd node-v0.12.7
    ./configure
    make
    sudo make install

                这个过程需要花费2小时左右的时间,可能中间还会出现错误退出,继续执行未完成的命令就好。

                下载相关依赖包

    npm install node-dht-sensor express ejs

        8.硬件设备接法

       认识树莓派GPIO排插,可以参考这个:   

    https://cache..com/upload/information/20210521/354/248119.png


        DHT11温湿度传感器

    https://cache..com/upload/information/20210521/354/248121.jpg

    9、接法:

         1、连接VCC到板的子3.3v,

        2、 GND连接板子的GND,DATA和VCC之间需要放置一个4.7K电阻,

        3、DATA连接GPIO端口

    注意:请在树莓派关机断电情况下操作。

    1. 创建一个WIFI访问的Node.js项目

    2. pi@raspberrypi ~/app $ find
    3. .
      ./views
      ./views/interface.ejs
      ./app.js
      ./js
      ./public
      ./public/pictures
      ./public/css
      ./public/js
      ./public/js/interface.js
      ./public/js/jquery-1.8.3.min.js
    4. app.js
    5. var sensorLib = require('node-dht-sensor');
      var express = require('express');
      var ejs = require('ejs');
      var app = express();
      
      app.set('views', __dirname + '/views');
      app.set('view engine', 'ejs')
      app.use(express.static(__dirname + '/public'))
      
      var DHT11_GPIO = 21;   //GPIO端口
      var DHT11 = 11;              //传感器型号
      sensorLib.initialize(DHT11, DHT11_GPIO);
      
      app.get('/interface', function(req, res){
          var readout = sensorLib.read();
      //    console.dir(readout)
          res.render('interface', {temperature: readout.temperature.toFixed(2), humidity: readout.humidity.toFixed(2)});
      });
      
      var server = app.listen(3000, function() {
          console.log('Listening on port %d', server.address().port);
      });


    6. interface.js
      <doctype html>
      <h2>树莓派</h2>  
      <ul>  
          <li>温度:<%=temperature%>。C</li>
          <li>湿度:<%=humidity%>%</li>
      </ul>

    启动项目

    1. pi@raspberrypi ~/app $ sudo node app.js 
      Listening on port 3000

    访问页面
    在浏览器中输入:

    1. http://192.168.8.24:3000/interface
    2. 树莓派
      温度:20.00。C
      湿度:38.00%

        

    以上是“如何利用树莓派监控家里温度和湿度”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!