Съдържание:

Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща!: 6 стъпки (със снимки)
Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща!: 6 стъпки (със снимки)

Видео: Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща!: 6 стъпки (със снимки)

Видео: Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща!: 6 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Юли
Anonim
Охладете бебето си това лято - Контролирайте тъпите фенове с интелигентни неща!
Охладете бебето си това лято - Контролирайте тъпите фенове с интелигентни неща!
Охладете бебето си това лято - Контролирайте тъпите фенове с интелигентни неща!
Охладете бебето си това лято - Контролирайте тъпите фенове с интелигентни неща!

От преди две седмици, по времето на писането на това, станах баща на едно невероятно момченце!

С промяната на сезоните, дните стават по -дълги и температурите стават все по -топли, реших, че би било добре да има някакъв монитор в детската стая, за да проверя колко горещо става там!

Не се занимавах с много питон през годините, но исках да се върна в него от първата си година в университета преди близо 5 години! Поради това си помислих, че е по -добре да документирам това, което съм направил, да ми помогне по -късно, също така да помогна на всеки друг, който иска да направи същото!

Използвайки Raspberry pi, Enviro pHAT и интелигентен TP-link kasa щепсел, можете да контролирате щепселите с помощта на IFTTT рамката! това е наистина лесно да се направи и дори можете да промените това ръководство, за да контролирате всичко чрез различни сензори и различни устройства! Надявам се, че това ви е полезно. Ако ви харесва тази инструкция, моля, не забравяйте да гласувате за моето участие в конкурса за сензори!: D (съжалявам за питането), за първи път правя това и бих искал да имам евентуален шанс да спечеля нещо за цялото време, което влагам

** РЕДАКТИРАНЕ ** През следващите няколко дни ще разгледам изпращането на тези данни на борда на Grafana, ако смятате, че това би било добре, уведомете!:Д

Нека да влезем направо в това…

Консумативи

  1. Всяко Raspberry pi ще свърши работа, но аз избрах Zero W, тъй като това беше, което трябваше да дам в тегленето си, той също има най -малкия форм -фактор с WiFi, разрешен по подразбиране! - Малина PI Zero w
  2. SD карта, всеки има различни предпочитания към тях, но аз използвах едно от тях! - Micro-SD карта
  3. Ако сте заседнали, ето официалната поддържана документация за SD карти -официално поддържани SD -карти
  4. Джъмперни проводници (ще бъдат обяснени по -късно) - Джъмперни проводници
  5. Enviro pHAT за всички славни сензори! - Envrio-pHAT
  6. Интелигентен щепсел, аз използвах TP-Link, тъй като не се нуждаете от фантастични хъбове, за да го накарате да работи! - Интелигентен щепсел!
  7. Тъп вентилатор за управление, можете да използвате всеки вентилатор, току -що намерих вентилатор в amazon, но всеки вентилатор за стенен контакт ще работи добре - тъп вентилатор
  8. Поялник, но ако не искате да използвате поялник, можете да получите щракване в заглавията за вашия PI и pHAT-GPIO-чук-глава

За да работи връзката между TP-links kasa и IFTTT, трябва да имате настроен акаунт за TP-link kasa и IFTTT, преди да стартирате тази инструкция. Когато получите вашия интелигентен щепсел TP-link, инструкциите, предоставени с интелигентния щепсел, ще ви преведат през процеса на настройка, включително как да дадете име на вашия щепсел и основните му функции

След като имате целия списък за пазаруване, е време да го сглобите всичко!

Стъпка 1: Настройка на вашия Raspberry Pi

Изображение на вашата micro-SD карта Вземете най-новото и най-доброто Raspbian изображение, опростената версия ще се справи добре, ако не и по-добре за нула w! -

Запишете това изображение на SD картата, за това ще ви е необходим четец и образ, аз използвам гравиране -

Настройка на Wi -Fi (по избор) Ако вашият PI има вграден WIFI, защо да не го настроите сега, за да спестите много бъркотии по конзолите по -късно!

След като вашето пи е изобразено, устройството е извадено. Изключете и свържете SD картата, така че да бъде открита отново от вашето устройство. Трябва да се появи зареждащ дял.

Създайте празен файл, наречен wpa_supplicant.confв рамките на зареждащия дял на вашето pi, тук поставете по -долу в този нов файл:

мрежа = {

ssid = "YOUR_SSID" psk = "YOUR_WIFI_PASSWORD" key_mgmt = WPA-PSK}

Активиране на SSH на вашия PI по избор (по избор)

По подразбиране чистото Raspbian изображение ще забрани ssh. Трябва да стартирате системата, да свържете клавиатура и дисплей към Pi и след това да активирате ssh. Тази стъпка ще активира ssh при първо зареждане. В зареждащия дял създайте нов файл, наречен ssh. Празен файл с точно това име.

След като ги изпълните по две незадължителни стъпки, вашият PI автоматично ще се свърже с вашия WIFI и SSH ще бъде активиран по подразбиране.

След като сте изобразили и конфигурирали micro-SD картата, можете да я поставите във вашия PI или избор и да я включите!

Актуализирайки вашия PIO, след като сте заредили своя PI, можете да намерите вашия IP адрес на вашия PI в настройките на вашите безжични рутери. Повечето рутери са различни, така че за съжаление би било трудно да се напише ръководство за това!

След като имате своя IP на вашия PI, свържете се чрез SSH и влезте със следното:

Потребителско име: pi

Парола: малина

След като имате активна SSH сесия с вашия PI, ще искате да го актуализирате, просто изпълнете по -долу със съответните Y или N през цялото време на актуализирането му:

sudo apt-get update

sudo apt-get надстройка

Винаги е добре да рестартирате PI след като са инсталирани нови актуализации, за да сте сигурни, че е работил отново с най -новите актуализации, това може да се постигне с

sudo рестартиране -n

Сега PI е готов, време е да преминете към следващата стъпка!

Стъпка 2: Настройка на Enviro PHAT

Настройване на Enviro PHAT
Настройване на Enviro PHAT
Настройване на Enviro PHAT
Настройване на Enviro PHAT

Окабеляване на вашия Enviro pHAT

След като актуализирате пи, можете да свържете вашия Enviro pHAT към PI по ваш избор!

*** За да сте сигурни, че не повредите своя PI или pHAT, първо го изключете ***

Тук използвах джъмперните кабели, защото можете да получите термично измиване от процесора, който се нагрява под Enviro pHAT. Тази допълнителна топлина може да промени показанията на температурата, които бихте получили по -късно. Поради това използвах 5 джъмпера на следните щифтове:

  • ПИН 3 - GPIO2 (SDA I2C)
  • ПИН 5 - GPIO3 (SCL I2C)
  • Пин 7 - GPIO4
  • Щифт 6 - Заземяване
  • Пин 4 - 5V

Моля, проверете електрическата схема в горната част на тази стъпка за визуална справка или връзката по -долу:

pinout.xyz/pinout/enviro_phat

(съжалявам за лошото боядисване)

Когато свързвате вашия pHAT, уверете се, че е настроен правилно, в противен случай може да го повредите !!! За да направя това, аз имах моята настройка, така че заглавките на ANALOG IN са към слота за SD карта, по -късно това беше обърнато в снимките ми, за да се побере по -плътно в моя "носител".

Инсталиране на зависимости

Включете резервното копие на вашия PI и обратно SSH

След като се върнете във вашия PI, изпълнете следното, за да инсталирате необходимите пакети и софтуер за вашия Enviro pHAT:

curl https://get.pimoroni.com/envirophat | баш

Не забравяйте да натиснете Y или N, когато е необходимо.

След като инсталацията приключи, не забравяйте да рестартирате PI …

sudo рестартиране -n

Тестване на pHAT

За да сте сигурни, че вашият pHAT е свързан правилно, можете да влезете в модул на python и да изпълните няколко команди, като завъртите обратно към вашия PI и въведете python, веднъж в модул на python, въведете следното:

от envirophat внос на времето

печат (weather.temerpature ())

Това трябва да ви покаже показания, както е показано по -долу:

>> от envirophat време за внос

>> печат (weather.temperature ()) 24.0806166987

Отстраняване на неизправности

Ако получите нещо подобно на грешка по -долу:

Проследяване (последно последно повикване): Файл "", ред 1, във Файл "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", ред 134, в температура self.update () Файл " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", ред 169, в актуализация, ако self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", ред 116, в _read_byte връщане на self.i2c_bus.read_byte_data (self.addr, регистър) IOError: [Errno 121] Грешка при отдалечен I/O

След това можете да стартирате:

sudo i2cdetect -y 1

Това ще извърши диагностична проверка на вашите връзки/окабеляване и ще търсите нещо като по -долу:

pi@raspberrypi: ~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - 1d - - 20: - - - - - - - - - - 29 - - - - - - - 30: - - - - - - - - - - - - - - - - - 40: - - - - - - - - - - 49 - - - - - - 50: - - - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - - - - 70: - - - - - - - 77

Ако не, тогава ще трябва да се върнете и да проверите отново кабелите си, моля, проверете електрическата схема и опитайте отново!

Инсталиране на скрипта pi-baby-cooler.py

Ако всичко е наред и сте успели да получите отчитане на температурата, можем да продължим и да инсталираме пакета baby-cooler.py!

Поради начина, по който инструкторите обработват връзки, прикачих скрипта.py в горната заглавна стъпка … За да копирате това във вашия PI, препоръчвам да използвате нещо като WinSCP:

winscp.net/bg/download.php

WinSCP е популярен SFTP клиент и FTP клиент за Microsoft Windows! Копирайте файл между локален компютър и отдалечени сървъри, използвайки FTP, FTPS, SCP, SFTP, WebDAV или S3 протоколи за прехвърляне на файлове.

WinSCP е лесен за използване, просто се свържете с вашия PI, като използвате IP адреса на вашия PI, след това плъзнете и пуснете.py файла до мястото, от което искате да го стартирате, за мен това е от /home /pi.

Сега скриптът.py е на вашия PI, време е да преминете към настройка на вашия IFTTT акаунт / връзки

Стъпка 3: Настройка на вашия IFTTT акаунт/връзка

Настройка на вашия IFTTT акаунт/връзка
Настройка на вашия IFTTT акаунт/връзка
Настройка на вашия IFTTT акаунт/връзка
Настройка на вашия IFTTT акаунт/връзка
Настройка на вашия IFTTT акаунт/връзка
Настройка на вашия IFTTT акаунт/връзка

След това ще разгледаме получаването на IFTTT жетон, който ще се използва при извикване на функцията за горещо / студено в скрипта, за да се свържете с щепсела kasa и да включите / изключите вентилатора.

Създаване на Webhooks

Преминете към https://ifttt.com/ и създайте акаунт, ако все още нямате такъв.

След като сте влезли, в лентата за търсене потърсете: TP-link kasa

След като се зареди, щракнете върху услуги, след това TP-link kasa. След това ще трябва да свържете вашия kasa акаунт с вашия IFTTT акаунт, да влезете във вашия kasa акаунт чрез IFTTT, за да осъществите връзка.

След като свържете профила си, щракнете върху „Моите аплети“, след това върху нов аплет, след това върху „+това“и потърсете уеб куки.

Щракнете върху „Получаване на уеб заявка“, в името на събитието въведете горещо (това може да бъде всичко, което желаете, но трябва да го актуализирате по-късно в скрипта pi-baby-coller.py или това няма да работи, използвах горещо, за да обърна включете вентилатора и охладете, за да изключите вентилатора. След това щракнете върху създаване на спусък.

След това трябва да свържете новия ви спусък с вашия акаунт в Kasa, щракнете върху „+това“и потърсете kasa, щракнете върху kasa с TP-link, след това кликнете върху „включване“, след това изберете устройството, което искате да включите, след което щракнете върху създаване действие. Прегледайте действието и щракнете върху край, ако е правилно.

**********

Не забравяйте, че ако сте избрали друго име на събитие, различно от „горещо“и „студено“, ще трябва да отбележите това за по -късно и да актуализирате скрипта! В противен случай скриптът.py няма да работи

**********

След като създадем първата си уеб кука, повторете процеса за „студено“, но този път избирате изключване, вместо включване, когато избирате +това действие.

След като имаме две уеб куки за събития в раздела за акаунта в моите аплети, щракнете върху услуги и потърсете уебхуки, след което щракнете върху нея. Тук ще видите бутон за документация (горе вдясно), щракнете върху него. Тук ще намерите ключа си за IFTTT. докато тук си отбелязвате ключа (ще ви е необходим по -късно), аз редактирах моя в снимката, в противен случай всеки би могъл да включи или изключи моите интелигентни щепсели.

Тестване на webhooks

Сега имаме създадени две уеб куки, които са свързани с нашия акаунт в kasa, можем да тестваме дали работят или не!

В рамките на вашия PI можете да въведете следното:

curl -X POST

Когато пише "горещо", трябва да добавите името на събитието си, ако сте го оставили като "горещо", оставете това на мира. Където пише /вие … трябва да замените това с вашия IFTTT ключ. Натиснете enter и след това трябва да чуете щракването на вашето реле за интелигентни щепсели, което включва щепсела. Ако не можете да го чуете, можете да проверите приложението Kasa, за да проверите състоянието на вашите щепсели.

Сега имаме инсталирани зависимости за нашия Enviro pHAT и сега имаме настройка на IFTTT, време да приключим с промяна на кода.

Стъпка 4: Редактиране на скрипта

Редактиране на скрипта
Редактиране на скрипта

Име на събитие и IFTTT TOKENS Върнете се на вашето pi, ескалирайте до местоположението на вашия скрипт pi-baby-cooler.py, за мен неговия in /home /pi (моята домашна папка) и редактирайте файла с помощта на nano:

nano pi-baby-cooler.py

В рамките на finder, където се казва def turn_off ()

def turn_off ():

# Задайте думата за задействане - напр. "студено" - и жетона IFTTT Webhook по -долу. TRIGGER_WORD = "студен" TOKEN = "ТВОИТЕ ТОКЕНИ НА IFTTT ТУК" token = TOKEN)) print ("Fan off!"):

Това е функцията за изключване на вентилатора. Той прави това, като изпраща уебхук до IFTTT, който задейства изключването на tplink HS100. Ако сте запазили работата на задействането във вашия IFTTT акаунт същата като „студена“, можете да оставите това в и просто да замените маркера, който сте получили от документацията на webhooks по -рано. Ако все пак сте избрали различно име на събитие, заменете тази дума тук.

След като поставите вашия IFTTT токен, преминете към следващия раздел, където пише def turn_on ()

def turn_on ():# Задайте думата за задействане - напр. „горещо“- и маркера IFTTT Webhook по -долу. TRIGGER_WORD = "горещо" TOKEN = "ТВОИТЕ ТОКЕНИ ЗА IFTTT ТУК" token = TOKEN)) print ("Включен вентилатор!")

Тази функция е обратното на изключване, включва интелигентния щепсел на TP-link!

Ако сте запазили работата на задействането във вашия IFTTT акаунт същата като „гореща“, можете да оставите това в и просто да замените маркера, който сте получили от документацията на webhooks по -рано. Ако все пак сте избрали различно име на събитие, заменете тази дума тук.

Всичко останало вече е кодирано, така че не трябва да правите никакви промени в кода, освен TRIGGER_WORD, TOKEN и няколко корекции в температурите, които следва!

Промяна на температурите

След това намерете къде пише # локални променливи.

try: # Локални променливи. state = 0 # Задава състоянието на превключвателя ниско = 20 # Ниска стойност за нивото на температурата (по Целзий). висока = 24 # Висока стойност за нивото на температурата (по Целзий). период = 120 # Забавяне, в секунди, между разговорите.

Променливата на състоянието е как pi знае дали щепселът е включен или не, това се актуализира по -късно, ако стане твърде горещо (24+*c, тогава състоянието се променя по -късно на 1), това също ще се задейства към webhook и ще се включи интелигентният щепсел включен!

Ниската променлива е колко хладно искам стаята да се охлади, преди щепселът да бъде изключен. Ако искате стаята да е по -топла, просто променете това на по -висока стойност. Ако искате по -хладен, намалете стойността.

Високата променлива е максималната температура, която искам да получи стаята, преди да искам вентилаторът да се включи и да започне да охлажда стаята. Ако искате вентилаторът да се включи преди това, просто намалете стойността, или ако искате да е по -топъл, тогава по -висока стойност.

Променливата период е продължителността в секунди между проверките на температурата, ако искате скриптът pi да проверява по -рядко, отколкото по -високото число, ако искате да съкратите времето, намалете броя.

След като направите промените, запазете и излезте от nano

CTRL + x

Стъпка 5: Използване на скрипта

Използване на скрипта
Използване на скрипта

Изпълнение на скрипта локално

Има няколко начина, по които можете да изпълните този скрипт, можете да се свържете чрез SSH и да въведете следното:

sudo python /pi-baby-cooler.py

Това ще стартира скрипта при поискване, това ще работи само докато има активна SSH сесия към PI. Другият начин е да използвате екран, екранът не е инсталиран по подразбиране, не мисля, така че трябва да се използва екран за инсталиране на sudo apt.

Ето един чудесен урок за това как да използвате екрана правилно:

Screen или GNU Screen е терминален мултиплексор. С други думи, това означава, че можете да започнете екранна сесия и след това да отворите произволен брой прозорци (виртуални терминали) в тази сесия. Процесите, изпълнявани в Screen, ще продължат да се изпълняват, когато прозорецът им не се вижда, дори ако се изключите.

Автоматизиране за стартиране при зареждане

Другият начин е да редактирате зареждащия файл в /etc/rc.local, за да използвате това nano.

sudo nano /etc/rc.local

Редактирането на този файл ще накара скрипта да работи при зареждане. което означава, че винаги ще се изпълнява, когато PI е включен, по този начин аз изпълнявам 90% от моите скриптове на други PI.

Ако сте използвали rc.local, можете да изпълните командата по -долу, за да проверите дали се изпълнява в момента на PI. Това е удобно за отстраняване на неизправности по -късно, за да видите дали скриптът работи изобщо или не:

ps -aef | grep python

Стъпка 6: Готово

Е … Благодаря, ако сте още тук и стигнахте до този момент!

Съжалявам, че мина доста време, това беше първото ми обучение и не бях съвсем сигурен какво да напиша.

Както споменах в началото, тази инструкция има много различни приложения, като използва топлина за задействане на интелигентен щепсел! можете да охладите всяка стая в къщата/апартамент/апартамент/гараж/навес. Можете дори да промените IFTTT, за да задейства всяко интелигентно устройство, което може да се контролира чрез IFTTT, не е задължително само да бъдат TP-link kasa устройства.

Ще се радвам да чуя дали сте изпробвали тези инструкции или дори ако ви се стори интересно, моля, оставете ми коментар по -долу!

Ако имате въпроси, не забравяйте да ги оставите по -долу и аз ще се постарая да отговоря на тях!

Състезание за сензори
Състезание за сензори
Състезание за сензори
Състезание за сензори

Вицешампион в състезанието за сензори

Препоръчано: