Sadržaj:

Održavajte svoju bebu hladnom ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!: 6 koraka (sa slikama)
Održavajte svoju bebu hladnom ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!: 6 koraka (sa slikama)

Video: Održavajte svoju bebu hladnom ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!: 6 koraka (sa slikama)

Video: Održavajte svoju bebu hladnom ovog ljeta - kontrolirajte glupe obožavatelje pametnim stvarima!: 6 koraka (sa slikama)
Video: 薑茶的保健奧秘:揭示10種令人驚喜的健康益處!(附中文字幕)|健康飲食週報 Healthy Eating Weekly Report 2024, Studeni
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!

Prije dva tjedna, u vrijeme pisanja ovoga, postao sam tata nevjerojatnom dječaku!

S promjenom godišnjih doba, dani postaju sve duži, a temperature sve toplije, mislio sam da bi bilo dobro da u vrtiću imate nekakav monitor kako biste provjerili koliko je vruće gore!

Nisam se petljao s mnogo pitona godinama, ali htio sam se vratiti na to od svoje prve godine na sveučilištu prije gotovo 5 godina! Zbog toga sam mislio da bi bilo bolje dokumentirati ono što sam učinio, kako bi mi kasnije pomogli, a pomogli i svima drugima koji žele učiniti 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 doista jednostavno za napraviti i čak možete izmijeniti ovaj vodič kako biste kontrolirali bilo što putem različitih senzora i različitih uređaja! Nadam se da će vam ovo biti korisno. Ako vam se sviđa ovo uputstvo, nemojte zaboraviti glasovati za moju prijavu na natječaju senzora!: D (oprostite na pitanju), ovo mi je prvi put da ovo radim i volio bih imati moguću priliku osvojiti nešto za sve vrijeme koje ulažem u ovo

** UREDI ** Tijekom sljedećih 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…

Pribor

  1. Bilo koji Raspberry pi će učiniti, ali ja sam odabrao Zero W jer je to ono što sam morao predati u svom izvlačenju, također ima i najmanji faktor oblika s omogućenim WiFi -om prema zadanim postavkama! - Malina PI Zero w
  2. SD kartica, svatko ima različite preferencije za njih, ali ja sam koristio jednu od ovih! - Micro-SD kartica
  3. Ako ste zaglavili, ovdje je službena podržana dokumentacija 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č, kupio sam TP-Link 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. Kad 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

Nakon što imate sav popis za kupnju, vrijeme je da 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! -

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

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

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

Izradite praznu datoteku pod nazivom wpa_supplicant.conf unutar particije za pokretanje vašeg pi, ovdje u ovu novu datoteku postavite dolje:

mreža = {

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

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

Prema zadanim postavkama, čista Raspbian slika onemogućit će ssh. Morali biste pokrenuti sustav, spojiti tipkovnicu i zaslon na Pi, a zatim omogućiti ssh. Ovaj korak će omogućiti ssh pri prvom pokretanju. Na particiji za pokretanje stvorite novu datoteku pod nazivom ssh. Prazna datoteka s točno tim imenom.

Nakon što dovršite 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 nakon što ste podigli 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 za ovo bilo teško napisati vodič!

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 ažuriranje

sudo apt-get nadogradnja

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

sudo ponovno podizanje sustava -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

Nakon što ažurirate svoj pi, svoj Enviro pHAT možete povezati s PI -jem po vašem izboru!

*** Kako 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. Ova dodatna toplina može promijeniti temperaturna očitanja koja ćete kasnije dobiti. 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

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

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 protivnom možete oštetiti !!! Da bih to učinio, imao sam svoje postavke, tako da su zaglavlja ANALOG IN -a prema utoru za SD karticu, to je kasnije okrenuto na mojim slikama kako bi se bolje uklopilo u moj "nosač".

Instaliranje ovisnosti

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

Nakon što se vratite u PI, pokrenite sljedeće da biste instalirali potrebne pakete i softver za svoj Enviro pHAT:

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

Po potrebi pritisnite Y ili N.

Nakon dovršetka instalacije, ponovno pokrenite PI …

sudo ponovno podizanje sustava -n

Testiranje pHAT -a

Da biste bili sigurni da je vaš pHAT pravilno povezan, možete svratiti u Python modul i pokrenuti nekoliko naredbi tako da vratite svoj PI i upišete python, jednom u python modulu upišite dolje:

iz envirophat uvoznog vremena

ispis (weather.temerpature ())

Ovo bi vam trebalo pokazati čitanje kao u nastavku:

>> iz envirophat uvoznog vremena

>> ispis (weather.temperature ()) 24.0806166987

Rješavanje problema

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

Vraćanje natrag (posljednji zadnji poziv): Datoteka "", redak 1, u datoteci "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", redak 134, u datoteci temperature self.update () " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", redak 169, ažurirano ako self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", redak 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 ponovno provjeriti ožičenje, provjerite shemu ožičenja i pokušajte ponovno!

Instaliranje skripte pi-baby-cooler.py

Ako je sve u redu i ako ste uspjeli dobiti očitanje temperature, možemo nastaviti instalirati paket baby-cooler.py!

Zbog načina na koji instrukcije obrađuju veze, u gornje zaglavlje koraka priložio sam.py skriptu … Da biste ovo kopirali na svoj PI, preporučujem korištenje nečega poput WinSCP:

winscp.net/eng/download.php

WinSCP je popularan SFTP klijent i FTP klijent za Microsoft Windows! Kopirajte datoteku između lokalnog računala i udaljenih poslužitelja koristeći FTP, FTPS, SCP, SFTP, WebDAV ili S3 protokole prijenosa 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 na mjesto s kojeg biste je htjeli pokrenuti, a to je od /home /pi.

Sada je.py skripta na vašem PI -ju, vrijeme je da prijeđete na postavljanje 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, to će se koristiti pri pozivanju funkcije vruće / hladno unutar skripte za spajanje na kasa utikač i uključivanje / isključivanje ventilatora.

Izrada web -dojavnika

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

Nakon što ste prijavljeni, 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 kako 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 događaja vruće (to može biti sve što želite, ali to morate ažurirati kasnije u okviru skripte pi-baby-coller.py ili ovo neće uspjeti. Koristio sam vruće za uključivanje ventilator uključen i hladan da biste isključili ventilator. Zatim kliknite na okidač za stvaranje.

Zatim moramo povezati vaš novi okidač s vašim Kasa računom, kliknite "+to" i pretražite kasu, kliknite kasu TP-veze, zatim kliknite "uključi", nakon toga odaberite uređaj koji želite uključiti, a zatim kliknite stvoriti akcijski. 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! Inače.py skripta neće raditi

**********

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

Kad u odjeljku računa mojih apleta imamo dvije web -dojavnike događaja, kliknite usluge i pretražite web -dojavnike, a zatim kliknite to. Ovdje ćete vidjeti gumb dokumentacije (gore desno), kliknite 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 udica

Sada imamo stvorena dva webhooka koji su povezani s našim kasa računom, možemo provjeriti rade li ili ne!

Unutar svog PI -a 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 to zamijeniti ključem IFTTT tokena. Pritisnite enter i tada biste trebali čuti klik releja pametnih utikača koji uključuje utikač. Ako ga niste mogli čuti, provjerite stanje u utičnicama u aplikaciji Kasa.

Sada imamo instalirane ovisnosti za naš Enviro pHAT i sada imamo IFTTT postavljanje, 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 mjesta vaše skripte pi-baby-cooler.py, za mene u /home /pi (moja kućna mapa) i uredite datoteku pomoću nano:

nano pi-baby-cooler.py

Unutar tražilice 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 na IFTTT koji aktivira isključenje tplink HS100. Ako ste zadržali rad okidača na svom IFTTT računu isti kao i "hladan", to možete ostaviti i zamijeniti token koji ste ranije dobili iz dokumentacije webhooksa. 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 aktivirali okidač na svom IFTTT računu isto kao "vruće", možete to ostaviti i zamijeniti token koji ste ranije dobili iz dokumentacije webhooksa. Ako ste ipak odabrali drugi naziv događaja, zamijenite ovu riječ ovdje.

Sve ostalo je već kodirano, pa ne morate ništa mijenjati u kodu, osim TRIGGER_WORD, TOKEN i nekoliko prilagodbi temperatura koje slijede!

Promjena temperatura

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

try: # Lokalne varijable. stanje = 0 # Postavlja stanje sklopke nisko = 20 # Niska vrijednost za razinu temperature (Celzijev stupanj). visoka = 24 # Visoka vrijednost za temperaturnu razinu (Celzijus). period = 120 # Odgoda, u sekundama, između poziva.

Varijabla stanja je kako pi zna je li utikač uključen ili ne, to se ažurira kasnije ako postane prevruće (24+*c, tada se stanje kasnije mijenja u 1), to bi se također otvorilo 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 je promijenite 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 toplije, onda povećajte vrijednost.

Varijabla razdoblja 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: Korištenje skripte

Korištenje skripte
Korištenje 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 zaslona, mislim da zaslon nije standardno instaliran, pa će se morati koristiti sudo apt instalacijski zaslon.

Evo sjajnog vodiča o pravilnom korištenju zaslona:

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

Automatiziranje za pokretanje pri pokretanju

Drugi način je da uredite datoteku za pokretanje u /etc/rc.local kako biste to učinili koristeći nano.

sudo nano /etc/rc.local

Uređivanjem ove datoteke skripta će se pokrenuti pri pokretanju. što znači da će se uvijek izvoditi kad 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 u nastavku kako biste provjerili što 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 što bih zapisao.

Kao što sam spomenuo na početku, ove upute imaju mnogo različitih aplikacija koje koriste toplinu za aktiviranje pametnog utikača! možete rashladiti svaku 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 jeste li isprobali ove upute ili ako vam se učinilo zanimljivim, ostavite mi komentar ispod!

Ako imate pitanja, ostavite ih ispod, a ja ću se potruditi odgovoriti na njih!

Natječaj senzora
Natječaj senzora
Natječaj senzora
Natječaj senzora

Drugoplasirani na natjecanju senzora

Preporučeni: