第1步:材料
這是我為創(chuàng)建此項(xiàng)目而購(gòu)買的所有東西。這是一個(gè)相對(duì)便宜的項(xiàng)目,具體取決于3D打印的成本。如果您能夠在學(xué)校打印它,那可能會(huì)很便宜。否則,這取決于您在何處進(jìn)行打印以及在其中進(jìn)行打印的材料。您會(huì)注意到我大量購(gòu)買了這些產(chǎn)品,這僅僅是因?yàn)楹茈y找到單個(gè)的電阻器或LED,這使它更便宜。如果有時(shí)間,您可以在aliexpress.com上訂購(gòu)大多數(shù)物品,交貨可能需要一段時(shí)間,但是這樣可以限制開支。
沒有印刷品,我在這個(gè)項(xiàng)目上花的錢是€81,80。
這些是您需要的材料:
電路:
Raspberry Pi 3
SD卡8GB(最小)
CCS811空氣質(zhì)量傳感器
DHT22溫濕度傳感器
電位器(對(duì)比度LCD)
LCD 16x2
母對(duì)母跳線
綠色和紅色LED
電阻(2x470ohm和1 4700ohm)
案例:
3D打印
螺絲
2組分膠(或其他熱膠)
切線工具
只有您使用的是PCB:
烙鐵
助焊劑(更容易)
錫
實(shí)驗(yàn)pcb 2x4cm
第2步:連接
按上述方法連接電線。您可以在fritzing文件中看到一個(gè)電路。它不是一個(gè)非常復(fù)雜的電路,但是如果您想使其盡可能的小,您肯定希望獲得一塊實(shí)驗(yàn)PCB板。除了GND和Vin將被連接到PCB板之外,布線將是相同的。傳感器將通過母跳線或公頭通過焊接連接。不要忘記在DHT22傳感器上焊接電阻。
我還建議使用10cm的短電纜。否則,包裝盒中將充滿電纜。您不需要很長(zhǎng)的照片,因?yàn)榇蛴〉某叽缫M可能小。
步驟3:3D打印
當(dāng)我想到一個(gè)案件時(shí),突然想到的第一個(gè)難題就是3D打印。由于我父親已經(jīng)打印出其他一些物品,所以他自己設(shè)計(jì)了這些物品。我們一起創(chuàng)造了這個(gè)設(shè)計(jì),并且在各個(gè)方面都做到了。它應(yīng)該被充分冷卻,可以將所有零件擰緊就位,否則,可以將其推到位。
我們甚至繪制了每個(gè)組件以檢查是否適合所有位置。每個(gè)人都可以使用該文件我們希望聽到一些反饋。我們對(duì)結(jié)果感到非常滿意。
步驟4:代碼
可以在Github上找到該項(xiàng)目的代碼。如果您使用了其他引腳(例如,用于LED的另一個(gè)GPIO引腳,則必須調(diào)整這些變量。將有兩個(gè)運(yùn)行的python腳本,web.py用于網(wǎng)站,sensor.py用于讀取傳感器并進(jìn)行更新
通過配置的樹莓派,您可以開始使用。首先,您需要更新和升級(jí)所有軟件包:
sudo apt-get update && sudo apt-get upgrade
之后,您需要安裝以下軟件包:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
現(xiàn)在創(chuàng)建一個(gè)虛擬環(huán)境:
me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenv
me@my-rpi:~ $ mkdir project1 && cd project1
me@my-rpi:~/project1 $ python3 -m venv --system-site-packages env
me@my-rpi:~/project1 $ source env/bin/activate
(env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
既然完成了,您可以將代碼從GitHub克隆到您的虛擬環(huán)境中,可以通過多種方式完成。
在目錄 conf 中,您可以找到四個(gè)文件‘必要時(shí)必須進(jìn)行調(diào)整。您肯定必須在每個(gè)文件中都更改用戶和主目錄。只要您沒有更改我的代碼,uWSGI ini應(yīng)該可以,請(qǐng)確保在必要時(shí)更改用戶和virtualenv
因?yàn)槭褂昧薈CS811傳感器專門用于arduino,它無(wú)法以樹莓派的速度通過i2c總線進(jìn)行通信。您必須在配置文件中將速度降低到10000(我使用9600)的波特率。
還必須獲得adafruit傳感器的庫(kù)。我可以在這里進(jìn)行解釋,但是有一個(gè)完美的adafruit指南很好地解釋了所有這些。
因?yàn)槲覀兿M谶B接樹莓派時(shí)自動(dòng)運(yùn)行python腳本,所以您必須使用這些服務(wù)。如果您保留我的代碼,它們應(yīng)該沒問題。要使它們運(yùn)行,您需要做的就是啟用它們。在您這樣做之前,還有最后一件事。
由于我們使用的是nginx Web服務(wù)器,因此我們必須停用默認(rèn)值,并用我們自己的配置替換它。為此,應(yīng)遵循以下步驟:
將conf/nginx復(fù)制到* sites-available *
刪除鏈接到默認(rèn)配置
將鏈接添加到新配置
重新啟動(dòng)nginx以保存更改
me@my-rpi:~/project1 $ sudo cp conf/project1-*.service /etc/systemd/system/
me@my-rpi:~/project1 $ sudo systemctl daemon-reload
me@my-rpi:~/project1 $ sudo systemctl start project1-*
me@my-rpi:~/project1 $ sudo systemctl status project1-*
Nginx和mysql應(yīng)該一直運(yùn)行。它們與樹莓派一起啟動(dòng)。 Web腳本和傳感器腳本尚不可用。
為此,您仍然需要使用以下命令啟用這兩項(xiàng)服務(wù):
sudo systemctl enable project1-flask.service
sudo systemctl enable project1-sensor.service
步驟5 :數(shù)據(jù)庫(kù)
我的數(shù)據(jù)庫(kù)由三個(gè)表組成。用戶與其他表沒有關(guān)系。這僅用于登錄并授予對(duì)網(wǎng)站的訪問權(quán)限。打開設(shè)備電源后,每隔50秒就會(huì)將CO2值和TVOC值寫入數(shù)據(jù)庫(kù)。每5分鐘的溫度和濕度。這樣,我們就可以清楚地了解過去。
可以在此處找到SQL文件,但是要在raspberry pi上獲取數(shù)據(jù)庫(kù),您應(yīng)該按照以下步驟操作:
在上一步中安裝軟件包之后,mariadb/mysql應(yīng)該立即運(yùn)行。您可以在此行中進(jìn)行檢查:
me@my-rpi:~ $ sudo systemctl status mysql
要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)和用戶,您只需在GitHub中的代碼中運(yùn)行sql腳本即可。如果您正確執(zhí)行了此操作,則應(yīng)該使用以下命令查看表:
me@my-rpi:~ $ echo ’show tables;‘ | mysql project1 -t -u project1-admin -p
現(xiàn)在我們已經(jīng)設(shè)置好了,您無(wú)需進(jìn)行任何測(cè)試就可以確保一切正常。除非您已連接到wifi,否則需要使用以太網(wǎng)電纜將其連接并手動(dòng)運(yùn)行。
步驟6:連接到Wi-Fi
在nano中打開wpa-supplicant配置文件(沒關(guān)系,只需確保可以使用文本編輯器即可。)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
轉(zhuǎn)到文件底部并添加以下內(nèi)容(用您的ssid名稱和密碼名稱代替):
network={
ssid=“ssid-name”
psk=“password-name”
}
要?jiǎng)?chuàng)建加密密碼,您可以使用wpa_passphrase并將其簡(jiǎn)單復(fù)制到wpa_supplicant.conf psk中。使事情更安全。
wpa_passphrase “ssid-name” “password-name”
如果您希望它自動(dòng)連接到此Wi-Fi網(wǎng)絡(luò),并且配置文件中還有其他文件,請(qǐng)確保將優(yōu)先級(jí)更改為更高的級(jí)別通過在配置文件中將這一行添加到網(wǎng)絡(luò)中:
priority=2
別忘了用以下命令重新配置接口:
wpa_cli -i wlan0 reconfigure
現(xiàn)在,您已經(jīng)全部設(shè)置并連接到wifi網(wǎng)絡(luò)。
步驟7:將所有內(nèi)容放在一起
自前夕將黑線連接好并焊接,就可以了。這樣設(shè)計(jì)的目的是,您可以打開機(jī)箱而沒有任何松動(dòng)的電線。這意味著所有內(nèi)容都附著在底部。首先要做的是對(duì)樹莓進(jìn)行一些調(diào)整。它的每個(gè)角落都有孔,但這些孔沒有應(yīng)有的大。直徑應(yīng)足以在內(nèi)部安裝3mm的螺釘。我們必須打磨孔,使它們變寬一些。
第二件事是在每個(gè)孔中切出一個(gè)螺紋。這聽起來(lái)可能很難,但是可以使用正確的工具輕松完成。我建議在本地硬件商店進(jìn)行此操作,只要求使用切線工具即可。由于我父親是金匠,因此他有工作上的工具。我可能會(huì)上傳一個(gè)新的stl文件,以便稍后再打印,但這需要一臺(tái)非常準(zhǔn)確的打印機(jī)。
第三步是將pi擰到底部。您需要4個(gè)7毫米長(zhǎng)的螺釘,直徑為3毫米。之后,您可以將PCD板推入底部頂部提供的位置。可以將CCS811傳感器推入左側(cè)提供的位置,而DHT11可以連接到右側(cè)板上。兩者都被隔離并且通風(fēng)良好,但是之后我們發(fā)現(xiàn)內(nèi)部仍然很熱。
然后,您需要將LED固定在其燈管上。我們用2種成分的膠水做到了這一點(diǎn),但是您可以根據(jù)自己的喜好來(lái)做。確保它們粘在那里。
現(xiàn)在,您可以安裝LCD顯示器,您需要的螺釘?shù)闹睆綉?yīng)與先前的螺釘相同,但要稍長(zhǎng)一些。我的是1厘米。如果擰緊了四個(gè)螺絲,則只剩下一件事了。連接頂部。您只需要四個(gè)直徑相同,直徑為2cm的螺釘即可。現(xiàn)在一切就緒,您就可以啟動(dòng)它。
步驟8:?jiǎn)?dòng)
該項(xiàng)目的啟動(dòng)過程非常簡(jiǎn)單:
將電源線連接到機(jī)箱的左側(cè)。它不是很明顯,但是您可以通過通風(fēng)孔看到。如果您知道了一次,這將不再是問題。
花一些時(shí)間來(lái)啟動(dòng)。
IP地址將在顯示屏上顯示十秒鐘。您唯一需要做的就是確保您已連接到同一網(wǎng)絡(luò),并在瀏覽器的地址欄中輸入IP地址。
您現(xiàn)在在網(wǎng)站上。您還沒有帳戶,因此請(qǐng)創(chuàng)建一個(gè)帳戶。
如果您已注冊(cè),請(qǐng)登錄。
完成!您可以在網(wǎng)頁(yè)上看到所有數(shù)據(jù),并且LCD顯示屏顯示當(dāng)前的空氣質(zhì)量。
由于溫度升高,我們將傳感器放置在外殼的底部。這樣,溫度不會(huì)對(duì)注冊(cè)值產(chǎn)生太大影響。因此,為獲得最佳測(cè)量效果,請(qǐng)使設(shè)備直立放置,也可以將其掛在墻上。
-
空氣質(zhì)量傳感器
+關(guān)注
關(guān)注
2文章
101瀏覽量
13488
發(fā)布評(píng)論請(qǐng)先 登錄
云里物里重磅推出LSG01多合一空氣質(zhì)量傳感器
通信“變形金剛”空氣質(zhì)量檢測(cè)儀讓RS232?秒變?PROFINET

基于XIAO ESP32C6的HA空氣質(zhì)量檢測(cè)儀設(shè)計(jì)

Alphasense傳感器在空氣質(zhì)量監(jiān)測(cè)中的重要作用

貿(mào)澤開售采用先進(jìn)AI實(shí)現(xiàn)環(huán)境檢測(cè)的 Bosch BME690空氣質(zhì)量傳感器
空氣質(zhì)量傳感器的優(yōu)勢(shì)解析
?懸浮塵埃粒子計(jì)數(shù)器:多領(lǐng)域應(yīng)用,守護(hù)空氣質(zhì)量?
如何利用地物高光譜進(jìn)行空氣質(zhì)量監(jiān)測(cè)?

Nordic無(wú)線物聯(lián)網(wǎng)技術(shù)協(xié)助開發(fā)空氣質(zhì)量監(jiān)測(cè)系統(tǒng)

簡(jiǎn)單認(rèn)識(shí)華盛昌空氣質(zhì)量控制器

空氣質(zhì)量傳感器有哪些優(yōu)勢(shì)
博世推出BME690室內(nèi)空氣質(zhì)量傳感器
空氣質(zhì)量傳感器的功能特點(diǎn)
守護(hù)空氣質(zhì)量的科技利器:PM2.5傳感器全面解析

評(píng)論