Satura rādītājs:
- 1. darbība: aparatūras sagatavošana
- 2. darbība: SSH iespējošana
- 3. darbība: Cloud4RPi instalēšana
- 4. solis: Sensora pievienošana
- 5. darbība. Sensora rādījumu sūtīšana uz mākoni
- 6. darbība: diagrammas un trauksmes signāli
Video: Temperatūras un mitruma kontrole, izmantojot Raspberry Pi: 6 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Tuvojas vasara, un tiem, kuriem nav gaisa kondicioniera, jābūt gataviem manuāli kontrolēt atmosfēru telpās. Šajā rakstā es aprakstīju mūsdienu veidu, kā izmērīt cilvēka komfortam svarīgākos parametrus: temperatūru un mitrumu. Šie apkopotie dati tiek nosūtīti uz mākoni un tur apstrādāti.
Es izmantoju Raspberry Pi 1 plati un DHT22 sensoru. To pašu var izdarīt jebkurā datorā, kurā ir internets, GPIO un Python. Arī lētāks DHT11 sensors darbojas labi.
1. darbība: aparatūras sagatavošana
Sāksim no paša sākuma, jo es diezgan ilgi neizmantoju savu Raspberry Pi.
Mums būs nepieciešams:
- Raspberry Pi dēlis (vai cita uz IoT orientēta platforma).
- SD vai microSD karte (atkarībā no platformas).
- 5V/1A, izmantojot mikro-USB.
- LAN kabelis, kas nodrošina interneta savienojumu.
- HDMI displejs, RCA displejs vai UART ports (lai iespējotu SSH).
Pirmais solis ir lejupielādēt Raspbian. Es izvēlējos Lite versiju, jo displeja vietā izmantošu SSH. Kopš pēdējās reizes, kad to izdarīju, lietas ir mainījušās: tagad ir lieliska dedzinoša programmatūra ar nosaukumu Etcher, kas darbojas perfekti un ir satriecoša dizaina.
Kad attēla ierakstīšana bija pabeigta, es ievietoju SD karti savā Pi, pievienoju LAN un strāvas kabeļus, un pēc kāda laika mans maršrutētājs reģistrēja jauno ierīci.
2. darbība: SSH iespējošana
SSH pēc noklusējuma ir atspējots. Es varu izmantot vai nu UART-USB pārveidotāju, vai vienkārši pievienot displeju, lai piekļūtu apvalkam un iespējotu SSH.
Pēc pārstartēšanas es beidzot esmu iekšā. Vispirms atjaunināsim:
sudo apt update && sudo apt upgrade -y
Tagad savienosim šo jauno ierīci ar mākoni.
3. darbība: Cloud4RPi instalēšana
Es nolēmu izmēģināt mākoņa platformu ar nosaukumu Cloud4RPi, kas paredzēta IoT.
Saskaņā ar dokumentiem mums ir vajadzīgas šādas paketes, lai tā darbotos:
sudo apt instalēt git python python -pip -y
Klientu bibliotēku var instalēt vienā komandā:
sudo pip instalēt cloud4rpi
Tagad mums ir nepieciešams koda paraugs, lai tas darbotos.
git klons https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git klons https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal && rmdir -re
Es nolēmu palaist minimal.py, bet man nepatīk viltoti dati. Par laimi, šajā piemērā es pamanīju vienkāršu veidu, kā padarīt diagnostikas datus reālus. Pievienojiet vēl vienu importu sadaļai Imports:
no rpi importēšanas *
Pēc tam izdzēsiet šīs funkcijas, kas nodrošina viltotus datus (rpi.py tagad tos definē):
def cpu_temp ():
atgriezt 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): atgriezt 'osx'
Tagad mums ir nepieciešams marķieris, kas ļauj Cloud4RPi saistīt ierīces ar kontiem. Lai to iegūtu, izveidojiet kontu vietnē cloud4rpi.io un šajā lapā nospiediet pogu Jauna ierīce. Aizstājiet _YOUR_DEVICE_TOKEN_ virkni failā minimal.py ar ierīces marķieri un saglabājiet failu. Tagad mēs esam gatavi pirmajai palaišanai.
python minimal.py
Atveriet ierīces lapu un pārbaudiet, vai dati ir tur.
Tagad pāriesim pie reālās pasaules datiem.
4. solis: Sensora pievienošana
Mums būs nepieciešams:
- DHT22 vai DHT11 mitruma sensors
- Pievilkšanas rezistors (5-10 KΩ)
- Vadi
DHT22 sensors vienlaikus mēra temperatūru un mitrumu. Sakaru protokols nav standartizēts, tāpēc mums tas nav jāiespējo raspi -config - ar vienkāršu GPIO tapu ir vairāk nekā pietiekami.
Lai iegūtu datus, es izmantošu Adafruit lielisko bibliotēku DHT sensoriem, taču tā var nedarboties tā, kā ir. Reiz es atklāju dīvainu pastāvīgu koda aizkavēšanos, kas manai aparatūrai nedarbojās, un pēc diviem gadiem mans pieprasījums par izdošanu joprojām tiek izskatīts. Esmu mainījis arī dēļa noteikšanas konstantes, jo mans Raspberry Pi 1 ar BCM2835 tika pārsteidzoši atklāts kā Raspberry Pi 3. Es vēlos, lai tā būtu patiesība … Tādējādi es iesaku izmantot manu dakšiņu. Ja jums rodas kādas problēmas, lūdzu, izmēģiniet oriģinālo krātuvi, varbūt kādam tas noder, bet es neesmu viens no viņiem.
git klons https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Tā kā bibliotēka ir rakstīta C valodā, tā ir jāapkopo, tāpēc jums ir nepieciešamas pakotnes build-essential un python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Pakotņu instalēšanas laikā pievienojiet DHT22, kā parādīts attēlā.
Un pārbaudiet to:
cd ~ python -c "importēt Adafruit_DHT kā d; drukāt d.read_retry (d. DHT22, 4)"
Ja redzat kaut ko līdzīgu (39.20000076293945, 22.600000381469727), jums jāzina, ka tas ir mitrums procentos un temperatūra pēc Celsija.
Tagad apkoposim visu kopā!
5. darbība. Sensora rādījumu sūtīšana uz mākoni
Kā pamatu es izmantošu minimal.py un pievienoju tam DHT22 mijiedarbību.
cd cloud4rpi-aveņu-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Tā kā DHT22 vienā zvanā atgriež gan temperatūru, gan mitrumu, es tos glabāju globāli un atjauninu tikai vienu reizi pieprasījumā, pieņemot, ka kavēšanās starp tām ir ilgāka par 10 sekundēm. Apsveriet šādu kodu, kas iegūst DHT22 datus:
importēt Adafruit_DHT
temp, hum = Nav, nav 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 () atgriešanās kārta (temp, 2), ja temp nav Neviens cits Nav def get_h (): update_data () atgriešanās kārta (hum, 2), ja hum nav Neviens cits Nav
Ievietojiet šo kodu pēc esošās importēšanas un rediģējiet mainīgo sadaļu, lai tā izmantotu jaunās funkcijas:
mainīgie = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Mitrums': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' skaitlisks ',' saistīt ': cpu_temp}}
Nospiediet sarkano pogu, lai sāktu datu pārsūtīšanu:
python cloud_dht22.py
Pēc tam jūs varat pārbaudīt ierīces lapu.
Jūs varat atstāt to tādu, kāds tas ir, bet es dodu priekšroku pakalpojumam par visu. Tas nodrošina, ka skripts vienmēr darbojas. Pakalpojuma izveide ar pilnībā automatizētu skriptu:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Pakalpojuma palaišana:
sākt sudo pakalpojumu cloud4rpi
Un pārbaudiet to:
pi@raspberrypi: ~ $ sudo pakalpojums cloud4rpi statuss -l
● cloud4rpi.service-Cloud4RPi dēmons Ielādēts: ielādēts (/lib/systemd/system/cloud4rpi.service; iespējots) Aktīvs: aktīvs (darbojas) kopš trešdienas 2017-05-17 20:22:48 UTC; Pirms 1 minūtes Galvenais PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py 17. maijs 20:22:51 raspberrypi python [560]: publicēšana -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17. maijs 20:22:53 raspberrypi python [560]: iot-hub/messages publicēšana: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. maijs 20:22:53 raspberrypi python [560]: iot-hub/messages publishing: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Ja viss darbojas, kā paredzēts, mēs varam turpināt un izmantot Cloud4RPi platformas iespējas, lai manipulētu ar datiem.
6. darbība: diagrammas un trauksmes signāli
Pirmkārt, uzzīmēsim mainīgos, lai redzētu, kā tie mainās. To var izdarīt, pievienojot jaunu vadības paneli un ievietojot tajā nepieciešamās diagrammas.
Vēl viena lieta, ko mēs šeit varam darīt, ir brīdinājuma iestatīšana. Šī funkcija ļauj konfigurēt mainīgā drošo diapazonu. Tiklīdz diapazons ir pārsniegts, tas nosūta e -pasta paziņojumu. Vadības paneļa rediģēšanas lapā varat pārslēgties uz brīdinājumiem un tos iestatīt.
Tūlīt pēc tam mitrums manā istabā sāka strauji samazināties bez redzama iemesla, un drīz sekoja modinātājs.
Jūs varat bez maksas izmantot Cloud4RPi ar jebkuru aparatūru, kas spēj izpildīt Python. Kas attiecas uz mani, tagad es vienmēr zinu, kad jāieslēdz gaisa mitrinātājs, un es pat varu to savienot ar tālvadības releju, izmantojot Cloud4RPi. Esmu gatavs karstumam! Sveika vasara!
Ieteicams:
Temperatūras un mitruma kontrole, izmantojot NODE MCU UN BLYNK: 5 soļi
Temperatūras un mitruma uzraudzība, izmantojot NODE MCU un BLYNK: Sveiki, puiši
Temperatūras un mitruma kontrole, izmantojot ESP-01 & DHT un AskSensors Cloud: 8 soļi
Temperatūras un mitruma uzraudzība, izmantojot ESP-01 & DHT un AskSensors Cloud: Šajā pamācībā mēs uzzināsim, kā kontrolēt temperatūru un mitruma mērījumus, izmantojot IOT-MCU/ESP-01-DHT11 plāksni un AskSensors IoT platformu .Šai lietojumprogrammai es izvēlos IOT-MCU ESP-01-DHT11 moduli, jo tas
Temperatūras un mitruma kontrole, izmantojot Blynk: 6 soļi
Temperatūras un mitruma uzraudzība, izmantojot Blynk: Šajā apmācībā w gatavojas uzraudzīt temperatūru un mitrumu, izmantojot DHT11 un nosūtīt datus uz mākoni, izmantojot Blynk Komponenti, kas nepieciešami šai apmācībai: Arduino UnoDHT11 temperatūras un mitruma sensors ESP8266-01 WiFi modulis
Temperatūras un mitruma kontrole, izmantojot SHT25 un Arduino Nano: 5 soļi
Temperatūras un mitruma kontrole, izmantojot SHT25 un Arduino Nano: Mēs nesen esam strādājuši pie dažādiem projektiem, kuriem bija nepieciešama temperatūras un mitruma kontrole, un tad mēs sapratām, ka šiem diviem parametriem faktiski ir izšķiroša nozīme, novērtējot sistēmas darba efektivitāti. Gan Indijā
Temperatūras un mitruma kontrole, izmantojot SHT25 un Raspberry Pi: 5 soļi
Temperatūras un mitruma kontrole, izmantojot SHT25 un Raspberry Pi: Mēs nesen esam strādājuši pie dažādiem projektiem, kuriem bija nepieciešama temperatūras un mitruma kontrole, un tad mēs sapratām, ka šiem diviem parametriem faktiski ir izšķiroša nozīme, novērtējot sistēmas darba efektivitāti. Gan Indijā