Indholdsfortegnelse:
- Trin 1: Forberedelse af hardware
- Trin 2: Aktivering af SSH
- Trin 3: Installation af Cloud4RPi
- Trin 4: Tilslutning af sensoren
- Trin 5: Send sensoraflæsninger til Cloud
- Trin 6: Diagrammer og alarmer
Video: Overvågning af temperatur og fugtighed ved hjælp af Raspberry Pi: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Sommeren kommer, og dem uden klimaanlæg bør være forberedt på at styre atmosfæren indendørs manuelt. I dette indlæg beskriver jeg den moderne måde at måle de vigtigste parametre for menneskelig komfort: temperatur og fugtighed. Disse indsamlede data sendes til skyen og behandles der.
Jeg bruger et Raspberry Pi 1 -kort og DHT22 -sensoren. Du kan gøre det samme på enhver computer, der har internet, GPIO og Python. Den billigere DHT11 -sensor fungerer også fint.
Trin 1: Forberedelse af hardware
Lad os starte helt fra begyndelsen, da jeg ikke brugte min Raspberry Pi i ret lang tid.
Vi får brug for:
- Raspberry Pi-kort (eller anden IoT-orienteret platform).
- SD- eller microSD -kort (afhængigt af platformen).
- 5V/1A via mikro-USB.
- LAN -kabel, som giver internetforbindelse.
- HDMI -skærm, RCA -skærm eller UART -port (for at aktivere SSH).
Det allerførste trin er at downloade Raspbian. Jeg har valgt Lite -versionen, da jeg vil bruge SSH i stedet for display. Ting har ændret sig siden sidste gang jeg gjorde det: nu er der en fantastisk brændende software kaldet Etcher, som fungerer perfekt og har et fantastisk design.
Efter at billedbrændingen var fuldført, indsatte jeg SD -kortet i min Pi, tilsluttede LAN- og strømkablerne, og efter et stykke tid registrerede min router den nye enhed.
Trin 2: Aktivering af SSH
SSH er som standard deaktiveret. Jeg kan enten bruge UART-USB-konverter eller bare tilslutte en skærm for at få adgang til skallen og aktivere SSH.
Efter genstart er jeg endelig i. Første ting først, lad os opdatere:
sudo apt update && sudo apt upgrade -y
Lad os nu forbinde denne friske enhed til skyen.
Trin 3: Installation af Cloud4RPi
Jeg besluttede at prøve cloud -platformen kaldet Cloud4RPi, som er designet til IoT.
Ifølge dokumenterne har vi brug for følgende pakker for at få det til at køre:
sudo apt installer git python python -pip -y
Klientbiblioteket kan installeres i en enkelt kommando:
sudo pip installer cloud4rpi
Nu har vi brug for en prøvekode for at sikre, at den fungerer.
git-klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git-klon https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal.py minimal.py && rmdir -re
Jeg besluttede at køre minimal.py, men jeg kan ikke lide de falske data. Heldigvis bemærkede jeg en let måde at gøre diagnosedataene virkelige i dette eksempel. Tilføj en import mere til importafsnittet:
fra rpi import *
Slet derefter disse funktioner, der giver falske data (rpi.py definerer dem nu):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Nu har vi brug for et token, som gør det muligt for Cloud4RPi at forbinde enhederne med kontiene. For at få en skal du oprette en konto på cloud4rpi.io og trykke på knappen Ny enhed på denne side. Erstat _YOUR_DEVICE_TOKEN_ -strengen i filen minimal.py med din enheds token, og gem filen. Nu er vi klar til den første lancering.
python minimal.py
Åbn enhedsiden, og kontroller, at dataene er der.
Lad os nu gå over til virkelige data.
Trin 4: Tilslutning af sensoren
Vi får brug for:
- DHT22 eller DHT11 fugtighedsføler
- Pull-up modstand (5-10 KΩ)
- Ledninger
DHT22 -sensoren måler temperatur og fugtighed samtidigt. Kommunikationsprotokollen er ikke standardiseret, så vi behøver ikke at aktivere den i raspi -config - en simpel GPIO -pin er mere end nok.
For at erhverve dataene vil jeg bruge Adafruit's store bibliotek til DHT -sensorer, men det fungerer muligvis ikke som det er. Jeg fandt engang en mærkelig konstant forsinkelse i koden, som ikke fungerede for min hardware, og efter to år afventer min pull -anmodning stadig. Jeg har også ændret kortdetekteringskonstanterne, fordi min Raspberry Pi 1 med BCM2835 overraskende blev opdaget som Raspberry Pi 3. Jeg ville ønske, at det var sandt … Derfor anbefaler jeg at bruge min gaffel. Hvis du oplever problemer med det, kan du prøve det originale lager, måske fungerer det for nogen, men jeg er ikke en af dem.
git -klon https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Da biblioteket er skrevet i C, kræver det kompilering, så du har brug for de build-essential og python-dev pakker.
sudo apt install build-essential python-dev -ysudo python setup.py install
Mens pakkerne installeres, skal du tilslutte DHT22 som vist på billedet.
Og test det:
cd ~ python -c "import Adafruit_DHT som d; print d.read_retry (d. DHT22, 4)"
Hvis du ser noget i stil med (39.20000076293945, 22.600000381469727), skal du vide, at dette er luftfugtigheden i procent og temperaturen i Celsius.
Lad os nu samle alt sammen!
Trin 5: Send sensoraflæsninger til Cloud
Jeg vil bruge minimal.py som en base og tilføje DHT22 -interaktionen til den.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Da DHT22 returnerer både temperatur og fugtighed i et enkelt opkald, gemmer jeg dem globalt og opdaterer kun én gang i en anmodning, forudsat at forsinkelsen mellem dem er mere end 10 sekunder. Overvej følgende kode, som erhverver DHT22 -data:
importer Adafruit_DHT
temp, hum = None, None last_update = time.time () - 20 def update_data (): global 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 () returrunde (temp, 2) hvis temp ikke er Ingen andre Ingen def get_h (): update_data () returrunde (hum, 2) hvis brummen ikke er Ingen andre Ingen
Indsæt denne kode efter den eksisterende import, og rediger variabelsektionen, så den bruger de nye funktioner:
variabler = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numerisk ',' bind ': cpu_temp}}
Tryk på den røde knap for at starte dataoverførslen:
python cloud_dht22.py
Derefter kan du kontrollere enhedens side.
Du kan lade det være som det er, men jeg foretrækker at have en service til alt. Dette sikrer, at scriptet altid kører. Oprettelse af en service med det fuldautomatiske script:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Start af tjenesten:
sudo service cloud4rpi start
Og tjekker det:
pi@raspberrypi: ~ $ sudo service cloud4rpi status -l
● cloud4rpi.service-Cloud4RPi-dæmon Indlæst: indlæst (/lib/systemd/system/cloud4rpi.service; aktiveret) Aktiv: aktiv (kører) siden ons 2017-05-17 20:22:48 UTC; 1 min siden Main PID: 560 (python) CGruppe: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 17 20:22:51 raspberrypi python [560]: Publishing iot -hub/meddelelser: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17. maj 20:22:53 raspberrypi python [560]: Udgivelse af iot-hub/meddelelser: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. maj 20:22:53 raspberrypi python [560]: Publicering af iot-hub/meddelelser: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Hvis alt fungerer som forventet, kan vi fortsætte og bruge Cloud4RPi -platformens muligheder til at manipulere med dataene.
Trin 6: Diagrammer og alarmer
Lad os først plotte variablerne for at se, hvordan de ændrer sig. Dette kan gøres ved at tilføje et nyt kontrolpanel og sætte de nødvendige diagrammer i det.
En anden ting, vi kan gøre her, er at indstille en advarsel. Denne funktion giver dig mulighed for at konfigurere det sikre område for en variabel. Så snart området er overskredet, sender det en e -mail -meddelelse. På redigeringssiden i kontrolpanelet kan du skifte til underretninger og konfigurere en.
Lige efter begyndte fugtigheden i mit værelse at falde hurtigt uden nogen mærkbar grund, og alarmen fulgte snart.
Du kan bruge Cloud4RPi gratis med enhver hardware, der er i stand til at udføre Python. Som for mig, nu ved jeg altid, hvornår jeg skal tænde luftfugteren, og jeg kan endda tilslutte den til et relæ til fjernbetjening via Cloud4RPi. Jeg er forberedt på varmen! Velkommen sommer!
Anbefalede:
Overvågning af temperatur og fugtighed ved hjælp af NODE MCU OG BLYNK: 5 trin
Overvågning af temperatur og luftfugtighed ved hjælp af NODE MCU OG BLYNK: Hej Guys I denne instruktive lad os lære at få temperatur og luftfugtighed i atmosfæren ved hjælp af DHT11-temperatur- og fugtighedsføler ved hjælp af Node MCU og BLYNK app
DHT -overvågning af temperatur og fugtighed ved hjælp af ESP8266 og AskSensors IoT -platform: 8 trin
DHT -temperatur- og fugtighedsovervågning ved hjælp af ESP8266 og AskSensors IoT -platform: I en tidligere instruerbar præsenterede jeg en trinvis vejledning for at komme i gang med ESP8266 -nodenMCU og AskSensors IoT -platformen. I denne vejledning tilslutter jeg en DHT11 -sensor til knudepunktets MCU. DHT11 er en almindeligt anvendt temperatur og fugt
Overvågning af temperatur og fugtighed ved hjælp af ESP-01 & DHT og AskSensors Cloud: 8 trin
Overvågning af temperatur og luftfugtighed ved hjælp af ESP-01 & DHT og AskSensors Cloud: I denne instruktør skal vi lære at overvåge temperatur- og fugtighedsmålingerne ved hjælp af IOT-MCU/ESP-01-DHT11-kortet og AskSensors IoT-platformen .Jeg vælger IOT-MCU ESP-01-DHT11-modulet til denne applikation, fordi det
Overvågning af temperatur og fugtighed ved hjælp af Blynk: 6 trin
Overvågning af temperatur og luftfugtighed ved hjælp af Blynk: I denne vejledning skal vi overvåge temperatur og luftfugtighed ved hjælp af DHT11 og sende dataene til sky ved hjælp af BlynkComponents påkrævet til denne vejledning: Arduino UnoDHT11 temperatur- og fugtighedssensorESP8266-01 WiFi-modul
Overvågning af temperatur og fugtighed ved hjælp af SHT25 og Raspberry Pi: 5 trin
Temperatur- og luftfugtighedsovervågning ved hjælp af SHT25 og Raspberry Pi: Vi har for nylig arbejdet på forskellige projekter, som krævede temperatur- og fugtighedsovervågning, og så indså vi, at disse to parametre faktisk spiller en afgørende rolle for at have et skøn over effektiviteten af et system. Begge på indus