Përmbajtje:

Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi: 6 hapa (me fotografi)
Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi: 6 hapa (me fotografi)

Video: Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi: 6 hapa (me fotografi)

Video: Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi: 6 hapa (me fotografi)
Video: The Choice is Ours (2016) Official Full Version 2024, Nëntor
Anonim
Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi
Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi
Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi
Monitorimi i temperaturës dhe lagështisë duke përdorur Raspberry Pi

Vera po vjen, dhe ata pa kondicioner duhet të jenë të përgatitur për të kontrolluar atmosferën në ambiente të mbyllura me dorë. Në këtë postim, unë jam duke përshkruar mënyrën moderne për të matur parametrat më të rëndësishëm për rehatinë njerëzore: temperaturën dhe lagështinë. Këto të dhëna të mbledhura dërgohen në re dhe përpunohen atje.

Unë jam duke përdorur një bord Raspberry Pi 1 dhe sensorin DHT22. Ju mund të bëni të njëjtën gjë në çdo kompjuter që ka internet, GPIO dhe Python. Sensori më i lirë DHT11 gjithashtu funksionon mirë.

Hapi 1: Përgatitja e pajisjeve

Përgatitja e pajisjeve kompjuterike
Përgatitja e pajisjeve kompjuterike
Përgatitja e pajisjeve kompjuterike
Përgatitja e pajisjeve kompjuterike

Le të fillojmë që nga fillimi, pasi nuk e kam përdorur Raspberry Pi tim për një kohë mjaft të gjatë.

Do të na duhen:

  • Bordi Raspberry Pi (ose platformë tjetër e orientuar në IoT).
  • Kartë SD ose microSD (në varësi të platformës).
  • 5V/1A përmes mikro-USB.
  • Kabllo LAN, e cila siguron lidhje interneti.
  • Ekran HDMI, ekran RCA ose port UART (për të aktivizuar SSH).

Hapi i parë është shkarkimi i Raspbian. Unë kam zgjedhur versionin Lite, pasi do të përdor SSH në vend të ekranit. Gjërat kanë ndryshuar që nga hera e fundit që e bëra: tani ka një softuer të shkëlqyeshëm të djegur të quajtur Etcher, i cili punon në mënyrë të përsosur dhe ka një dizajn mahnitës Me

Pasi përfundoi djegia e imazhit, futa kartën SD në Pi tim, futa LAN dhe kabllot e energjisë, dhe pas një kohe, ruteri im regjistroi pajisjen e re.

Hapi 2: Aktivizimi i SSH

Aktivizimi i SSH
Aktivizimi i SSH
Aktivizimi i SSH
Aktivizimi i SSH
Aktivizimi i SSH
Aktivizimi i SSH

SSH është e çaktivizuar si parazgjedhje. Unë mund të përdor ose konvertuesin UART-USB ose thjesht të lidh një ekran për të hyrë në guaskë dhe për të aktivizuar SSH.

Pas rindezjes, më në fund jam. Gjërat e para së pari, le të azhurnojmë:

sudo apt update && sudo apt upgrade -y

Tani le ta lidhim këtë pajisje të re me Cloud.

Hapi 3: Instalimi i Cloud4RPi

Instalimi i Cloud4RPi
Instalimi i Cloud4RPi

Vendosa të provoj platformën cloud të quajtur Cloud4RPi, e cila është krijuar për IoT.

Sipas dokumenteve, na duhen paketat e mëposhtme për ta funksionuar:

sudo apt instaloni git python python -pip -y

Biblioteka e klientit mund të instalohet në një komandë të vetme:

sudo pip instaloni cloud4rpi

Tani na duhet një kod mostër për të siguruar që funksionon.

git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git minimale e && mv && rmdir -re

Vendosa të ekzekutoja minimal.py, por nuk më pëlqejnë të dhënat e rreme. Për fat të mirë, unë vura re një mënyrë të thjeshtë për t'i bërë të dhënat diagnostikuese reale në këtë shembull. Shtoni një import më shumë në seksionin e importeve:

nga importi i rpi *

Pastaj fshini këto funksione që ofrojnë të dhëna të rreme (rpi.py i përcakton ato tani):

def cpu_temp ():

kthehu 70 def ip_address (): kthehu '8.8.8.8' def host_name (): kthehu 'hostname' def os_name (): ktheu 'osx'

Tani na duhet një shenjë, e cila lejon Cloud4RPi të lidhë pajisjet me llogaritë. Për të marrë një, krijoni një llogari në cloud4rpi.io dhe shtypni butonin Pajisja e Re në këtë faqe. Zëvendësoni vargun _YOUR_DEVICE_TOKEN_ në skedarin minimal.py me shenjën e pajisjes tuaj dhe ruani skedarin. Tani jemi gati për nisjen e parë.

python minimal.py

Hapni faqen e pajisjes dhe kontrolloni që të dhënat janë atje.

Tani le të kalojmë në të dhënat e botës reale.

Hapi 4: Lidhja e sensorit

Lidhja e sensorit
Lidhja e sensorit

Do të na duhen:

  • Sensori i lagështisë DHT22 ose DHT11
  • Rezistencë tërheqëse (5-10 KΩ)
  • Telat

Sensori DHT22 mat temperaturën dhe lagështinë njëkohësisht. Protokolli i komunikimit nuk është i standardizuar, kështu që ne nuk kemi nevojë ta aktivizojmë atë në konfigurimin raspi - një pin i thjeshtë GPIO është më se i mjaftueshëm.

Për të marrë të dhënat, do të përdor bibliotekën e madhe të Adafruit për sensorët DHT, por mund të mos funksionojë siç është. Një herë gjeta një vonesë të çuditshme të vazhdueshme në kod, i cili nuk funksionoi për pajisjen time, dhe pas dy vitesh kërkesa ime e tërheqjes është ende në pritje. Unë gjithashtu kam ndryshuar konstantet e zbulimit të tabelës sepse Raspberry Pi 1 im me BCM2835 u zbulua çuditërisht si Raspberry Pi 3. Do të doja të ishte e vërtetë … Kështu, unë rekomandoj të përdorni pirunin tim. Nëse përjetoni ndonjë problem me të, ju lutemi provoni depon origjinale, mbase funksionon për dikë, por unë nuk jam një prej tyre.

git klon https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT

Meqenëse biblioteka është shkruar në C, ajo kërkon përpilim, kështu që ju keni nevojë për paketat thelbësore të ndërtimit dhe python-dev.

sudo apt install build-thelbësore python-dev -ysudo python setup.py install

Ndërsa paketat janë duke u instaluar, lidhni DHT22 siç tregohet në figurë.

Dhe provojeni atë:

cd -python -c "importo Adafruit_DHT si d; print d.read_retry (vd. DHT22, 4)"

Nëse shihni diçka si (39.20000076293945, 22.600000381469727), duhet të dini se kjo është lagështia në përqindje dhe temperatura në Celsius.

Tani, le të mbledhim gjithçka së bashku!

Hapi 5: Dërgimi i leximeve të sensorëve në cloud

Dërgimi i leximeve të sensorëve në cloud
Dërgimi i leximeve të sensorëve në cloud

Unë do të përdor minimal.py si bazë dhe do të shtoj ndërveprimin DHT22 në të.

cd cloud4rpi-raspberrypi-python

cp minimal.py/cloud_dht22.py cp rpi.py/rpi.py cd vi cloud_dht22.py

Ndërsa DHT22 kthen temperaturën dhe lagështinë në një telefonatë të vetme, unë i ruaj ato në nivel global dhe i azhurnoj vetëm një herë në një kërkesë, duke supozuar se vonesa midis tyre është më shumë se 10 sekonda. Konsideroni kodin e mëposhtëm, i cili merr të dhënat DHT22:

importoni Adafruit_DHT

temp, hum = Asnjë, Asnjë last_update = time.time () - 20 def update_data (): last_update globale, 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 () raundi i kthimit (temp, 2) nëse temp nuk është Asnjë tjetër Asnjë def get_h (): update_data () raundi i kthimit (hum, 2) nëse hum nuk është Asnjë tjetër Asnjë

Futni këtë kod pas importeve ekzistuese dhe modifikoni seksionin e variablave në mënyrë që të përdor funksionet e reja:

variabla = {

'DHT22 Temp': {'type': 'numerike', 'bind': get_t}, 'Lagështia DHT22': {'type': 'numerike', 'bind': get_h}, 'Temp CPU': {'type ':' numerike ',' bind ': cpu_temp}}

Shtypni butonin e kuq për të filluar transferimin e të dhënave:

python cloud_dht22.py

Pastaj mund të kontrolloni faqen e pajisjes.

Mund ta lini ashtu siç është, por unë preferoj të kem një shërbim për gjithçka. Kjo siguron që skenari të jetë gjithmonë në punë. Krijimi i një shërbimi me skriptin plotësisht të automatizuar:

wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py

Fillimi i shërbimit:

fillimi i shërbimit sudo cloud4rpi

Dhe duke e kontrolluar:

pi@raspberrypi: service $ sudo service cloud4rpi status -l

Vice cloud4rpi.service-Daemon Cloud4RPi Ngarkuar: ngarkuar (ngarkuar (/lib/systemd/system/cloud4rpi.service; aktivizuar) Aktiv: aktiv (aktiv) që nga e Marta 2017-05-17 20:22:48 UTC; 1min më parë PID kryesor: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMaj 17 20:22:51 raspberrypi python [560]: Publikimi iot -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} Maj 17 20:22:53 python raspberrypi [560]: Publikimi iot-hub/mesazhe: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 maj 20:22:53 python raspberrypi [560]: Publikimi iot-hub/mesazhe: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Nëse gjithçka funksionon siç pritej, ne mund të vazhdojmë dhe të përdorim aftësitë e platformës Cloud4RPi për të manipuluar me të dhënat.

Hapi 6: Listat dhe Alarmet

Listat dhe Alarmet
Listat dhe Alarmet
Listat dhe Alarmet
Listat dhe Alarmet
Listat dhe Alarmet
Listat dhe Alarmet

Para së gjithash, le të vizatojmë variablat për të parë se si ndryshojnë. Kjo mund të bëhet duke shtuar një Panel të ri Kontrolli dhe duke vendosur grafikët e kërkuar në të.

Një gjë tjetër që mund të bëjmë këtu është vendosja e një alarmi. Kjo veçori ju mundëson të konfiguroni gamën e sigurt për një ndryshore. Sapo të tejkalohet diapazoni, ai dërgon një njoftim me email. Në faqen e redaktimit të Panelit të Kontrollit, mund të kaloni te Sinjalizimet dhe të konfiguroni një.

Menjëherë pas kësaj, lagështia në dhomën time filloi të ulet me shpejtësi pa ndonjë arsye të dukshme dhe alarmi shpejt pasoi.

Mund ta përdorni Cloud4RPi falas me çdo pajisje që është në gjendje të ekzekutojë Python. Sa për mua, tani e di gjithmonë se kur ta ndez lagështuesin e ajrit dhe madje mund ta lidh atë me një stafetë për telekomandë nëpërmjet Cloud4RPi. Unë jam gati për nxehtësinë! Mirësevini, Verë!

Recommended: