Përmbajtje:

Lagështia në re: 5 hapa
Lagështia në re: 5 hapa

Video: Lagështia në re: 5 hapa

Video: Lagështia në re: 5 hapa
Video: Gjinekologu për femrat; Pasi të kryeni marrëdhënie, menjeherë... - #Expuls 2024, Nëntor
Anonim
Lagështia në Re
Lagështia në Re

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.

Furnizimet

Unë jam duke përdorur një bord Raspberry Pi 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
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 kabllit mikro-USB. LAN, i cili siguron lidhjen në internet.
  • 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 ekziston një softuer i shkëlqyeshëm i djegur i quajtur Etcher, i cili funksionon në mënyrë perfekte dhe ka një dizajn mahnitës.

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.

Shkëlqyeshëm! Le të vazhdojmë dhe SSH në të.

Siguria është në rregull, më pëlqen, por kjo i bën gjërat pak më të vështira. Unë do të përdor përshtatësin UART-USB për të hyrë në guaskë dhe për të aktivizuar SSH …

Përdorimi i një ekrani në vend të UART e bën atë shumë më të lehtë.

Pas rindezjes, më në fund jam brenda.

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 2: 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 python3 python3 -pip -y

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

sudo pip3 instaloni cloud4rpi

Tani kemi nevojë për një kod shembull.

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

Skripti i ekzekutueshëm është control.py.

Ne kemi nevojë për 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 control.py me shenjën e pajisjes tuaj dhe ruani skedarin. Tani jemi gati për nisjen e parë.

sudo python3 kontroll.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 3: 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Ω)
  • TelatThe

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.gitcd 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 4: 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
Dërgimi i leximeve të sensorëve në cloud
Dërgimi i leximeve të sensorëve në cloud

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

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

Hiqni kodin shembull si në imazhin e mësipërm.

Ndërsa DHT22 kthen temperaturën dhe lagështinë në një telefonatë të vetme, unë do t'i ruaj ato globalisht dhe do t'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 = koha. koha () - 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 () 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:

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

Nëse ju duket se manipulimet janë konfuze, kapni versionin përfundimtar të këtij skedari. Shtypni butonin e kuq për të filluar transferimin e të dhënave:

Pastaj mund të kontrolloni faqen e pajisjes.

python3 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 që tashmë e keni në drejtorinë cloud4rpi-raspberrypi-python:

service_install.sh 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 ● cloud4rpi.service -Cloud4RPi demon i ngarkuar: i ngarkuar (/lib/systemd/system/cloud4rpi.service; i aktivizuar) Aktiv: aktiv (në punë) që nga e Marta 2017-05-17 20: 22: 48 UTC; 1 min më parë PID kryesor: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py

17 maj 20:22:51 raspberrypi python [560]: Publikimi iot-hub/mesazhe: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

Maj 17 20:22:53 python raspberrypi [560]: Publikimi iot-qendër/mesazhe: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 Maj 20: 22:53 raspberrypi python [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 5: 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ë!

Me Cloud4RPi, ju mund të kontrolloni Raspberry Pi tuaj dhe pajisje të tjera IoT nga distanca në kohë reale. Vizitoni faqen tonë dhe lidhni pajisje të pakufizuara falas.

Recommended: