Indholdsfortegnelse:

Fugtighed i skyen: 5 trin
Fugtighed i skyen: 5 trin

Video: Fugtighed i skyen: 5 trin

Video: Fugtighed i skyen: 5 trin
Video: Top 5 BEST Phantom Skins in VALORANT! 2024, September
Anonim
Fugtighed i skyen
Fugtighed i skyen

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.

Forbrugsvarer

Jeg bruger et Raspberry Pi -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

Klargøring af hardware
Klargøring af hardware
Klargøring af hardware
Klargøring af hardware
Klargøring af hardware
Klargøring af hardware
Klargøring af hardware
Klargøring 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.

Store! Lad os fortsætte og SSH ind i det.

Sikkerhed er OK, jeg kan lide det, men det gør tingene lidt sværere. Jeg bruger UART-USB-adapter til at få adgang til skallen og aktivere SSH …

Brug af en skærm i stedet for UART gør det meget lettere.

Efter genstart er jeg endelig inde.

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 2: Installation af Cloud4RPi

Installation af Cloud4RPi
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 installere git python3 python3 -pip -y

Klientbiblioteket kan installeres i en enkelt kommando:

sudo pip3 installer cloud4rpi

Nu har vi brug for en prøvekode.

git-klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

Det eksekverbare script er control.py.

Vi har 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 control.py med din enheds token, og gem filen. Nu er vi klar til den første lancering.

sudo python3 control.py

Åbn enhedsiden, og kontroller, at dataene er der.

Lad os nu gå over til virkelige data.

Trin 3: Tilslutning af sensoren

Tilslutning af sensoren
Tilslutning af sensoren

Vi får brug for:

  • DHT22 eller DHT11 fugtighedsføler
  • Pull-up modstand (5-10 KΩ)
  • WiresThe

DHT22 -sensor 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.gitcd 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 4: Send sensoraflæsninger til Cloud

Sender sensoraflæsninger til Cloud
Sender sensoraflæsninger til Cloud
Sender sensormålinger til Cloud
Sender sensormålinger til Cloud

Jeg vil bruge control.py som en base og tilføje DHT22 -interaktionen til den.

cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py

Fjern prøvekoden som på billedet ovenfor.

Da DHT22 returnerer både temperatur og fugtighed i et enkelt opkald, vil jeg gemme dem globalt og opdatere 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 = Ingen, Ingen

sidste_opdatering = 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}}

Hvis du synes, at manipulationer er forvirrende, skal du få fat i den sidste version af denne fil. Tryk på den røde knap for at starte dataoverførslen:

Derefter kan du kontrollere enhedens side.

python3 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, som du allerede har i cloud4rpi-raspberrypi-python-biblioteket:

service_install.sh 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.py

17. maj 20:22:51 raspberrypi python [560]: Publicering af 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 5: Diagrammer og alarmer

Diagrammer og alarmer
Diagrammer og alarmer
Diagrammer og alarmer
Diagrammer og alarmer
Diagrammer og alarmer
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!

Med Cloud4RPi kan du fjernstyre din Raspberry Pi og andre IoT -enheder i realtid. Besøg vores websted, og tilslut gratis ubegrænsede enheder.

Anbefalede: