Sisukord:
- Samm: riistvara ettevalmistamine
- 2. toiming: SSH lubamine
- Samm: Cloud4RPi installimine
- Samm: anduri ühendamine
- Samm: andurinäitude saatmine pilve
- 6. samm: graafikud ja äratused
Video: Temperatuuri ja niiskuse jälgimine Raspberry Pi abil: 6 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Suvi on tulemas ja need, kellel pole konditsioneeri, peaksid olema valmis siseruumides käsitsi käsitsi juhtima. Selles postituses kirjeldan tänapäevast viisi inimese mugavuse jaoks kõige olulisemate parameetrite mõõtmiseks: temperatuur ja niiskus. Need kogutud andmed saadetakse pilve ja töödeldakse seal.
Ma kasutan Raspberry Pi 1 plaati ja DHT22 andurit. Sama saate teha igas arvutis, kus on Internet, GPIO ja Python. Odavam DHT11 andur töötab ka hästi.
Samm: riistvara ettevalmistamine
Alustame algusest, kuna ma ei kasutanud oma Raspberry Pi -d päris pikka aega.
Meil on vaja:
- Raspberry Pi plaat (või muu asjade internetile orienteeritud platvorm).
- SD- või microSD -kaart (olenevalt platvormist).
- 5V/1A mikro-USB kaudu.
- LAN -kaabel, mis pakub Interneti -ühendust.
- HDMI -ekraan, RCA -ekraan või UART -port (SSH lubamiseks).
Esimene samm on Raspbiani allalaadimine. Olen valinud Lite versiooni, kuna kasutan ekraani asemel SSH -d. Pärast viimast korda tegin asju. Nüüd on olemas suurepärane põletustarkvara nimega Etcher, mis töötab suurepäraselt ja millel on suurepärane disain.
Pärast pildi kirjutamise lõpetamist sisestasin SD -kaardi oma Pi -sse, ühendasin LAN- ja toitekaablid ning mõne aja pärast registreeris mu ruuter uue seadme.
2. toiming: SSH lubamine
SSH on vaikimisi keelatud. Ma võin kasutada kas UART-USB-muundurit või lihtsalt ühendada ekraani, et pääseda kestale ja lubada SSH.
Pärast taaskäivitamist olen lõpuks sisse lülitatud. Esiteks värskendame:
sudo apt update && sudo apt upgrade -y
Nüüd ühendame selle värske seadme pilvega.
Samm: Cloud4RPi installimine
Otsustasin proovida pilveplatvormi nimega Cloud4RPi, mis on mõeldud IoT jaoks.
Dokumentide kohaselt vajame selle käivitamiseks järgmisi pakette:
sudo apt install git python python -pip -y
Klienditeegi saab installida ühe käsuga:
sudo pip installige cloud4rpi
Nüüd vajame selle näitamiseks mõnda näidiskoodi.
git kloon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git kloon https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal && rmdir -re
Otsustasin käivitada minimaalse.py, kuid mulle ei meeldi võltsitud andmed. Õnneks märkasin selles näites lihtsat viisi diagnostikaandmete tegelikuks muutmiseks. Lisage importimise sektsiooni veel üks import:
rpi impordist *
Seejärel kustutage need võltsandmeid pakkuvad funktsioonid (rpi.py määratleb need nüüd):
def cpu_temp ():
tagastada 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Nüüd vajame märki, mis võimaldab Cloud4RPi -l seadmeid kontodega siduda. Selle saamiseks looge konto aadressil cloud4rpi.io ja klõpsake sellel lehel nuppu Uus seade. Asendage string _YOUR_DEVICE_TOKEN_ failis minimal.py oma seadme märgiga ja salvestage fail. Nüüd oleme esimeseks käivitamiseks valmis.
python minimaalne.py
Avage seadme leht ja kontrollige, kas andmed on olemas.
Liigume nüüd reaalse maailma andmete juurde.
Samm: anduri ühendamine
Meil on vaja:
- DHT22 või DHT11 niiskusandur
- Tõmbetakistus (5-10 KΩ)
- Juhtmed
DHT22 sensor mõõdab samaaegselt temperatuuri ja niiskust. Kommunikatsiooniprotokoll pole standardiseeritud, seega ei pea me seda raspi -config -is lubama - lihtsast GPIO -nööbist piisab.
Andmete hankimiseks kasutan DHT -andurite jaoks Adafruit'i suurepärast raamatukogu, kuid see ei pruugi nii töötada. Leidsin kord koodist kummalise pideva viivituse, mis minu riistvara puhul ei töötanud ja kahe aasta pärast on minu tõmbetaotlus endiselt pooleli. Olen muutnud ka plaadi tuvastuskonstante, sest minu Raspberry Pi 1 koos BCM2835 -ga tuvastati üllatuslikult kui Raspberry Pi 3. Soovin, et see oleks tõsi … Seega soovitan kasutada oma kahvlit. Kui teil on sellega probleeme, proovige esialgset hoidlat, võib -olla see sobib kellelegi, kuid ma pole üks neist.
git kloon https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Kuna raamatukogu on kirjutatud C-keeles, nõuab see kompileerimist, seega vajate pakette build-essential ja python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Pakettide installimise ajal ühendage DHT22, nagu pildil näidatud.
Ja testige seda:
cd ~ python -c "import Adafruit_DHT kui d; print d.read_retry (d. DHT22, 4)"
Kui näete midagi sellist (39.20000076293945, 22.600000381469727), peaksite teadma, et see on niiskus protsentides ja temperatuur Celsiuse järgi.
Nüüd paneme kõik kokku!
Samm: andurinäitude saatmine pilve
Ma kasutan alusena minimal.py ja lisan sinna DHT22 interaktsiooni.
cd cloud4rpi-vaarika-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Kuna DHT22 tagastab ühe kõnega nii temperatuuri kui ka niiskuse, salvestan need globaalselt ja värskendan päringus ainult üks kord, eeldades, et nende vaheline viivitus on üle 10 sekundi. Mõelge järgmisele koodile, mis hangib DHT22 andmed:
import Adafruit_DHT
temp, hum = puudub, pole last_update = time.time () - 20 def update_data (): globaalne last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time () def get_t (): update_data () tagasivooru (temp, 2), kui temp ei ole Mitte ükski teine Puudub def get_h (): update_data () tagasivoor (hum, 2) kui hum ei ole Mitte keegi teine Mitte ükski
Sisestage see kood pärast olemasolevat importimist ja muutke muutujate jaotist nii, et see kasutaks uusi funktsioone:
muutujad = {
'DHT22 temp': {'type': 'numbriline', 'bind': get_t}, 'DHT22 niiskus': {'type': 'numbriline', 'bind': get_h}, 'CPU temp': {'tüüp ':' numbriline ',' sidumine ': cpu_temp}}
Andmeedastuse alustamiseks vajutage punast nuppu:
python cloud_dht22.py
Seejärel saate seadme lehte kontrollida.
Võite jätta selle nii, nagu see on, kuid ma eelistan, et mul oleks teenus kõige jaoks. See tagab, et skript töötab alati. Teenuse loomine täisautomaatse skriptiga:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Teenuse käivitamine:
sudo teenuse cloud4rpi käivitamine
Ja kontrollige seda:
pi@raspberrypi: ~ $ sudo teenus cloud4rpi olek -l
● cloud4rpi.service-Cloud4RPi deemon Laetud: laaditud (/lib/systemd/system/cloud4rpi.service; lubatud) Aktiivne: aktiivne (töötab) alates kolmapäevast 2017-05-17 20:22:48 UTC; 1 min tagasi Peamine PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py 17. mai 20:22:51 raspberrypi python [560]: Publishing iot -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17. mai 20:22:53 raspberrypi python [560]: iot-hub/sõnumite avaldamine: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. mai 20:22:53 raspberrypi python [560]: iot-hub/messages avaldamine: {'type': 'süsteem', 'ts': '2017-05-17T20….4'}}
Kui kõik töötab ootuspäraselt, saame jätkata ja kasutada andmetega manipuleerimiseks Cloud4RPi platvormi võimalusi.
6. samm: graafikud ja äratused
Esiteks joonistame muutujad, et näha, kuidas need muutuvad. Seda saab teha uue juhtpaneeli lisamisega ja vajalike diagrammide lisamisega.
Teine asi, mida saame siin teha, on hoiatuse seadmine. See funktsioon võimaldab teil konfigureerida muutuja ohutu vahemiku. Niipea kui vahemik on ületatud, saadab see e -kirjaga teatise. Juhtpaneeli redigeerimise lehel saate lülituda märguannetele ja need seadistada.
Kohe pärast seda hakkas minu toas niiskus ilma märgatava põhjuseta kiiresti langema ja peagi järgnes häire.
Saate Cloud4RPi tasuta kasutada mis tahes riistvaraga, mis suudab Pythoni käivitada. Minu jaoks tean nüüd alati, millal õhuniisutaja sisse lülitada, ja saan selle isegi Cloud4RPi kaudu kaugjuhtimispuldiga ühendada. Olen kuumuseks valmis! Tere suvi!
Soovitan:
Temperatuuri ja niiskuse jälgimine AM2301 abil NodeMCU & Blynk'is: 3 sammu
Temperatuuri ja niiskuse jälgimine AM2301 abil NodeMCU -l ja Blynkil: On väga hästi teada tõsiasi, et enamikus tööstuse vertikaalides mängivad temperatuur, niiskus, rõhk, õhukvaliteet, veekvaliteet jne olulisi tegureid, mida tuleb pidevalt jälgida häiresüsteemid peavad olema paigas, kui väärtus
Temperatuuri ja niiskuse jälgimine NODE MCU ja BLYNK abil: 5 sammu
Temperatuuri ja niiskuse jälgimine NODE MCU ja BLYNK abil: Tere poisid! Selles juhendis saate teada, kuidas saada atmosfääri temperatuuri ja niiskust, kasutades DHT11-temperatuuri ja niiskuse andurit, kasutades rakendust Node MCU ja BLYNK
Ruumi temperatuuri ja niiskuse jälgimine ESP32 ja AskSensors Cloud abil: 6 sammu
Ruumi temperatuuri ja niiskuse jälgimine ESP32 ja AskSensors Cloud abil: sellest õpetusest saate teada, kuidas jälgida oma toa või laua temperatuuri ja niiskust, kasutades DHT11 ja pilvega ühendatud ESP32. Meie õpetuste värskendused leiate siit. Spetsifikatsioonid: DHT11 andur suudab mõõta temperatuuri
DHT temperatuuri ja niiskuse jälgimine ESP8266 ja AskSensors IoT platvormi abil: 8 sammu
DHT temperatuuri ja niiskuse jälgimine ESP8266 ja AskSensors IoT platvormi abil: Eelmises juhendis esitasin samm -sammult juhendi ESP8266 nodeMCU ja AskSensors IoT platvormiga alustamiseks. Selles õpetuses ühendan DHT11 anduri sõlmele MCU. DHT11 on tavaliselt kasutatav temperatuur ja niiskus
Temperatuuri ja niiskuse jälgimine SHT25 ja Raspberry Pi abil: 5 sammu
Temperatuuri ja niiskuse jälgimine SHT25 ja Raspberry Pi abil: Oleme hiljuti töötanud erinevate projektide kallal, mis vajasid temperatuuri ja niiskuse jälgimist, ja siis mõistsime, et need kaks parameetrit mängivad süsteemi töö efektiivsuse hindamisel keskset rolli. Mõlemad Indias