Kazalo:

Ohranite svojega otroka hladnega to poletje - nadzor neumnih oboževalcev s pametnimi stvarmi!: 6 korakov (s slikami)
Ohranite svojega otroka hladnega to poletje - nadzor neumnih oboževalcev s pametnimi stvarmi!: 6 korakov (s slikami)

Video: Ohranite svojega otroka hladnega to poletje - nadzor neumnih oboževalcev s pametnimi stvarmi!: 6 korakov (s slikami)

Video: Ohranite svojega otroka hladnega to poletje - nadzor neumnih oboževalcev s pametnimi stvarmi!: 6 korakov (s slikami)
Video: Суп с Арбузом. Чисто по Одесски Рецепт Супа из Чечевицы. Одессе-Маме 229 лет 2024, Julij
Anonim
Ohranite svojega otroka hladnega to poletje - obvladajte neumne oboževalce s pametnimi stvarmi!
Ohranite svojega otroka hladnega to poletje - obvladajte neumne oboževalce s pametnimi stvarmi!
Ohranite svojega otroka hladnega to poletje - obvladajte neumne oboževalce s pametnimi stvarmi!
Ohranite svojega otroka hladnega to poletje - obvladajte neumne oboževalce s pametnimi stvarmi!

Pred dvema tednoma, ko sem to pisal, sem postal očka neverjetnemu fantku!

Ker so se letni časi spreminjali, dnevi postajali daljši in temperature so se segrevale, se mi je zdelo dobro, da bi imel v vrtcu kakšen monitor, da bi preveril, kako vroče je gor!

V preteklih letih se nisem ukvarjal z veliko pitonom, ampak sem se želel vrniti vanj od svojega prvega leta na univerzi pred skoraj 5 leti! Zaradi tega sem mislil, da bi bilo bolje dokumentirati, kar sem naredil, da bi mi kasneje pomagal, pa tudi vsem drugim, ki bi radi storili enako!

Z uporabo Raspberry pi, Enviro pHAT in pametnega vtiča kasa TP-link lahko vtiče upravljate z ogrodjem IFTTT! to je zelo preprosto in lahko celo spremenite ta vodnik za nadzor nad vsem prek različnih senzorjev in različnih naprav! Upam, da se vam bo to zdelo koristno. Če vam je pouk všeč, ne pozabite glasovati za mojo oddajo na natečaju senzorjev!: D (oprosti na vprašanju), to počnem prvič in bi rad imel možnost, da bi nekaj osvojil za ves čas, ki sem ga vložil v to

** EDIT ** V naslednjih dneh bom pogledal posredovanje teh podatkov na ploščo Grafana, če menite, da bi bilo to dobro, obvestite!: D

Gremo naravnost v to…

Zaloge

  1. Vsak Raspberry pi bo naredil, vendar sem se odločil za Zero W, saj sem ga moral izročiti pri žrebu, ima tudi najmanjši faktor oblike s privzeto omogočeno WiFi! - malina PI Zero w
  2. Kartica SD ima vsak glede tega različne nastavitve, vendar sem uporabil eno od teh! - Kartica Micro-SD
  3. Če ste obtičali, je tukaj uradna podprta dokumentacija za kartice SD -uradno podprte kartice SD
  4. Mostične žice (razloženo pozneje) - Žice za preskok
  5. Enviro pHAT za vse veličastne senzorje! - Envrio-pHAT
  6. Pametni vtič, uporabil sem TP-Link, saj ne potrebujete nobenih elegantnih vozlišč, da bi to uspelo! - Pametni vtič!
  7. Neumni ventilator za nadzor, lahko uporabite kateri koli ventilator, pravkar sem našel ventilator na Amazonu, vendar bo kateri koli ventilator v stenski vtičnici deloval dobro - Neumni ventilator
  8. Spajkalnik, če pa spajkalnika ne želite uporabljati, lahko za glave PI in pHAT kliknete glave-GPIO-kladivo-glava

Če želite, da povezava med TP-links kasa in IFTTT deluje, morate imeti pred začetkom tega navodila nastavljen račun TP-link kasa in IFTTT. Ko prejmete pametni vtič TP-link, vas bodo navodila, ki so priložena pametnemu vtiču, vodila skozi postopek namestitve, vključno z imenovanjem vtiča in njegovimi osnovnimi funkcijami

Ko imate ves nakupovalni seznam, je čas, da vse sestavite!

1. korak: Nastavitev vašega Raspberry Pi

Slikanje vaše kartice micro-SD Pridobite najnovejšo in najboljšo sliko Raspbian, bo lažja različica v redu, če ne celo boljša za nič w! -

To sliko zapišite na kartico SD, za to boste potrebovali bralnik in slikovno sliko, uporabljam jedkalec -

Nastavitev Wi -Fi -ja (neobvezno) Če ima vaš PI vgrajen WIFI, zakaj ga ne bi nastavili zdaj, da bi prihranili veliko težav s konzolami pozneje!

Ko je vaš pi posnet, je bil pogon izvržen. Odklopite in priključite kartico SD, da jo naprava znova zazna. Prikazati bi se morala zagonska particija.

Ustvarite prazno datoteko z imenom wpa_supplicant.conf znotraj zagonske particije vašega pi, v to novo datoteko postavite tukaj spodaj:

omrežje = {

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

Omogočanje SSH na izbranem PI (izbirno)

Za čisto sliko Raspbian bo privzeto onemogočen ssh. Zagnati bi morali sistem, priključiti tipkovnico in zaslon na Pi in nato omogočiti ssh. Ta korak bo omogočil ssh ob prvem zagonu. V zagonski particiji ustvarite novo datoteko ssh. Prazna datoteka s točno tem imenom.

Ko opravite dva izbirna koraka, se bo vaš PI samodejno povezal z vašim WIFI in privzeto omogočil SSH.

Ko ste posneli in konfigurirali kartico micro-SD, jo lahko nato vstavite v svoj PI ali po izbiri in jo vklopite!

Ko posodabljate svoj PIO, boste v nastavitvah brezžičnih usmerjevalnikov našli svoj IP naslov svojega PI. Večina usmerjevalnikov je drugačnih, zato bi bilo težko napisati vodnik za to!

Ko imate IP svojega PI, se povežite prek SSH in se prijavite z naslednjim:

Uporabniško ime: pi

Geslo: malina

Ko imate aktivno sejo SSH s svojim PI, jo boste želeli posodobiti, preprosto zaženite spodaj z ustreznim Y ali N med njeno posodobitvijo:

sudo apt-get posodobitev

sudo apt-get nadgradnja

Vedno je dobro znova zagnati PI po namestitvi novih posodobitev, da se prepričate, da je znova zagnan z najnovejšimi posodobitvami, to lahko dosežete z

sudo reboot -n

Zdaj je PI pripravljen, čas je, da preidete na naslednji korak!

2. korak: Nastavitev vašega Enviro PHAT

Nastavitev vašega Enviro PHAT
Nastavitev vašega Enviro PHAT
Nastavitev vašega Enviro PHAT
Nastavitev vašega Enviro PHAT

Ožičenje vašega Enviro pHAT

Ko posodobite svoj pi, lahko svoj Enviro pHAT povežete z izbranim PI!

*** Da ne poškodujete svojega PI ali pHAT, ga najprej izklopite ***

Tukaj sem uporabil mostičke, saj lahko dobite toplotno izpiranje iz procesorja, ki se segreje pod Enviro pHAT. Ta dodatna toplota lahko spremeni odčitke temperature, ki bi jih dobili kasneje. Zaradi tega sem uporabil 5 mostičkov na spodnjih zatičih:

  • Pin 3 - GPIO2 (SDA I2C)
  • Pin 5 - GPIO3 (SCL I2C)
  • Pin 7 - GPIO4
  • Pin 6 - Ozemljitev
  • Pin 4 - 5V

Za vizualno referenco ali spodnjo povezavo preverite shemo ožičenja na vrhu tega koraka:

pinout.xyz/pinout/enviro_phat

(oprostite zaradi slabega barvanja)

Ko priključujete pHAT, se prepričajte, da je pravilno nastavljen, sicer ga lahko poškodujete !!! V ta namen sem nastavil svoje, zato so glave ANALOG IN usmerjene proti reži za kartico SD. To so pozneje obrnili na mojih slikah, da se je prilegal v moj "nosilec".

Namestitev odvisnosti

Vklopite varnostno kopijo vašega PI in znova vnesite SSH

Ko se vrnete v PI, za namestitev potrebnih paketov in programske opreme za vaš Enviro pHAT zaženite naslednje:

curl https://get.pimoroni.com/envirophat | bash

Ko je potrebno, pritisnite Y ali N.

Ko je namestitev končana, znova zaženite PI …

sudo reboot -n

Testiranje pHAT

Če želite zagotoviti, da je vaš pHAT pravilno povezan, lahko spustite v modul python in zaženete nekaj ukazov, tako da se vrnete v svoj PI in vnesete python, enkrat v modulu python vnesite spodaj:

iz okolja uvoznega okolja

tiskanje (weather.temerpature ())

To bi vam moralo pokazati odčitavanje, kot je prikazano spodaj:

>> iz okolja uvoznega okolja

>> natisni (weather.temperature ()) 24.0806166987

Odpravljanje težav

Če dobite nekaj podobnega napaki spodaj:

Sledenje (zadnji zadnji klic): Datoteka "", 1. vrstica, v datoteki "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", vrstica 134, v datoteki temperature self.update () " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", vrstica 169, v posodobitvi, če self._read_byte (REGISTER_CHIPID) == 0x58: # id senzorja za preverjanje 0x58 = datoteka BMP280"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", vrstica 116, v _read_byte vrni self.i2c_bus.read_byte_data (self.addr, register) Napaka IOError: [Errno 121] Napaka oddaljenega V/I

Nato lahko zaženete:

sudo i2cdetect -y 1

To bo izvedlo diagnostični pregled vaših povezav/ožičenja in iskali boste nekaj takega:

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

Če ne, se morate vrniti in ponovno preveriti ožičenje, preverite shemo ožičenja in poskusite znova!

Namestitev skripta pi-baby-cooler.py

Če je vse v redu in ste uspešno odčitali temperaturo, lahko nadaljujemo in namestimo paket baby-cooler.py!

Zaradi tega, kako instructables obravnava povezave, sem v zgornjo glavo koraka priložil skript.py … Če želite to kopirati v svoj PI, priporočam, da uporabite nekaj takega, kot je WinSCP:

winscp.net/eng/download.php

WinSCP je priljubljen odjemalec SFTP in odjemalec FTP za Microsoft Windows! Kopirajte datoteko med lokalnim računalnikom in oddaljenimi strežniki s protokoli za prenos datotek FTP, FTPS, SCP, SFTP, WebDAV ali S3.

WinSCP je enostaven za uporabo, preprosto se povežite s svojim PI z naslovom IP vašega PI, nato povlecite in spustite datoteko.py tja, kjer bi jo radi zagnali, to je od /home /pi.

Zdaj je skript.py na vašem PI, čas je, da nadaljujete z nastavitvijo računa / povezav IFTTT

3. korak: Nastavitev računa/povezave IFTTT

Nastavitev računa/povezave IFTTT
Nastavitev računa/povezave IFTTT
Nastavitev računa/povezave IFTTT
Nastavitev računa/povezave IFTTT
Nastavitev računa/povezave IFTTT
Nastavitev računa/povezave IFTTT

Nato bomo preučili žeton IFTTT, ki bo uporabljen pri klicu funkcije vroče / hladno v skriptu za povezavo z vtičem kasa in vklop / izklop ventilatorja.

Ustvarjanje spletnih oznak

Pojdite na https://ifttt.com/ in ustvarite račun, če ga še nimate.

Ko ste prijavljeni, v iskalni vrstici poiščite: TP-link kasa

Ko se to naloži, kliknite storitve in nato TP-link kasa. Nato morate svoj račun kasa povezati z vašim računom IFTTT, za vzpostavitev povezave se prijavite v svoj račun kasa prek IFTTT.

Ko povežete svoj račun, kliknite »Moji jabolki«, nato nov programček, nato kliknite »+to« in poiščite spletne kljuke.

V vrstnem redu imena dogodka kliknite »Prejemi spletno zahtevo« (to je lahko karkoli želite, vendar morate to posodobiti pozneje v skriptu pi-baby-coller.py ali pa to ne bo delovalo. Uporabil sem vroče za vklop ventilator vklopite in ohladite, da izklopite ventilator. Nato kliknite Ustvari sprožilec.

Nato moramo vaš novi sprožilec povezati z vašim računom Kasa, kliknite "+to" in poiščite kasa, kliknite kasa TP-link, nato kliknite "vklopi", nato izberite napravo, ki jo želite vklopiti, nato kliknite Ustvari dejanje. Preglejte dejanje in kliknite Dokončaj, če je pravilno.

**********

Ne pozabite, če ste izbrali drugo ime dogodka, ki ni "vroče" in "hladno", jih boste morali zabeležiti za pozneje in posodobiti skript! V nasprotnem primeru skript.py ne bo deloval

**********

Ko smo ustvarili naš prvi spletni kavelj, ponovite postopek za "hladno", vendar tokrat izberete izklop, namesto vklop, ko izberete +to dejanje.

Ko imamo v razdelku računa z mojimi programčki dva dogodka spletna kljuka, kliknite storitve in poiščite spletne kljuke, nato kliknite to. Tukaj boste videli gumb za dokumentacijo (zgoraj desno), kliknite to. Tu boste našli ključ žetona IFTTT. Medtem ko si tukaj zabeležite svoj ključ (potrebovali ga boste kasneje), sem svojega uredil na sliki, sicer bi lahko vsak vklopil ali izklopil moje pametne vtiče.

Testiranje spletnih kljukic

Zdaj imamo ustvarjena dva spletna kljuka, ki sta povezani z našim računom kasa, lahko preverimo, ali delujeta ali ne!

V svoj PI lahko vnesete naslednje:

curl -X POST

Kjer piše "vroče", morate dodati ime svojega dogodka, če ste pustili kot "vroče", pustite to pri miru. Kjer piše /vi … morate to zamenjati s ključem žetona IFTTT. Pritisnite enter in potem bi morali slišati klik releja pametnih vtičev, ki vklopi vtič. Če tega niste slišali, lahko v aplikaciji Kasa preverite stanje vtičev.

Zdaj imamo nameščene odvisnosti za naš Enviro pHAT in zdaj imamo nastavljeno IFTTT, čas, da zaključimo s spreminjanjem kode.

4. korak: Urejanje skripta

Urejanje skripta
Urejanje skripta

Ime dogodka in žetoni IFTTT Nazaj na svoj pi, stopite na mesto vašega skripta pi-baby-cooler.py, zame v /home /pi (moja domača mapa) in uredite datoteko z nano:

nano pi-baby-cooler.py

Znotraj iskalnika, kjer piše def turn_off ()

def turn_off ():

# Nastavite sprožilno besedo - npr. "hladno" - in spodaj žeton IFTTT Webhook. TRIGGER_WORD = "hladno" TOKEN = "VAŠ TOKEN IFTTT GRE TUKAJ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".. Format (trigger_word = TRIGGER_WORD, žeton = TOKEN)) print ("Fan off!"):

To je funkcija za izklop ventilatorja. To stori tako, da na IFTTT pošlje webhook, ki sproži izklop tplink HS100. Če ste ohranili sprožilno delovanje v svojem računu IFTTT enako kot "hladno", lahko to pustite vklopljeno in preprosto zamenjate žeton, ki ste ga prej dobili iz dokumentacije webhooks. Če ste izbrali drugo ime dogodka, zamenjajte to besedo tukaj.

Ko prilepite žeton IFTTT, pojdite na naslednji razdelek, kjer piše def turn_on ()

def turn_on ():# Nastavite sprožilno besedo - npr. "hot" - in spodaj žeton IFTTT Webhook. TRIGGER_WORD = "hot" TOKEN = "VAŠ TOKEN IFTTT GRE TUKAJ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, žeton = TOKEN)) print ("Vklop ventilatorja!")

Ta funkcija je izklopljena, vklopi pameten vtič TP-link!

Če ste ohranili sprožilno delovanje v svojem računu IFTTT enako kot "vroče", lahko to pustite vklopljeno in preprosto zamenjate žeton, ki ste ga prej dobili iz dokumentacije webhooks. Če ste izbrali drugo ime dogodka, zamenjajte to besedo tukaj.

Vse ostalo je že kodirano, zato vam ni treba spreminjati kode, razen TRIGGER_WORD, TOKEN in nekaj prilagoditev temperatur, ki sledijo!

Spreminjanje temperatur

Nato poiščite, kje piše # Lokalne spremenljivke.

poskusite: # Lokalne spremenljivke. state = 0 # Nastavi stanje stikala nizko = 20 # Nizka vrednost za temperaturni nivo (Celcius). visoka = 24 # Visoka vrednost za temperaturni nivo (Celcius). period = 120 # Zakasnitev med klici v sekundah.

Spremenljivka stanja je, kako pi ve, ali je vtič vklopljen ali ne, to se posodobi pozneje, če se preveč segreje (24+*c, nato se stanje pozneje spremeni v 1), to bi se sprožilo tudi na webhook in obrnilo pameten vtič!

Nizka spremenljivka je, kako hladno želim, da se prostor ohladi, preden izklopite vtič. Če želite, da je soba toplejša, preprosto spremenite to vrednost na višjo vrednost. Če želite, da je hladnejši, znižajte vrednost.

Visoka spremenljivka je najvišja temperatura, ki jo želim doseči, preden želim, da se ventilator vklopi in začne hladiti sobo. Če želite, da se ventilator vklopi pred tem, preprosto znižajte vrednost ali če želite, da je topleje, potem višjo vrednost.

Spremenljivka obdobja je trajanje v sekundah med preverjanjem temperature, če želite, da pi skript preverja manj pogosto in nato višje, če želite skrajšati čas, zmanjšajte število.

Ko naredite spremembe, shranite in zapustite nano

CTRL + x

5. korak: Uporaba skripta

Uporaba skripta
Uporaba skripta

Lokalni zagon skripta

Ta skript lahko zaženete na nekaj načinov, lahko se povežete prek SSH in vnesete naslednje:

sudo python /pi-baby-cooler.py

S tem se bo skript zagnal na zahtevo, to pa bo delovalo le, dokler je aktivna seja SSH do PI. Drugi način je uporaba zaslona, zaslon mislim, da privzeto ni nameščen, zato bo treba uporabiti namestitveni zaslon sudo apt.

Tukaj je odlična vadnica o pravilni uporabi zaslona:

Zaslon ali zaslon GNU je terminalni multiplekser. Z drugimi besedami, to pomeni, da lahko začnete zaslonsko sejo in nato odprete poljubno število oken (virtualnih terminalov) znotraj te seje. Procesi, ki se izvajajo na zaslonu, se bodo še naprej izvajali, če njihovo okno ni vidno, tudi če odklopite povezavo.

Samodejno delovanje ob zagonu

Drugi način je, da uredite zagonsko datoteko v /etc/rc.local, da za to uporabite nano.

sudo nano /etc/rc.local

Če uredite to datoteko, se bo skript zagnal ob zagonu. kar pomeni, da se bo vedno izvajal, ko je vklopljen PI, tako tudi 90% svojih skriptov izvajam na drugih PI.

Če ste uporabili rc.local, lahko zaženete spodnji ukaz, da preverite, kaj se trenutno izvaja na PI. To je priročno za poznejše odpravljanje težav, da preverite, ali skript sploh deluje ali ne:

ps -aef | grep python

Korak 6: Končano

No… Hvala, če ste še tukaj in ste prišli do te točke!

Žal je minilo precej časa, to je bilo moje prvo poučevanje in nisem bil prepričan, kaj naj zapišem.

Kot sem omenil na začetku, ima ta navodila za uporabo veliko različnih aplikacij, ki uporabljajo toploto za sprožitev pametnega vtiča! lahko ohladite katero koli sobo v hiši/stanovanje/stanovanje/garažo/lopo. IFTTT lahko celo spremenite tako, da sproži katero koli pametno napravo, ki jo je mogoče upravljati s pomočjo IFTTT, ni nujno, da so samo naprave TP-link kasa.

Rad bi slišal, če ste preizkusili ta navodila ali celo, če se vam je zdelo zanimivo, mi pustite komentar spodaj!

Če imate kakršna koli vprašanja, jih pustite spodaj in potrudil se bom odgovoriti nanje!

Natečaj senzorjev
Natečaj senzorjev
Natečaj senzorjev
Natečaj senzorjev

Podprvak na tekmovanju senzorjev

Priporočena: