Sisällysluettelo:
- Vaihe 1: Laitteiston valmistelu
- Vaihe 2: SSH: n käyttöönotto
- Vaihe 3: Cloud4RPi: n asennus
- Vaihe 4: Liitä anturi
- Vaihe 5: Anturilukemien lähettäminen pilveen
- Vaihe 6: Kaaviot ja hälytykset
Video: Lämpötilan ja kosteuden seuranta Raspberry Pi: n avulla: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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ä.
Käytän Raspberry Pi 1 -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
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 micro-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 sijasta..
Kun kuvan polttaminen oli valmis, laitoin SD -kortin Pi -laitteeseeni, liitin lähiverkko- ja virtakaapelit ja hetken kuluttua reitittimeni rekisteröi uuden laitteen.
Vaihe 2: SSH: n käyttöönotto
SSH on oletusarvoisesti poissa käytöstä. Voin käyttää joko UART-USB-muunninta tai kytkeä vain näytön päästäksesi kuoreen ja ottamaan SSH käyttöön.
Uudelleenkäynnistyksen jälkeen olen vihdoin mukana. Päivitämme ensin:
sudo apt päivitys && sudo apt päivitys -y
Kytketään nyt tämä uusi laite pilveen.
Vaihe 3: Cloud4RPi: n asennus
Päätin kokeilla Cloud4RPi -nimistä pilvialustaa, joka on suunniteltu IoT: lle.
Asiakirjojen mukaan tarvitsemme seuraavat paketit käynnistääksemme sen:
sudo apt asentaa git python python -pip -y
Asiakaskirjasto voidaan asentaa yhdellä komennolla:
sudo pip asenna cloud4rpi
Nyt tarvitsemme esimerkkikoodin sen varmistamiseksi.
git-klooni https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git-klooni https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal && rmdir -re
Päätin ajaa minimal.py, mutta en pidä väärennetyistä tiedoista. Onneksi huomasin helpon tavan tehdä diagnostiikkatiedot todellisiksi tässä esimerkissä. Lisää vielä yksi tuonti tuontiosioon:
RPI -tuonnista *
Poista sitten nämä toiminnot, jotka tarjoavat vääriä tietoja (rpi.py määrittelee ne nyt):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): palauta 'osx'
Nyt 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 minimal.py -tiedostossa laitteen tunnuksella ja tallenna tiedosto. Nyt olemme valmiita ensimmäiseen lanseeraukseen.
python minimal.py
Avaa laitteen sivu ja tarkista, että tiedot ovat siellä.
Siirrytään nyt todellisiin tietoihin.
Vaihe 4: Liitä anturi
Tarvitsemme:
- DHT22- tai DHT11 -kosteusanturi
- Pull-up vastus (5-10 KΩ)
- Johdot
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…. 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 5: Anturilukemien lähettäminen pilveen
Käytän minimal.py: tä pohjana ja lisään siihen DHT22 -vuorovaikutuksen.
cd cloud4rpi-vadelmapi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Koska DHT22 palauttaa sekä lämpötilan että kosteuden yhdellä puhelulla, tallennan ne maailmanlaajuisesti ja päivitän vain kerran pyynnöstä olettaen, että niiden välinen viive on yli 10 sekuntia. Harkitse seuraavaa koodia, joka kerää DHT22 -tiedot:
Tuo Adafruit_DHT
temp, hum = Ei mitään, ei 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 () paluu kierros (temp, 2) jos lämpötila ei ole Ei mitään muuta def def_ (): update_data () paluu kierros (hum, 2) jos hum ei ole Ei kukaan muu 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': 'numeerinen', 'bind': get_t}, 'DHT22 -kosteus': {'type': 'numeerinen', 'bind': get_h}, 'CPU Temp': {'type ':' numeerinen ',' sitoa ': cpu_temp}}
Aloita tiedonsiirto painamalla punaista painiketta:
python 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:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s 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 2017-05-17 20:22:48 UTC; 1 minuutti sitten PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyToukokuu 17 20:22:51 raspberrypi python [560]: Julkaisu -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17. toukokuuta 20:22:53 raspberrypi python [560]: Julkaiseminen iot-hub/messages: {'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 6: 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ä!
Suositeltava:
Lämpötilan ja kosteuden seuranta Blynkin avulla: 6 vaihetta
Lämpötilan ja kosteuden seuranta Blynkin avulla: Tässä opetusohjelmassa aiomme seurata lämpötilaa ja kosteutta DHT11: n avulla ja lähettää tiedot pilveen käyttämällä Blynk-komponentteja
Lämpötilan ja kosteuden seuranta AWS-ESP32: 8 vaihetta
Lämpötilan ja kosteuden seuranta AWS-ESP32: Tässä opetusohjelmassa mitataan erilaisia lämpötila- ja kosteustietoja käyttämällä lämpötila- ja kosteusanturia. Opit myös lähettämään nämä tiedot AWS: lle
ESP8266 Nodemcu -lämpötilan valvonta DHT11: n avulla paikallisessa verkkopalvelimessa - Saat huoneen lämpötilan ja kosteuden selaimeesi: 6 vaihetta
ESP8266 Nodemcu -lämpötilan valvonta DHT11: n avulla paikallisessa verkkopalvelimessa | Saat huoneen lämpötilan ja kosteuden selaimeesi: Hei kaverit tänään, teemme kosteutta & lämpötilan valvontajärjestelmä ESP 8266 NODEMCU & DHT11 lämpötila -anturi. Lämpötila ja kosteus saadaan DHT11 Sensor & selaimesta näkyy, mitä verkkosivua hallitaan
Lämpötilan ja kosteuden valvonta SHT25: n ja Raspberry Pi: n avulla: 5 vaihetta
Lämpötilan ja kosteuden valvonta SHT25: n ja Raspberry Pi: n avulla: Olemme äskettäin työskennelleet erilaisissa projekteissa, jotka vaativat lämpötilan ja kosteuden seurantaa, ja sitten huomasimme, että näillä kahdella parametrilla on itse asiassa keskeinen rooli arvioitaessa järjestelmän tehokkuutta. Molemmat teollisuudessa
ESP8266: Lämpötilan ja kosteuden seuranta: 12 vaihetta
ESP8266: Lämpötilan ja kosteuden seuranta: Tämän päivän opetusohjelmassa käytämme ESP-01: tä, joka on ESP8266 kokoonpanossa 01 (vain 2 GPIO), DHT22-anturin lämpötila- ja kosteuslukemiin. Näytän sinulle sähkökaavion ja ESP -ohjelmointiosan Arduinon kanssa