Съдържание:
- Консумативи
- Стъпка 1: Подготовка на хардуера
- Стъпка 2: Инсталиране на Cloud4RPi
- Стъпка 3: Свързване на сензора
- Стъпка 4: Изпращане на показанията на сензора в облака
- Стъпка 5: Графики и аларми
Видео: Влажност в облака: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Идва лятото и тези без климатик трябва да бъдат подготвени да контролират ръчно атмосферата на закрито. В този пост описвам съвременния начин за измерване на най -важните параметри за човешки комфорт: температура и влажност. Тези събрани данни се изпращат в облака и се обработват там.
Консумативи
Използвам платка Raspberry Pi и сензор DHT22. Можете да направите същото на всеки компютър, който има интернет, GPIO и Python. По -евтиният сензор DHT11 също работи добре.
Стъпка 1: Подготовка на хардуера
Нека започнем от самото начало, тъй като не използвах моя Raspberry Pi доста дълго време.
Ще ни трябва:
- Табло Raspberry Pi (или друга платформа, ориентирана към IoT).
- SD или microSD карта (в зависимост от платформата).
- 5V/1A чрез 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, която е предназначена за IoT.
Според документите се нуждаем от следните пакети, за да го стартираме:
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 и натиснете бутона Ново устройство на тази страница. Заменете низа _YOUR_DEVICE_TOKEN_ във файла control.py с маркера на вашето устройство и го запазете. Сега сме готови за първото изстрелване.
sudo python3 control.py
Отворете страницата на устройството и проверете дали данните са там.
Сега да преминем към реални данни.
Стъпка 3: Свързване на сензора
Ще ни трябва:
- DHT22 или DHT11 сензор за влажност
- Издърпващ се резистор (5-10 KΩ)
- Проводници
Сензорът DHT22 измерва температурата и влажността едновременно. Комуникационният протокол не е стандартизиран, така че не е необходимо да го активираме в raspi -config - обикновен GPIO щифт е повече от достатъчен.
За да получа данните, ще използвам страхотната библиотека на Adafruit за DHT сензори, но може да не работи както е. Веднъж открих странно постоянно забавяне в кода, което не работи за хардуера ми и след две години моята заявка за изтегляне все още е в процес на изчакване. Също така промених константи за откриване на платката, защото моят Raspberry Pi 1 с BCM2835 беше изненадващо открит като 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-съществен python-dev -ysudo python setup.py инсталиране
Докато пакетите се инсталират, свържете DHT22, както е показано на снимката.
И го тествайте:
cd ~ python -c "импортиране на Adafruit_DHT като d; печат 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 ():
глобална 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 не е None else Няма def get_h (): update_data () return round (hum, 2) ако hum не е None else None
Вмъкнете този код след съществуващите импорти и редактирайте секцията с променливи, така че да използва новите функции:
променливи = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': 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/messages: {'type': 'config', 'ts': '2017-05-17T20 … y'}]}
17 май 20:22:53 raspberrypi python [560]: Публикуване на iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 май 20: 22:53 raspberrypi python [560]: Публикуване на iot-hub/messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Ако всичко работи според очакванията, можем да продължим и да използваме възможностите на платформата Cloud4RPi за манипулиране на данните.
Стъпка 5: Графики и аларми
Първо, нека начертаем променливите, за да видим как се променят. Това може да стане чрез добавяне на нов контролен панел и поставяне на необходимите диаграми в него.
Друго нещо, което можем да направим тук, е да зададем предупреждение. Тази функция ви позволява да конфигурирате безопасен диапазон за променлива. Веднага щом диапазонът бъде превишен, той изпраща известие по имейл. На страницата за редактиране на контролния панел можете да превключите към Сигнали и да настроите такава.
Веднага след това влажността в стаята ми започна бързо да намалява без видима причина и скоро последва алармата.
Можете да използвате Cloud4RPi безплатно с всеки хардуер, който е в състояние да изпълнява Python. Що се отнася до мен, сега винаги знам кога да включа въздушния овлажнител и дори мога да го свържа към реле за дистанционно управление чрез Cloud4RPi. Подготвен съм за горещините! Добре дошло лято!
С Cloud4RPi можете да контролирате вашите Raspberry Pi и други IoT устройства дистанционно в реално време. Посетете нашия сайт и свържете безплатно неограничени устройства.
Препоръчано:
Как да свържете Raspberry Pi към облака с помощта на Node.js: 7 стъпки
Как да свържете Raspberry Pi към облака с помощта на Node.js: Този урок е полезен за всеки, който иска да свърже Raspberry Pi към облака, особено към платформата AskSensors IoT, използвайки Node.js. Нямате Raspberry Pi? Ако в момента не притежавате Raspberry Pi, ще ви препоръчам да вземете Raspberry
Как да свържете ESP8266 NodeMCU към IoT облака: 5 стъпки
Как да свържете ESP8266 NodeMCU към облака на IoT: Тази инструкция ви показва проста демонстрация на Internet of Things, използваща ESP8266 NodeMCU и онлайн услуга на IoT, наречена AskSensors. Демонстрираме ви как бързо да получите данни от ESP8266 HTTPS клиента и да ги начертаете в графика в AskSensors Io
Мониторинг на температура и влажност с помощта на ESP-01 & DHT и облака AskSensors: 8 стъпки
Мониторинг на температура и влажност с помощта на ESP-01 & DHT и облака AskSensors: В тази инструкция ще научим как да следим температурата и измерванията на влажността с помощта на платката IOT-MCU/ESP-01-DHT11 и платформата AskSensors IoT Избирам модула IOT-MCU ESP-01-DHT11 за това приложение, защото
Автоматизиране на оранжерия с LoRa! (Част 1) -- Сензори (температура, влажност, влажност на почвата): 5 стъпки
Автоматизиране на оранжерия с LoRa! (Част 1) || Сензори (температура, влажност, влажност на почвата): В този проект ще ви покажа как автоматизирах оранжерия. Това означава, че ще ви покажа как построих оранжерията и как свързах електрониката за захранване и автоматизация. Също така ще ви покажа как да програмирате Arduino платка, която използва L
Как да свържете сензора за влажност на почвата и ESP8266 към облака на IoT на AskSensors: 10 стъпки
Как да свържете сензора за влажност на почвата и ESP8266 към облака на нещата на AskSensors IoT: Тази инструкция ви показва как да свържете сензора за влажност на почвата и ESP8266 към облака IoT. За този проект ще използваме възел MCU ESP8266 WiFi модул и сензор за влажност на почвата който измерва обемното съдържание на водата вътре в така