十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
小編給大家分享一下如何利用樹莓派監(jiān)控家里溫度和濕度,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司是少有的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、小程序制作、手機(jī)APP,開發(fā)、制作、設(shè)計、賣友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,2013年至今,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
硬件需求
WIFI無線路由器
Raspberry Pi B+
DHT11 溫濕度傳感器和4.7k 歐姆的電阻
面包板一塊
一些母對公的杜邦線
樹莓派運(yùn)行起來
首先你的樹莓派已經(jīng)可以正常啟動和工作。
具體操作請參考官方快速啟動文檔:https://www.raspberrypi.org/help/quick-start-guide/
更新系統(tǒng)
sudo apt-get update sudo apt-get dist-upgrade -y sudo reboot
進(jìn)入樹莓派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安裝在嵌入式設(shè)備,樹莓派使用的ARMv7芯片,使用Node.js時則需要關(guān)注Node.js版本,由于node4.0以上版本已經(jīng)提供了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小時左右的時間,可能中間還會出現(xiàn)錯誤退出,繼續(xù)執(zhí)行未完成的命令就好。
下載相關(guān)依賴包
npm install node-dht-sensor express ejs
8.硬件設(shè)備接法
認(rèn)識樹莓派GPIO排插,可以參考這個:
/upload/otherpic51/248119.png
DHT11溫濕度傳感器
/upload/otherpic51/248121.jpg
9、接法:
1、連接VCC到板的子3.3v,
2、 GND連接板子的GND,DATA和VCC之間需要放置一個4.7K電阻,
3、DATA連接GPIO端口
注意:請在樹莓派關(guān)機(jī)斷電情況下操作。
創(chuàng)建一個WIFI訪問的Node.js項目
pi@raspberrypi ~/app $ find
. ./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
app.js
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);
});interface.js樹莓派
- 溫度:<%=temperature%>。C
- 濕度:<%=humidity%>%
啟動項目
pi@raspberrypi ~/app $ sudo node app.js Listening on port 3000
訪問頁面
在瀏覽器中輸入:
http://192.168.8.24:3000/interface
樹莓派 溫度:20.00。C 濕度:38.00%
以上是“如何利用樹莓派監(jiān)控家里溫度和濕度”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!