Мазмұны:

Raspberry Pi көмегімен температура мен ылғалдылықты бақылау: 6 қадам (суреттермен)
Raspberry Pi көмегімен температура мен ылғалдылықты бақылау: 6 қадам (суреттермен)

Бейне: Raspberry Pi көмегімен температура мен ылғалдылықты бақылау: 6 қадам (суреттермен)

Бейне: Raspberry Pi көмегімен температура мен ылғалдылықты бақылау: 6 қадам (суреттермен)
Бейне: Melexis MLX90614 инфрақызыл термометрін Arduino көмегімен қолдану 2024, Шілде
Anonim
Raspberry Pi көмегімен температура мен ылғалдылықты бақылау
Raspberry Pi көмегімен температура мен ылғалдылықты бақылау
Raspberry Pi көмегімен температура мен ылғалдылықты бақылау
Raspberry Pi көмегімен температура мен ылғалдылықты бақылау

Жаз келе жатыр, ал кондиционері жоқ адамдар үйдегі атмосфераны қолмен басқаруға дайын болуы керек. Бұл жазбада мен адам жайлылығының маңызды параметрлерін өлшеудің заманауи әдісін сипаттаймын: температура мен ылғалдылық. Бұл жиналған деректер бұлтқа жіберіледі және сол жерде өңделеді.

Мен Raspberry Pi 1 тақтасын және DHT22 сенсорын қолданамын. Сіз мұны Интернет, GPIO және Python бар кез келген компьютерде жасай аласыз. Арзан DHT11 сенсоры да жақсы жұмыс істейді.

1 -қадам: жабдықты дайындау

Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау

Басынан бастайық, өйткені мен Raspberry Pi -ді ұзақ уақыт бойы пайдаланбаған едім.

Бізге қажет болады:

  • Raspberry Pi тақтасы (немесе басқа IoT бағытталған платформа).
  • SD немесе microSD картасы (платформаға байланысты).
  • Micro-USB арқылы 5V/1A.
  • Интернетке қосылуды қамтамасыз ететін LAN кабелі.
  • HDMI дисплейі, RCA дисплейі немесе UART порты (SSH қосу үшін).

Бірінші қадам - Raspbian жүктеу. Мен Lite нұсқасын таңдадым, себебі мен дисплейдің орнына SSH қолданамын, соңғы рет жасағаннан бері бәрі өзгерді: қазір Etcher деп аталатын керемет жанатын бағдарламалық жасақтама бар, ол тамаша жұмыс істейді және керемет дизайнға ие..

Кескінді жазу аяқталғаннан кейін мен SD картасын Pi -ге салып, LAN мен қуат кабельдерін жалғадым, біраз уақыттан кейін маршрутизаторым жаңа құрылғыны тіркеді.

2 -қадам: SSH қосу

SSH қосылу
SSH қосылу
SSH қосылу
SSH қосылу
SSH қосылу
SSH қосылу

SSH әдепкі бойынша өшірілген. Мен UART-USB түрлендіргішін қолдана аламын немесе қабыққа кіру және SSH қосу үшін дисплейді қосамын.

Қайта жүктеуден кейін мен ақырында кіремін. Біріншіден, алдымен жаңартамыз:

sudo apt update && sudo apt upgrade -y

Енді бұл жаңа құрылғыны бұлтқа қосайық.

3 -қадам: Cloud4RPi орнату

Cloud4RPi орнату
Cloud4RPi орнату

Мен IoT арналған Cloud4RPi деп аталатын бұлтты платформаны қолданып көруді шештім.

Құжаттарға сәйкес, оны іске қосу үшін бізге келесі пакеттер қажет:

sudo apt install git python python -pip -y

Клиенттік кітапхананы бір пәрменде орнатуға болады:

sudo pip cloud4rpi орнатады

Енді оның жұмыс істеуін қамтамасыз ету үшін бізге кейбір үлгі коды қажет.

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

Мен minimal.py іске қосуды шештім, бірақ маған жалған мәліметтер ұнамайды. Бақытымызға орай, мен осы мысалда диагностикалық деректерді шынайы етудің оңай әдісін байқадым. Импорт бөліміне тағы бір импортты қосыңыз:

rpi импортынан *

Содан кейін жалған деректер беретін мына функцияларды жойыңыз (rpi.py оларды қазір анықтайды):

def cpu_temp ():

қайтару 70 def ip_address (): қайтару '8.8.8.8' def host_name (): қайтару 'хост атауы' def os_name (): қайтару 'osx'

Енді бізге Cloud4RPi құрылғыларды есептік жазбалармен байланыстыруға мүмкіндік беретін белгі қажет. Оны алу үшін cloud4rpi.io сайтында тіркелгі жасаңыз және осы беттегі Жаңа құрылғы түймесін басыңыз. Minimal.py файлындағы _YOUR_DEVICE_TOKEN_ жолын құрылғыңыздың белгісімен ауыстырыңыз және файлды сақтаңыз. Енді біз бірінші ұшырылымға дайынбыз.

python minimal.py

Құрылғы бетін ашып, онда деректер бар екенін тексеріңіз.

Енді нақты деректерге көшейік.

4 -қадам: сенсорды қосу

Сенсорды қосу
Сенсорды қосу

Бізге қажет болады:

  • DHT22 немесе DHT11 ылғалдылық сенсоры
  • Тартылатын резистор (5-10 КО)
  • Сымдар

DHT22 сенсоры бір мезгілде температура мен ылғалдылықты өлшейді. Байланыс протоколы стандартталмаған, сондықтан оны raspi -config -те қосудың қажеті жоқ - қарапайым GPIO түйрегіші жеткілікті.

Деректерді алу үшін мен DHT сенсорлары үшін Adafruit тамаша кітапханасын қолданамын, бірақ ол жұмыс істемеуі мүмкін. Мен бір кездері менің аппараттық құралымда жұмыс істемейтін біртүрлі тұрақты кідірісті таптым, ал екі жылдан кейін менің сұранысым әлі де күтілуде. Мен тақтаны анықтаудың тұрақтыларын да өзгерттім, себебі менің BCM2835 бар Raspberry Pi 1 таңқаларлық түрде Raspberry Pi 3 ретінде анықталды. Мен бұл шын болғанын қалаймын … Сондықтан мен шанышқымды пайдалануды ұсынамын. Егер сізде қандай да бір проблемалар туындаса, түпнұсқалық репозиторийді қолданып көріңіз, мүмкін ол біреу үшін жұмыс істейді, бірақ мен олардың бірі емеспін.

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

Кітапхана C тілінде жазылғандықтан, ол компиляцияны қажет етеді, сондықтан сізге build-essential және python-dev пакеттері қажет.

sudo apt install build-essential python-dev -ysudo python setup.py install

Пакеттер орнатылып жатқанда, суретте көрсетілгендей DHT22 қосыңыз.

Және оны тексеріңіз:

cd ~ python -c «d түрінде Adafruit_DHT импорттау; d.read_retry басып шығару (d. DHT22, 4)»

Егер сіз (39.20000076293945, 22.600000381469727) сияқты нәрсені көрсеңіз, онда бұл Цельсийдегі пайыздық және температуралық ылғалдылық екенін білуіңіз керек.

Енді бәрін бірге жинайық!

5 -қадам: сенсорлық көрсеткіштерді бұлтқа жіберу

Сенсорлық көрсеткіштерді бұлтқа жіберу
Сенсорлық көрсеткіштерді бұлтқа жіберу

Мен minimal.py файлын негіз ретінде қолданамын және оған DHT22 өзара әрекеттесуін қосамын.

cd cloud4rpi-raspberrypi-python

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

DHT22 бір қоңырауда температураны да, ылғалдылықты да қайтаратындықтан, мен оларды бүкіл әлем бойынша сақтаймын және олардың арасындағы кідіріс 10 секундтан асатын болса, сұрауда тек бір рет жаңартамын. DHT22 деректерін алатын келесі кодты қарастырыңыз:

Adafruit_DHT импорттау

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 () қайтару раунды (temp, 2), егер temp Басқа емес болса Ешқайсысы def get_h (): update_data () return round (hum, 2) Басқа Ешқайсысы Жоқ

Бұл кодты бар импорттардан кейін енгізіңіз және айнымалылар бөлімін өңдеңіз, сонда ол жаңа функцияларды қолданады:

айнымалылар = {

'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' сандық ',' байланыстырушы ': cpu_temp}}

Деректерді беруді бастау үшін қызыл түймені басыңыз:

python cloud_dht22.py

Содан кейін сіз құрылғы бетін тексере аласыз.

Сіз оны сол күйінде қалдыра аласыз, бірақ мен бәріне қызмет көрсетуді қалаймын. Бұл сценарийдің үнемі жұмыс істеуін қамтамасыз етеді. Толық автоматтандырылған сценариймен қызмет құру:

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

Қызметтің басталуы:

sudo қызметі cloud4rpi іске қосылады

Және оны тексеру:

pi@raspberrypi: ~ $ sudo қызметі cloud4rpi күйі -l

● cloud4rpi.service-Cloud4RPi демоны жүктелді: жүктелді (/lib/systemd/system/cloud4rpi.service; қосылған) Белсенді: белсенді (жұмыс істейді) сәрсенбіден бастап 2017-05-17 20:22:48 UTC; 1мин бұрын Негізгі PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyМайдың 17 20:22:51 raspberrypi python [560]: Жариялау iot -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17 мамыр 20:22:53 raspberrypi python [560]: iot-хаб/хабарларды жариялау: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 мамыр 20:22:53 raspberrypi python [560]: iot-hub/хабарларды жариялау: {'түрі': 'жүйе', 'ts': '2017-05-17T20….4'}}

Егер бәрі күткендей жұмыс жасаса, біз Cloud4RPi платформасының мүмкіндіктерін қолданып, деректермен жұмыс жасай аламыз.

6 -қадам: Диаграммалар мен дабылдар

Диаграммалар мен дабылдар
Диаграммалар мен дабылдар
Диаграммалар мен дабылдар
Диаграммалар мен дабылдар
Диаграммалар мен дабылдар
Диаграммалар мен дабылдар

Алдымен айнымалылардың қалай өзгеретінін анықтау үшін олардың схемасын құрайық. Мұны жаңа Басқару тақтасын қосу және оған қажетті диаграммаларды енгізу арқылы жасауға болады.

Мұнда жасай алатын тағы бір нәрсе - ескертуді орнату. Бұл мүмкіндік айнымалының қауіпсіз ауқымын конфигурациялауға мүмкіндік береді. Диапазон асып кете салысымен, ол электрондық пошта хабарламасын жібереді. Басқару тақтасын өңдеу бетінде сіз Ескертулерге ауысып, оны орната аласыз.

Дәл осыдан кейін менің бөлмемдегі ылғалдылық еш себепсіз тез төмендей бастады және дабыл көп ұзамай басталды.

Сіз Cloud4RPi -ді Python -ды қолдана алатын кез келген аппараттық құралмен ақысыз пайдалана аласыз, мен болсам, мен ылғи ауа ылғалдатқышты қашан қосу керектігін білемін, тіпті оны Cloud4RPi арқылы қашықтан басқару релесіне қосуға болады. Мен ыстыққа дайынмын! Қош келдің, Жаз!

Ұсынылған: