INHOUDSOPGAWE:
- Stap 1: Berei hardeware voor
- Stap 2: Aktiveer SSH
- Stap 3: Installeer Cloud4RPi
- Stap 4: Koppel die sensor
- Stap 5: Stuur sensorlesings na die wolk
- Stap 6: Kaarte en alarms
Video: Temperatuur- en humiditeitsmonitering met behulp van Framboos Pi: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Die somer kom, en diegene sonder 'n lugversorger moet voorbereid wees om die atmosfeer binnenshuis handmatig te beheer. In hierdie pos beskryf ek die moderne manier om die belangrikste parameters vir menslike gemak te meet: temperatuur en humiditeit. Hierdie versamelde data word na die wolk gestuur en daar verwerk.
Ek gebruik 'n Raspberry Pi 1 -bord en die DHT22 -sensor. U kan dieselfde doen op elke rekenaar met die internet, GPIO en Python. Die goedkoper DHT11 -sensor werk ook goed.
Stap 1: Berei hardeware voor
Laat ons van die begin af begin, aangesien ek my Raspberry Pi lanklaas gebruik het.
Ons benodig:
- Framboos Pi-bord (of ander IoT-georiënteerde platform).
- SD- of microSD -kaart (afhangende van die platform).
- 5V/1A via mikro-USB.
- LAN -kabel, wat die internetverbinding bied.
- HDMI -skerm, RCA -skerm of UART -poort (om SSH moontlik te maak).
Die heel eerste stap is om Raspbian af te laai. Ek het die Lite -weergawe gekies, aangesien ek SSH gaan gebruik in plaas van om te vertoon..
Nadat die beeldverbranding voltooi is, het ek die SD -kaart in my Pi geplaas, die LAN- en kragkabels ingeprop, en na 'n rukkie het my router die nuwe toestel geregistreer.
Stap 2: Aktiveer SSH
SSH is standaard uitgeskakel. Ek kan 'n UART-USB-omskakelaar gebruik of net 'n skerm aansluit om toegang tot die dop te verkry en SSH moontlik te maak.
Na die herlaai, is ek uiteindelik in. Eerste dinge, laat ons opdateer:
sudo apt update && sudo apt upgrade -y
Laat ons nou hierdie nuwe toestel aan die wolk koppel.
Stap 3: Installeer Cloud4RPi
Ek het besluit om die wolkplatform genaamd Cloud4RPi te probeer, wat ontwerp is vir IoT.
Volgens die dokumente benodig ons die volgende pakkette om dit aan die gang te kry:
sudo apt installeer git python python -pip -y
Die kliëntbiblioteek kan in 'n enkele opdrag geïnstalleer word:
sudo pip installeer cloud4rpi
Nou benodig ons 'n voorbeeldkode om te verseker dat dit werk.
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.py minimal.py && rmdir -re
Ek het besluit om minimal.py uit te voer, maar ek hou nie van die valse data nie. Gelukkig het ek in hierdie voorbeeld 'n maklike manier gevind om die diagnostiese data werklik te maak. Voeg nog 'n invoer by die invoerafdeling:
vanaf rpi invoer *
Vee dan hierdie funksies uit wat vals data verskaf (die rpi.py definieer dit nou):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Nou het ons 'n teken nodig waarmee Cloud4RPi die toestelle met die rekeninge kan koppel. Om een te kry, skep 'n rekening op cloud4rpi.io en druk die knoppie Nuwe toestel op hierdie bladsy. Vervang die _YOUR_DEVICE_TOKEN_ -string in die minimal.py -lêer met die token van u toestel en stoor die lêer. Nou is ons gereed vir die eerste bekendstelling.
python minimal.py
Maak die toestelbladsy oop en kyk of die data daar is.
Kom ons gaan nou na regte data.
Stap 4: Koppel die sensor
Ons benodig:
- DHT22 of DHT11 humiditeitsensor
- Oprolweerstand (5-10 KΩ)
- Drade
Die DHT22 sensor meet temperatuur en humiditeit gelyktydig. Die kommunikasieprotokol is nie gestandaardiseer nie, dus hoef ons dit nie in raspi -config te aktiveer nie - 'n eenvoudige GPIO -pen is meer as genoeg.
Om die data te bekom, gebruik ek die uitstekende biblioteek van Adafruit vir DHT -sensors, maar dit werk moontlik nie soos dit is nie. Ek het een keer 'n vreemde konstante vertraging in die kode gevind, wat nie vir my hardeware werk nie, en na twee jaar is my trekversoek nog afgehandel. Ek het ook die bordopsporingskonstante verander omdat my Raspberry Pi 1 met BCM2835 verbasend opgespoor is as Raspberry Pi 3. Ek wens dit was waar … Daarom beveel ek aan om my vurk te gebruik. As u probleme daarmee ondervind, probeer die oorspronklike bewaarplek, miskien werk dit vir iemand, maar ek is nie een daarvan nie.
git -kloon https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Aangesien die biblioteek in C geskryf is, is dit nodig om dit op te stel, dus benodig u die build-essential en python-dev pakkette.
sudo apt install build-essential python-dev -ysudo python setup.py installeer
Verbind die DHT22 terwyl die pakkette geïnstalleer word, soos op die foto getoon.
En toets dit:
cd ~ python -c "import Adafruit_DHT as d; print d.read_retry (d. DHT22, 4)"
As u iets soos (39.20000076293945, 22.600000381469727) sien, moet u weet dat dit die humiditeit in persentasie en temperatuur in Celsius is.
Laat ons nou alles bymekaarmaak!
Stap 5: Stuur sensorlesings na die wolk
Ek sal die minimal.py as basis gebruik en die DHT22 -interaksie daarby voeg.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Aangesien DHT22 temperatuur en humiditeit in 'n enkele oproep terugbring, stoor ek dit wêreldwyd en werk ek slegs een keer in 'n versoek by, as die vertraging tussen hulle meer as 10 sekondes is. Oorweeg die volgende kode wat die DHT22 -data verkry:
voer Adafruit_DHT in
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 () return round (temp, 2) if temp is not None else None def get_h (): update_data () return round (hum, 2) if hum is not Niks anders nie
Voeg hierdie kode na die bestaande invoer in en wysig die afdeling veranderlikes sodat dit die nuwe funksies gebruik:
veranderlikes = {
'DHT22 Temp': {'type': 'numeries', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeries', 'bind': get_h}, 'CPU Temp': {'tipe ':' numeries ',' bind ': cpu_temp}}
Druk die rooi knoppie om die data -oordrag te begin:
python cloud_dht22.py
Dan kan u die apparaatbladsy nagaan.
U kan dit net so laat, maar ek verkies om 'n diens vir alles te hê. Dit verseker dat die script altyd werk. Skep 'n diens met die volledig outomatiese script:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Begin van die diens:
sudo -diens cloud4rpi begin
En kyk daarna:
pi@raspberrypi: ~ $ sudo diens cloud4rpi status -l
● cloud4rpi.service-Cloud4RPi-demoon gelaai: gelaai (/lib/systemd/system/cloud4rpi.service; geaktiveer) Aktief: aktief (loop) sedert Wo 2017-05-17 20:22:48 UTC; 1 min gelede Main PID: 560 (python) CGroep: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 17 20:22:51 raspberrypi python [560]: Publishing iot -hub/messages: {'type': 'config', 'ts': '2017-05-17T20 … y'}]} 17 Mei 20:22:53 raspberrypi python [560]: Publisering van iot-hub/boodskappe: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 Mei 20:22:53 raspberrypi python [560]: Publisering van iot-hub/boodskappe: {'type': 'stelsel', 'ts': '2017-05-17T20….4'}}
As alles werk soos verwag, kan ons voortgaan met die vermoëns van die Cloud4RPi -platform om met die data te manipuleer.
Stap 6: Kaarte en alarms
Laat ons eerstens die veranderlikes plot om te sien hoe hulle verander. Dit kan gedoen word deur 'n nuwe bedieningspaneel by te voeg en die vereiste kaarte daarin te plaas.
Nog iets wat ons hier kan doen, is om 'n waarskuwing op te stel. Met hierdie funksie kan u die veilige reeks vir 'n veranderlike opstel. Sodra die reeks oorskry is, stuur dit 'n e -pos kennisgewing. Op die bewerkingsbladsy van die bedieningspaneel kan u oorskakel na waarskuwings en een opstel.
Net daarna het die humiditeit in my kamer vinnig begin afneem sonder om 'n merkbare rede daarvoor te hê, en die alarm het vinnig gevolg.
U kan Cloud4RPi gratis gebruik met enige hardeware wat Python kan uitvoer, en ek weet nou altyd wanneer ek die lugbevochtiger moet aanskakel, en ek kan dit selfs verbind met 'n relais vir afstandbeheer via Cloud4RPi. Ek is voorbereid op die hitte! Welkom somer!
Aanbeveel:
Temperatuur- en humiditeitsmonitering met behulp van NODE MCU EN BLYNK: 5 stappe
Temperatuur- en humiditeitsmonitering met behulp van NODE MCU EN BLYNK: Hallo ouens In hierdie instruksies kan ons leer hoe om temperatuur en humiditeit van die atmosfeer te kry met behulp van DHT11-temperatuur- en humiditeitsensor met behulp van Node MCU en BLYNK-app
Temperatuur- en humiditeitsmonitering met behulp van die ESP-01 & DHT en die AskSensors-wolk: 8 stappe
Temperatuur- en humiditeitsmonitering met behulp van die ESP-01 & DHT en die AskSensors-wolk: in hierdie instruksies gaan ons leer hoe om die temperatuur- en humiditeitsmetings te monitor met behulp van die IOT-MCU/ESP-01-DHT11-bord en die AskSensors IoT-platform .Ek kies die IOT-MCU ESP-01-DHT11-module vir hierdie toepassing omdat dit
Temperatuur- en humiditeitsmonitering met behulp van Blynk: 6 stappe
Temperatuur- en humiditeitsmonitering met behulp van Blynk: In hierdie tutoriaal gaan ons na temperatuur en humiditeit met behulp van DHT11, en stuur die data wolk toe met behulp van Blynk-komponente wat benodig word vir hierdie tutoriaal: Arduino UnoDHT11 temperatuur- en humiditeitsensor ESP8266-01 WiFi-module
Temperatuur- en humiditeitsmonitering met behulp van SHT25 en Arduino Nano: 5 stappe
Temperatuur- en humiditeitsmonitering met behulp van SHT25 en Arduino Nano: Ons het onlangs aan verskeie projekte gewerk wat temperatuur- en humiditeitsmonitering vereis, en toe besef ons dat hierdie twee parameters eintlik 'n deurslaggewende rol speel in die berekening van die werkdoeltreffendheid van 'n stelsel. Beide by die indus
Temperatuur- en humiditeitsmonitering met behulp van SHT25 en Framboos Pi: 5 stappe
Temperatuur- en humiditeitsmonitering met behulp van SHT25 en Raspberry Pi: Ons het onlangs aan verskeie projekte gewerk wat temperatuur- en humiditeitsmonitering vereis, en toe besef ons dat hierdie twee parameters eintlik 'n deurslaggewende rol speel in die berekening van die doeltreffendheid van 'n stelsel. Beide by die indus