Мазмұны:

Бұлттағы ылғалдылық: 5 қадам
Бұлттағы ылғалдылық: 5 қадам

Бейне: Бұлттағы ылғалдылық: 5 қадам

Бейне: Бұлттағы ылғалдылық: 5 қадам
Бейне: BDT-5-36F Vepr Yaroslavich ауыр дискілерін қалай жинау керек 2024, Қараша
Anonim
Бұлттағы ылғалдылық
Бұлттағы ылғалдылық

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

Жабдықтар

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

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

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

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

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

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

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

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

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

Тамаша! Келіңіздер және оған SSH кірейік.

Қауіпсіздік жақсы, маған ұнайды, бірақ бұл жағдайды біршама қиындатады. Мен UART-USB адаптерін қабыққа кіру және SSH қосу үшін қолданамын …

UART орнына дисплейді қолдану әлдеқайда жеңілдетеді.

Қайта жүктеуден кейін мен ақыры кіремін.

Алдымен, жаңартамыз:

sudo apt update && sudo apt upgrade -y

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

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

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

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

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

sudo apt install git python3 python3 -pip -y

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

sudo pip3 cloud4rpi орнатыңыз

Енді бізге кейбір үлгі коды қажет.

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

Орындалатын сценарий - control.py.

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

sudo python3 control.py

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

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

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

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

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

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

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

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

git clone https://github.com/Himura2la/Adafruit_Python_DHT.gitcd 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) сияқты нәрсені көрсеңіз, онда бұл Цельсийдегі пайыздық және температуралық ылғалдылық екенін білуіңіз керек.

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

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

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

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

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

Жоғарыдағы суреттегідей үлгі кодын алып тастаңыз.

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

Adafruit_DHT импорттау

temp, hum = Жоқ, Жоқ

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

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

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

Егер сіз манипуляцияларды шатастыратын деп тапсаңыз, осы файлдың соңғы нұсқасын алыңыз. Деректерді беруді бастау үшін қызыл түймені басыңыз:

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

python3 cloud_dht22.py

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

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

service_install.sh 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/хабарларды жариялау: {'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-хаб/хабарларды жариялау: {'type': 'system', 'ts': '2017-05-17T20….4'}}

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

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

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

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

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

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

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

Cloud4RPi көмегімен сіз Raspberry Pi мен басқа IoT құрылғыларын нақты уақытта қашықтықтан басқара аласыз. Біздің сайтқа кіріңіз және шектеусіз құрылғыларды ақысыз қосыңыз.

Ұсынылған: