Мазмуну:

Булуттагы нымдуулук: 5 кадам
Булуттагы нымдуулук: 5 кадам

Video: Булуттагы нымдуулук: 5 кадам

Video: Булуттагы нымдуулук: 5 кадам
Video: Табият таануу 5-класс 2024, Июль
Anonim
Булутта нымдуулук
Булутта нымдуулук

Жай келе жатат, кондиционери жоктор үй ичиндеги атмосфераны кол менен башкарууга даяр болушу керек. Бул постто мен адамдын жайлуулугу үчүн эң маанилүү параметрлерди өлчөөнүн заманбап жолун сүрөттөп жатам: температура жана нымдуулук. Бул чогултулган маалыматтар булутка жөнөтүлөт жана ошол жерде иштетилет.

Жабдуулар

Мен 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 орнотуу
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 KΩ)
  • WiresThe

DHT22 сенсору бир эле убакта температураны жана нымдуулукту өлчөйт. Байланыш протоколу стандартташтырылган эмес, ошондуктан аны raspi -configда иштетүүнүн кажети жок - жөнөкөй GPIO пини жетиштүү.

Маалыматты алуу үчүн, мен Adafruitтин улуу китепканасын DHT сенсорлору үчүн колдоном, бирок ал иштебей калышы мүмкүн. Мен бир жолу коддо бир кызыктай кечигүүнү таптым, ал менин жабдууларым үчүн иштебей калды, жана эки жылдан кийин менин тартуу өтүнүчүм дагы эле күтүлүүдө. Мен тактанын аныктоо константаларын да өзгөрттүм, анткени менин 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 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 () кайтаруу айлампасы (темп, 2) эгер темп башка эмес болсо get get_h (): update_data () кайтаруу тегерек

Бул кодду бар импорттон кийин киргизиңиз жана өзгөрмөлөр бөлүмүн жаңы функцияларды колдонушу үчүн түзөтүңүз:

variables = {'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 status -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-hub/билдирүүлөрдү жарыялоо: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17-май 20: 22:53 raspberrypi python [560]: iot-hub/билдирүүлөрдү жарыялоо: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Эгерде баары күтүлгөндөй иштесе, биз Cloud4RPi платформасынын мүмкүнчүлүктөрүн колдонуп, маалыматтарды иштете алабыз.

5 -кадам: Диаграммалар жана Ойготкучтар

Диаграммалар жана сигналдар
Диаграммалар жана сигналдар
Диаграммалар жана сигналдар
Диаграммалар жана сигналдар
Диаграммалар жана сигналдар
Диаграммалар жана сигналдар

Биринчиден, келгиле, өзгөрмөлөрдү кантип өзгөртөөрүн карап көрөлү. Бул жаңы Башкаруу панелин кошуу жана ага керектүү диаграммаларды коюу аркылуу жасалышы мүмкүн.

Бул жерде кыла турган дагы бир нерсе - Эскертүү. Бул өзгөчөлүк өзгөрмөнүн коопсуз диапазонун конфигурациялоого мүмкүнчүлүк берет. Качан гана диапазон ашып кетсе, электрондук почта билдирүүсүн жөнөтөт. Башкаруу панелинин түзөтүү барагында, Эскертүүлөргө өтүп, бирин орното аласыз.

Так ошондон кийин, менин бөлмөмдөгү нымдуулук эч кандай себепсиз тездик менен төмөндөй баштады жана ойготкуч көп өтпөй башталды.

Сиз Cloud4RPi'ди Pythonду аткара ала турган ар кандай жабдыктар менен бекер колдоно аласыз. Мен үчүн, мен азыр абаны нымдагычты качан күйгүзүүнү дайыма билем, ал тургай аны Cloud4RPi аркылуу алыстан башкаруу үчүн релеге туташтыра алам. Мен ысыкка даярмын! Кош кел жай!

Cloud4RPi менен сиз Raspberry Pi жана башка IoT түзмөктөрүңүздү реалдуу убакытта алыстан башкара аласыз. Биздин сайтка кирип, чексиз түзмөктөрдү бекер туташтырыңыз.

Сунушталууда: