Sisällysluettelo:

Kosteus pilvessä: 5 vaihetta
Kosteus pilvessä: 5 vaihetta

Video: Kosteus pilvessä: 5 vaihetta

Video: Kosteus pilvessä: 5 vaihetta
Video: 5 Käsitteiden sotkeminen ja hengittävyys / Lämpöeristäminen ja kosteusongelmat 2024, Marraskuu
Anonim
Kosteus pilvessä
Kosteus pilvessä

Kesä on tulossa, ja niiden, joilla ei ole ilmastointilaitetta, tulisi olla valmiita hallitsemaan sisäilmaa manuaalisesti. Tässä viestissä kuvailen nykyaikaista tapaa mitata ihmisen mukavuuden kannalta tärkeimmät parametrit: lämpötila ja kosteus. Tämä kerätty data lähetetään pilveen ja käsitellään siellä.

Tarvikkeet

Käytän Raspberry Pi -levyä ja DHT22 -anturia. Voit tehdä saman millä tahansa tietokoneella, jossa on Internet, GPIO ja Python. Halvempi DHT11 -anturi toimii myös hyvin.

Vaihe 1: Laitteiston valmistelu

Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu

Aloitetaan alusta, koska en käyttänyt Raspberry Pi -laitettani pitkään aikaan.

Tarvitsemme:

  • Raspberry Pi -levy (tai muu IoT-suuntautunut alusta).
  • SD- tai microSD -kortti (alustasta riippuen).
  • 5V/1A mikro-USB: n kautta. LAN-kaapeli, joka tarjoaa Internet-yhteyden.
  • HDMI -näyttö, RCA -näyttö tai UART -portti (ottaa SSH käyttöön).

Ensimmäinen askel on ladata Raspbian. Olen valinnut Lite -version, koska aion käyttää SSH: ta näytön sijaan.

Asiat ovat muuttuneet siitä, kun viimeksi tein sen: nyt on olemassa suuri palava ohjelmisto nimeltä Etcher, joka toimii täydellisesti ja on upea muotoilu.

Kun kuvan polttaminen oli valmis, laitoin SD -kortin Pi -laitteeseeni, liitin lähiverkko- ja virtakaapelit ja hetken kuluttua reitittimeni rekisteröi uuden laitteen.

Loistava! Jatketaan ja SSH siihen.

Turvallisuus on kunnossa, pidän siitä, mutta tämä vaikeuttaa asioita hieman. Käytän UART-USB-sovitinta päästäksesi kuoreen ja ottamaan SSH käyttöön …

Näytön käyttäminen UARTin sijaan helpottaa huomattavasti.

Uudelleenkäynnistyksen jälkeen olen vihdoin mukana.

Päivitetään ensin:

sudo apt päivitys && sudo apt päivitys -y

Kytketään nyt tämä uusi laite pilveen.

Vaihe 2: Cloud4RPi: n asennus

Cloud4RPi: n asentaminen
Cloud4RPi: n asentaminen

Päätin kokeilla Cloud4RPi -nimistä pilvialustaa, joka on suunniteltu IoT: lle.

Asiakirjojen mukaan tarvitsemme seuraavat paketit käynnistääksemme sen:

sudo apt asentaa git python3 python3 -pip -y

Asiakaskirjasto voidaan asentaa yhdellä komennolla:

sudo pip3 asenna cloud4rpi

Nyt tarvitsemme esimerkkikoodin.

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

Suoritettava komentosarja on control.py.

Tarvitsemme tunnuksen, jonka avulla Cloud4RPi voi yhdistää laitteet tileihin. Luo tili luomalla cloud4rpi.io ja napsauttamalla tällä sivulla olevaa Uusi laite -painiketta. Korvaa _YOUR_DEVICE_TOKEN_ -merkkijono control.py -tiedostossa laitteen tunnuksella ja tallenna tiedosto. Nyt olemme valmiita ensimmäiseen lanseeraukseen.

sudo python3 control.py

Avaa laitteen sivu ja tarkista, että tiedot ovat siellä.

Siirrytään nyt todellisiin tietoihin.

Vaihe 3: Liitä anturi

Anturin liittäminen
Anturin liittäminen

Tarvitsemme:

  • DHT22- tai DHT11 -kosteusanturi
  • Pull-up vastus (5-10 KΩ)
  • JohdotThe

DHT22 -anturi mittaa lämpötilaa ja kosteutta samanaikaisesti. Tietoliikenneprotokolla ei ole standardoitu, joten meidän ei tarvitse ottaa sitä käyttöön raspi -configissa - yksinkertainen GPIO -nasta riittää.

Tietojen hankkimiseen käytän Adafruitin suurta DHT -antureiden kirjastoa, mutta se ei ehkä toimi niin kuin on. Löysin kerran outon jatkuvan viiveen koodissa, joka ei toiminut laitteistolleni, ja kahden vuoden kuluttua vetopyyntöni on edelleen vireillä. Olen myös muuttanut levyn tunnistusvakioita, koska Raspberry Pi 1, jossa oli BCM2835, havaittiin yllättäen nimellä Raspberry Pi 3. Toivon, että se olisi totta … Siksi suosittelen haarukan käyttöä. Jos sinulla on ongelmia sen kanssa, kokeile alkuperäistä arkistoa, ehkä se toimii jollekin, mutta en ole yksi heistä.

git -klooni https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

Koska kirjasto on kirjoitettu C-kielellä, se vaatii kääntämisen, joten tarvitset build-essential- ja python-dev-paketit.

sudo apt install build-essential python-dev -ysudo python setup.py install

Kun paketit asennetaan, liitä DHT22 kuvan mukaisesti.

Ja testaa:

cd ~ python -c "tuo Adafruit_DHT muodossa d; tulosta d.read_retry (d. DHT22, 4)"

Jos näet jotain (39.20000076293945, 22.600000381469727), sinun pitäisi tietää, että tämä on kosteus prosentteina ja lämpötila celsiusasteina.

Kootaan nyt kaikki yhdessä!

Vaihe 4: Anturilukemien lähettäminen pilveen

Anturilukemien lähettäminen pilveen
Anturilukemien lähettäminen pilveen
Anturilukemien lähettäminen pilveen
Anturilukemien lähettäminen pilveen

Käytän control.py: tä tukikohtana ja lisään siihen DHT22 -vuorovaikutuksen.

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

Poista esimerkkikoodi kuten yllä olevassa kuvassa.

Koska DHT22 palauttaa sekä lämpötilan että kosteuden yhdellä puhelulla, aion tallentaa ne maailmanlaajuisesti ja päivittää vain kerran pyynnössä olettaen, että niiden välinen viive on yli 10 sekuntia. Harkitse seuraavaa koodia, joka kerää DHT22 -tiedot:

Tuo Adafruit_DHT

lämpötila, hum = Ei mitään, ei mitään

last_update = aika.aika () - 20

def update_data ():

globaali 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 () palautuskierros (temp, 2), jos lämpötila ei ole Ei mitään muuta Ei mitään def get_h (): update_data () paluu kierros (hum, 2) jos hum ei ole Ei mitään muuta Ei mitään

Lisää tämä koodi nykyisen tuonnin jälkeen ja muokkaa muuttujat -osaa niin, että se käyttää uusia toimintoja:

muuttujat = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Kosteus': {'type': 'numeerinen', 'bind': get_h}, 'CPU Temp': {'type': 'numeerinen', 'sitoa': cpu_temp}}

Jos huomaat, että manipuloinnit ovat hämmentäviä, tartu tämän tiedoston lopulliseen versioon. Aloita tiedonsiirto painamalla punaista painiketta:

Sitten voit tarkistaa laitteen sivun.

python3 cloud_dht22.py

Sitten voit tarkistaa laitteen sivun.

Voit jättää sen sellaisenaan, mutta mieluummin saan palvelun kaikkeen. Tämä varmistaa, että komentosarja on aina käynnissä. Palvelun luominen täysin automatisoidulla komentosarjalla, joka sinulla on jo cloud4rpi-raspberrypi-python -hakemistossa:

service_install.sh cloud_dht22.py

Palvelun aloittaminen:

sudo -palvelu cloud4rpi käynnistyy

Ja tarkistaa:

pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -Cloud4RPi daemon Ladattu: ladattu (/lib/systemd/system/cloud4rpi.service; käytössä) aktiivinen: aktiivinen (käynnissä) ke 17.5.2017 lähtien 20: 22: 48 UTC; 1 min sitten Pää PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py

17. toukokuuta 20:22:51 raspberrypi python [560]: Iot-hubin/viestien julkaiseminen: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

17. toukokuuta 20:22:53 raspberrypi python [560]: iot-hubin/viestien julkaiseminen: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. toukokuuta 20: 22:53 raspberrypi python [560]: Iot-hubin/viestien julkaiseminen: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Jos kaikki toimii odotetulla tavalla, voimme jatkaa ja käyttää Cloud4RPi -alustan ominaisuuksia tietojen käsittelyyn.

Vaihe 5: Kaaviot ja hälytykset

Kaaviot ja hälytykset
Kaaviot ja hälytykset
Kaaviot ja hälytykset
Kaaviot ja hälytykset
Kaaviot ja hälytykset
Kaaviot ja hälytykset

Piirrä ensin muuttujat nähdäksesi kuinka ne muuttuvat. Tämä voidaan tehdä lisäämällä uusi ohjauspaneeli ja asettamalla siihen tarvittavat kaaviot.

Toinen asia, jonka voimme tehdä täällä, on hälytyksen asettaminen. Tämän ominaisuuden avulla voit määrittää muuttujan turva -alueen. Heti kun alue on ylitetty, se lähettää sähköposti -ilmoituksen. Ohjauspaneelin muokkaussivulla voit vaihtaa hälytyksiin ja määrittää ne.

Heti sen jälkeen huoneeni kosteus alkoi laskea nopeasti ilman havaittavaa syytä, ja hälytys seurasi pian.

Voit käyttää Cloud4RPi -laitetta ilmaiseksi minkä tahansa laitteiston kanssa, joka pystyy suorittamaan Python -ohjelman. Olen valmis helteeseen! Tervetuloa kesä!

Cloud4RPi: n avulla voit ohjata Raspberry Pi -laitettasi ja muita IoT -laitteitasi etänä reaaliajassa. Vieraile sivustollamme ja liitä rajattomasti laitteita ilmaiseksi.

Suositeltava: