Sadržaj:

Održavajte bebu hladnom ovog ljeta - Kontrola glupih obožavatelja pametnim stvarima!: 6 koraka (sa slikama)
Održavajte bebu hladnom ovog ljeta - Kontrola glupih obožavatelja pametnim stvarima!: 6 koraka (sa slikama)

Video: Održavajte bebu hladnom ovog ljeta - Kontrola glupih obožavatelja pametnim stvarima!: 6 koraka (sa slikama)

Video: Održavajte bebu hladnom ovog ljeta - Kontrola glupih obožavatelja pametnim stvarima!: 6 koraka (sa slikama)
Video: Весёлый суккуб ► 2 Прохождение The Medium 2024, Decembar
Anonim
Neka vaša beba bude hladna ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!
Neka vaša beba bude hladna ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!
Neka vaša beba bude hladna ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!
Neka vaša beba bude hladna ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!

Od pre dve nedelje, u vreme pisanja ovoga, postao sam tata neverovatnom dečaku!

S promjenom godišnjih doba, danima sve dužim i sve većom temperaturom, pomislio sam da bi bilo dobro da u vrtiću imate nekakav monitor kako biste provjerili koliko je vruće gore!

Nisam petljao sa mnogo pitona godinama, ali hteo sam da se vratim na to od svoje prve godine na univerzitetu pre skoro 5 godina! Zbog toga sam mislio da bi bilo bolje da dokumentujem ono što sam učinio, da mi kasnije pomogne, ali i da pomognem bilo kome drugom ko želi da uradi istu stvar!

Koristeći Raspberry pi, Enviro pHAT i pametni TP-link kasa utikač, možete kontrolirati utikače pomoću IFTTT okvira! to je zaista jednostavno za napraviti, a možete čak i izmijeniti ovaj vodič za kontrolu bilo čega putem različitih senzora i različitih uređaja! Nadam se da će vam ovo biti od koristi. Ako vam se sviđa ovo uputstvo, ne zaboravite glasati za moju prijavu na takmičenju senzora!: D (oprostite na pitanju), ovo mi je prvi put da radim ovo i volio bih imati moguću priliku osvojiti nešto za sve vrijeme koje ulažem u ovo

** UREDI ** U narednih nekoliko dana pogledat ću prosljeđivanje ovih podataka na Grafana ploču, ako mislite da bi ovo bilo dobro, obavijestite!: D

Uđimo odmah u to…

Supplies

  1. Bilo koji Raspberry pi će uspjeti, ali ja sam odabrao Zero W jer je to ono što sam morao predati u izvlačenju, ima i najmanji faktor oblika sa WiFi -om koji je omogućen prema zadanim postavkama! - Malina PI Zero w
  2. SD kartica, svi imaju različite preferencije za njih, ali ja sam koristio jednu od ovih! - Micro-SD kartica
  3. Ako ste zaglavili, evo službene podržane dokumentacije za SD kartice -službene podržane SD kartice
  4. Kratkospojne žice (kasnije će biti objašnjeno) - Premosne žice
  5. Enviro pHAT za sve slavne senzore! - Envrio-pHAT
  6. Pametni utikač, otišao sam s TP-Linkom jer vam ne trebaju nikakva otmjena čvorišta da biste ga ispravili! - Pametni utikač!
  7. Glupi ventilator za kontrolu, možete koristiti bilo koji ventilator, upravo sam pronašao ventilator na Amazonu, ali svaki ventilator u zidnoj utičnici će raditi dobro - Glupi ventilator
  8. Lemilica, ali ako ne želite koristiti lemilicu, možete dobiti klik u zaglavljima za svoj PI i pHAT-GPIO-čekić-zaglavlje

Da bi veza između TP-links kasa i IFTTT-a funkcionirala, morate imati postavljen TP-link kasa i IFTTT račun prije pokretanja ovog uputstva. Kada primite svoj TP-link pametni utikač, upute isporučene s pametnim utikačem provest će vas kroz postupak postavljanja, uključujući kako imenovati utikač i njegove osnovne funkcije

Kad budete imali sve svoje liste za kupovinu, vrijeme je da ih sve sastavite!

Korak 1: Postavljanje vašeg Raspberry Pi

Snimanje vaše micro-SD kartice Nabavite najnoviju i najbolju Raspbian sliku, lite verzija će biti dobra, ako ne i bolja za nultu w! -

Napišite ovu sliku na SD karticu, za ovo će vam trebati čitač i slika, ja koristim etcher -

Postavljanje Wi -Fi -ja (opcionalno) Ako vaš PI ima ugrađen WIFI, zašto ga sada ne biste postavili kako biste kasnije uštedjeli mnogo petljanja po konzolama!

Nakon što je vaš pi snimljen, pogon je izbačen. Odspojite i povežite SD karticu tako da je uređaj ponovo otkrije. Trebala bi se pojaviti particija za pokretanje.

Kreirajte praznu datoteku pod nazivom wpa_supplicant.conf unutar pokretačke particije vašeg pi, ovdje postavite sljedeće u ovu novu datoteku:

mreža = {

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

Omogućavanje SSH -a na vašem PI -u po izboru (nije obavezno)

Prema zadanim postavkama, čista Raspbian slika onemogućit će ssh. Morali biste pokrenuti sistem, spojiti tastaturu i ekran na Pi, a zatim omogućiti ssh. Ovaj korak će omogućiti ssh pri prvom pokretanju. Na particiji za pokretanje kreirajte novu datoteku pod nazivom ssh. Prazan fajl sa istim imenom.

Nakon što obavite dva izborna koraka, vaš PI će se automatski povezati s vašim WIFI -em i prema zadanim postavkama omogućiti SSH.

Nakon što ste snimili i konfigurirali mikro-SD karticu, možete je umetnuti u svoj PI ili izbor i uključiti!

Ažurirajući svoj PIO čim pokrenete svoj PI, svoju IP adresu svog PI možete pronaći u postavkama bežičnih usmjerivača. Većina usmjerivača su različiti pa bi nažalost bilo teško napisati vodič za ovo!

Nakon što dobijete IP svog PI -ja, povežite se putem SSH -a i prijavite se sa sljedećim:

Korisničko ime: pi

Lozinka: malina

Nakon što imate aktivnu SSH sesiju s vašim PI -jem, htjet ćete ga ažurirati, jednostavno pokrenite dolje s odgovarajućim Y ili N tijekom ažuriranja:

sudo apt-get update

sudo apt-get nadogradnja

Uvijek je dobro ponovno pokrenuti PI nakon instaliranja novih ažuriranja kako biste bili sigurni da je ponovo pokrenut s najnovijim ažuriranjima, to se može postići pomoću

sudo reboot -n

Sada je PI spreman, vrijeme je za prelazak na sljedeći korak!

Korak 2: Postavljanje Enviro PHAT -a

Postavljanje vašeg Enviro PHAT -a
Postavljanje vašeg Enviro PHAT -a
Postavljanje vašeg Enviro PHAT -a
Postavljanje vašeg Enviro PHAT -a

Ožičenje vašeg Enviro pHAT -a

Kada ažurirate svoj pi, možete povezati svoj Enviro pHAT sa PI po vašem izboru!

*** Da ne biste oštetili svoj PI ili pHAT, prvo ga isključite ***

Ovdje sam koristio kratkospojnike jer možete dobiti toplinsko ispiranje iz CPU -a koji se zagrijava pod Enviro pHAT -om. Ova dodatna toplina može promijeniti temperaturna očitanja koja biste kasnije dobili. Zbog toga sam koristio 5 kratkospojnih vodova na donje igle:

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

Molimo provjerite dijagram ožičenja na vrhu ovog koraka za vizualnu referencu ili donju vezu:

pinout.xyz/pinout/enviro_phat

(žao mi je zbog lošeg farbanja)

Prilikom povezivanja pHAT -a, provjerite jeste li ga pravilno namjestili jer ga u suprotnom možete potencijalno oštetiti !!! Da bih to učinio, imao sam svoja podešavanja tako da su zaglavlja ANALOG IN -a usmjerena prema utoru za SD karticu. Ovo je kasnije okrenuto na mojim slikama kako bi se lakše uklopilo u moj "nosač".

Instaliranje ovisnosti

Uključite sigurnosnu kopiju PI -ja i ponovo uključite SSH

Kada se vratite u PI, pokrenite sljedeće za instaliranje potrebnih paketa i softvera za vaš Enviro pHAT:

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

Po potrebi pritisnite Y ili N.

Nakon dovršetka instalacije, svakako ponovo pokrenite PI …

sudo reboot -n

Testiranje pHAT -a

Da biste bili sigurni da je vaš pHAT pravilno povezan, možete ući u python modul i pokrenuti nekoliko naredbi vraćanjem na svoj PI i upisivanjem pythona, jednom u python modulu upišite dolje:

iz envirophat uvoz vremenske prilike

ispis (weather.temerpature ())

Ovo bi vam trebalo pokazati čitanje kao u nastavku:

>> iz envirophat uvoz vremenske prilike

>> ispis (weather.temperature ()) 24.0806166987

Rješavanje problema

Ako dobijete nešto poput greške u nastavku:

Vraćanje nazad (posljednji zadnji poziv): Datoteka "", red 1, u Datoteci "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", red 134, u temperaturi self.update () Datoteka " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", red 169, ažurirano ako self._read_byte (REGISTER_CHIPID) == 0x58: # ID senzora za provjeru 0x58 = Datoteka BMP280"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", linija 116, u _read_byte vrati self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Remote I/O error

Zatim možete pokrenuti:

sudo i2cdetect -y 1

Ovo će pokrenuti dijagnostičku provjeru vaših veza/ožičenja, a vi ćete tražiti nešto poput dolje:

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

Ako ne, morat ćete se vratiti i ponovo provjeriti ožičenje, provjerite shemu ožičenja i pokušajte ponovo!

Instaliranje skripte pi-baby-cooler.py

Ako je sve u redu i uspjeli ste očitati temperaturu, možemo nastaviti instalirati paket baby-cooler.py!

Zbog načina na koji instrukcije rukuju vezama, u gornje zaglavlje koraka priložio sam.py skriptu … Da biste ovo kopirali na svoj PI, preporučujem da koristite nešto poput WinSCP:

winscp.net/eng/download.php

WinSCP je popularan SFTP klijent i FTP klijent za Microsoft Windows! Kopirajte datoteku između lokalnog računara i udaljenih servera pomoću FTP, FTPS, SCP, SFTP, WebDAV ili S3 protokola za prijenos datoteka.

WinSCP je jednostavan za korištenje, jednostavno se povežite sa svojim PI -jem koristeći IP adresu vašeg PI -a, a zatim povucite i ispustite.py datoteku tamo gdje želite da je pokrenete, a to je iz /home /pi.

Sada je.py skripta na vašem PI -ju, vrijeme je da prijeđete na postavljanje vašeg IFTTT računa / veza

Korak 3: Postavljanje IFTTT računa/veze

Postavljanje vašeg IFTTT računa/veze
Postavljanje vašeg IFTTT računa/veze
Postavljanje vašeg IFTTT računa/veze
Postavljanje vašeg IFTTT računa/veze
Postavljanje vašeg IFTTT računa/veze
Postavljanje vašeg IFTTT računa/veze

Sljedeće ćemo pogledati dobivanje IFTTT tokena, koji će se koristiti pri pozivanju funkcije vruće / hladno unutar skripte za povezivanje na kasa utikač i uključivanje / isključivanje ventilatora.

Kreiranje Webhookova

Idite na https://ifttt.com/ i kreirajte račun ako ga već nemate.

Nakon što se prijavite, unutar trake za pretraživanje tražite: TP-link kasa

Nakon što se učita, kliknite usluge pa TP-link kasa. Zatim ćete morati povezati svoj kasa račun sa svojim IFTTT računom, prijaviti se na svoj kasa račun putem IFTTT -a da biste uspostavili vezu.

Nakon povezivanja računa kliknite "Moji apleti", zatim novi aplet, zatim kliknite "+ovo" i pretražite web -dojavnike.

Kliknite, "Primite web zahtjev", unutar naziva naziva tipa vruće (to može biti sve što želite, ali morate to ažurirati kasnije u okviru skripte pi-baby-coller.py ili ovo neće uspjeti. Koristio sam vruće za uključivanje uključite ventilator i ohladite ga kako biste isključili ventilator. Zatim kliknite na dugme za stvaranje okidača.

Zatim moramo povezati vaš novi okidač s vašim Kasa računom, kliknite "+to" i pretražite kasa, kliknite na TP-link kasa, zatim kliknite "uključi", nakon toga odaberite uređaj koji želite uključiti, a zatim kliknite stvoriti akcija. Pregledajte radnju i kliknite završi ako je ispravno.

**********

Upamtite ako ste odabrali neki drugi naziv događaja osim "vruće" i "hladno", morat ćete to zabilježiti za kasnije i ažurirati skriptu! U suprotnom.py skripta neće raditi

**********

Nakon što smo stvorili prvu web udicu, ponovite postupak za "hladno", ali ovaj put odabirete isključi umjesto uključivanja pri odabiru +te radnje.

Nakon što u odjeljku računa mojih apleta imamo dvije web -dojavnike događaja, kliknite usluge i pretražite web -dojavnike, a zatim kliknite na nju. Ovdje ćete vidjeti dugme za dokumentaciju (gore desno), kliknite na to. Ovdje ćete pronaći ključ tokena IFTTT. dok ovdje bilježite svoj ključ (trebat će vam kasnije), ja sam svoj uredio unutar slike, inače bi bilo tko mogao uključiti ili isključiti moje pametne utičnice.

Testiranje web hukova

Sada imamo kreirane dvije web -dojave povezane s našim kasa računom, možemo provjeriti rade li ili ne!

Unutar svog PI možete unijeti sljedeće:

curl -X POST

Tamo gdje piše "vruće" morate dodati naziv događaja, ako ste ga ostavili kao "vruće", ostavite ovo na miru. Tamo gdje piše /vi… morate ovo zamijeniti ključem IFTTT tokena. Pritisnite enter i tada biste trebali čuti klik releja pametnih utikača koji uključuje utikač. Ako niste mogli čuti, možete provjeriti aplikaciju Kasa da provjerite status vaših utikača.

Sada imamo instalirane zavisnosti za naš Enviro pHAT i sada imamo IFTTT podešavanje, vrijeme je da završimo s promjenom koda.

Korak 4: Uređivanje skripte

Uređivanje skripte
Uređivanje skripte

Naziv događaja i IFTTT TOKENSVratite se na svoj pi, eskalirajte do lokacije vaše skripte pi-baby-cooler.py, za mene u /home /pi (moja početna mapa) i uredite datoteku pomoću nano:

nano pi-baby-cooler.py

Unutar finder -a gdje piše def turn_off ()

def turn_off ():

# Postavite pokretačku riječ - npr. "hladno" - i dolje doznaka IFTTT Webhook. TRIGGER_WORD = "cold" TOKEN = "VAŠ IFTTT TOKEN DOLAZI OVDJE" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan off!"):

Ovo je funkcija isključivanja ventilatora. To čini slanjem webhooka IFTTT -u koji aktivira isključivanje tplink HS100. Ako ste zadržali rad okidača na svom IFTTT računu isti kao i "hladan", možete to ostaviti i zamijeniti token koji ste ranije dobili iz dokumentacije webhooks -a. Ako ste ipak odabrali drugi naziv događaja, zamijenite ovu riječ ovdje.

Nakon lijepljenja u IFTTT token, prijeđite na sljedeći odjeljak gdje piše def turn_on ()

def turn_on ():# Postavite pokretačku riječ - npr. "vruće" - i dolje doznaka IFTTT Webhook. TRIGGER_WORD = "hot" TOKEN = "VAŠ IFTTT TOKEN DOLAZI OVDJE" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan on!")

Ova funkcija je obrnuta od isključenja, uključuje pametan utikač TP-link!

Ako ste zadržali rad okidača na svom IFTTT računu isti kao i "vruć", možete to ostaviti i zamijeniti token koji ste ranije dobili iz dokumentacije webhooks -a. Ako ste ipak odabrali drugi naziv događaja, zamijenite ovu riječ ovdje.

Sve ostalo je već kodirano, tako da ne morate mijenjati kôd osim TRIGGER_WORD, TOKEN i nekoliko prilagodbi temperatura koje slijede!

Promjena temperature

Zatim pronađite gdje piše # Lokalne varijable.

try: # Lokalne varijable. state = 0 # Postavlja stanje prekidača nisko = 20 # Niska vrijednost za temperaturni nivo (Celzijus). visoka = 24 # Visoka vrijednost za temperaturni nivo (Celzijus). period = 120 # Odgoda, u sekundama, između poziva.

Varijabla stanja je kako pi zna da li je utikač uključen ili ne, ovo se ažurira kasnije ako postane previše vruće (24+*c, tada se stanje kasnije mijenja u 1), ovo bi se također aktiviralo na web -kuku i uključilo pametni utikač uključen!

Niska varijabla je koliko želim da se soba ohladi prije isključivanja utikača. Ako želite sobu toplije, jednostavno promijenite ovu vrijednost na veću vrijednost. Ako želite hladnije, smanjite vrijednost.

Visoka varijabla je maksimalna temperatura koju želim da soba dobije prije nego što želim da se ventilator uključi i počne hladiti prostoriju. Ako želite da se ventilator uključi prije toga, jednostavno smanjite vrijednost, ili ako želite da bude topliji, onda povećajte vrijednost.

Varijabla perioda je trajanje u sekundama između provjera temperature, ako želite da pi skripta provjerava rjeđe, a zatim veći broj ako želite skratiti vrijeme, smanjite broj.

Nakon što unesete promjene, spremite i izađite iz nano

CTRL + x

Korak 5: Upotreba skripte

Korišćenje skripte
Korišćenje skripte

Lokalno pokretanje skripte

Postoji nekoliko načina na koje možete pokrenuti ovu skriptu, možete se povezati putem SSH -a i upisati sljedeće:

sudo python /pi-baby-cooler.py

Ovo će pokrenuti skriptu na zahtjev, to će raditi samo sve dok postoji aktivna SSH sesija do PI -ja. Drugi način je korištenje ekrana, mislim da ekran nije standardno instaliran, pa će se morati koristiti sudo apt instalacijski ekran.

Evo odličnog vodiča o tome kako pravilno koristiti zaslon:

Zaslon ili GNU Zaslon je terminalni multiplekser. Drugim riječima, to znači da možete započeti sesiju ekrana, a zatim otvoriti bilo koji broj prozora (virtualnih terminala) unutar te sesije. Procesi koji se izvode na ekranu nastavit će se izvoditi kada njihov prozor nije vidljiv čak i ako prekinete vezu.

Automatizacija za pokretanje pri pokretanju

Drugi način je da uredite datoteku za pokretanje u /etc/rc.local kako biste za ovo koristili nano.

sudo nano /etc/rc.local

Uređivanjem ove datoteke skripta će se pokrenuti pri pokretanju. što znači da će se uvijek izvoditi kada je uključen PI, tako i ja pokrećem 90% svojih skripti na drugim PI -ovima.

Ako ste koristili rc.local, tada možete pokrenuti naredbu ispod kako biste provjerili šta se trenutno izvodi na PI -u. Ovo je zgodno za kasnije rješavanje problema kako biste vidjeli radi li skripta uopće ili ne:

ps -aef | grep python

Korak 6: Završeno

Pa … Hvala ako ste još ovdje i došli ste do ove točke!

Žao mi je što je prošlo dosta vremena, ovo je bilo moje prvo učenje i nisam bio siguran šta da napišem.

Kao što sam spomenuo na početku, ove upute imaju mnogo različitih aplikacija koje koriste toplinu za pokretanje pametnog utikača! možete rashladiti bilo koju sobu u kući/stan/stan/garažu/šupu. Možete čak i izmijeniti IFTTT tako da aktivira bilo koji pametni uređaj kojim se može upravljati putem IFTTT-a, to ne moraju biti samo TP-link kasa uređaji.

Volio bih čuti ako ste isprobali ove upute ili ako vam se učinilo zanimljivim, ostavite mi komentar ispod!

Ako imate bilo kakvih pitanja, ostavite ih ispod i potrudit ću se odgovoriti na njih!

Takmičenje senzora
Takmičenje senzora
Takmičenje senzora
Takmičenje senzora

Drugoplasirani na takmičenju senzora

Preporučuje se: