Obsah:

Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami! 6 krokov (s obrázkami)
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami! 6 krokov (s obrázkami)

Video: Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami! 6 krokov (s obrázkami)

Video: Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami! 6 krokov (s obrázkami)
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Júl
Anonim
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami!
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami!
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami!
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami!

Pred dvoma týždňami, keď som to písal, som sa stal otcom neuveriteľného chlapca!

Keď sa striedali ročné obdobia, dni sa predlžovali a teploty sa otepľovali, povedal som si, že by bolo dobré mať v škôlke nejaký monitor, ktorý by kontroloval, ako sa tam hore zahrieva!

Za tie roky som sa nepohral s veľa pytónom, ale chcel som sa k tomu vrátiť od prvého ročníka na univerzite pred takmer 5 rokmi! Z tohto dôvodu som si myslel, že bude lepšie zdokumentovať to, čo som urobil, pomôcť mi neskôr a tiež pomôcť komukoľvek ďalšiemu, kto chce urobiť to isté!

Pomocou zásuviek Raspberry pi, Enviro pHAT a inteligentnej zástrčky kasa TP-link môžete zásuvky ovládať pomocou rámca IFTTT! je to skutočne jednoduché a dokonca môžete tento návod upraviť tak, aby ste čokoľvek ovládali pomocou rôznych senzorov a rôznych zariadení! Dúfam, že vám to bude užitočné. Ak sa vám tento návod páči, nezabudnite hlasovať za moje prihlásenie do súťaže o senzory!: D (ospravedlňujem sa za otázku), robím to prvýkrát a chcel by som mať šancu vyhrať niečo za celý čas, čo do toho vkladám.

** UPRAVIŤ ** V priebehu niekoľkých nasledujúcich dní sa pozriem na odoslanie týchto údajov na dosku Grafana. Ak si myslíte, že by to bolo dobré, dajte vedieť!: D

Poďme rovno na to…

Zásoby

  1. Postačí akýkoľvek Raspberry pi, ale vybral som si Zero W, pretože to bolo to, čo som musel odovzdať pri kreslení, má tiež najmenší formát a WiFi je v predvolenom nastavení povolené! - Raspberry PI Zero w
  2. Karta SD, každý má iné preferencie, ale ja som použil jednu z nich! - Karta Micro-SD
  3. Ak ste sa zasekli, tu je oficiálna podporovaná dokumentácia pre karty SD -oficiálne podporované karty SD
  4. Prepojovacie vodiče (vysvetlí neskôr) - prepojovacie vodiče
  5. Enviro pHAT pre všetky nádherné senzory! - Envrio-pHAT
  6. Inteligentná zásuvka, prešiel som s TP-Link, pretože nepotrebujete žiadne fantastické rozbočovače, aby to fungovalo po vybalení z krabice! - Inteligentná zásuvka!
  7. Hlúpy ventilátor na ovládanie, môžete použiť akýkoľvek ventilátor, práve som našiel ventilátor na Amazone, ale akýkoľvek ventilátor do zásuvky bude fungovať dobre - hlúpy ventilátor
  8. Spájkovačka, ale ak nechcete používať spájkovačku, môžete pre svoje PI a pHAT získať zacvakávacie hlavičky-GPIO-hammer-header

Aby spojenie medzi TP-links kasa a IFTTT fungovalo, budete musieť mať pred spustením tohto pokynu zriadený účet TP-link kasa a IFTTT. Keď obdržíte inteligentnú zásuvku TP-link, pokyny dodané s inteligentnou zásuvkou vás prevedú procesom nastavenia vrátane toho, ako zásuvku pomenovať a aké sú jej základné funkcie

Akonáhle máte všetok svoj nákupný zoznam, je čas začať ho zostavovať!

Krok 1: Nastavenie Raspberry Pi

Zobrazovanie karty micro-SD Získajte najnovší a najväčší obraz Raspbian, Lite verzia bude fungovať dobre, ak nie lepšie pre nulové w! -

Napíšte tento obrázok na kartu SD, budete na to potrebovať čítačku a kameru, ja používam etcher -

Nastaviť Wi -Fi (voliteľné) Ak má váš PI vstavané WIFI, prečo ho nenastaviť hneď, aby ste si s konzolami neskôr ušetrili veľa neporiadku!

Hneď ako sa zobrazí vaše pi, jednotka sa vysunie. Odpojte a pripojte kartu SD, aby ju zariadenie znova zistilo. Mal by sa objaviť bootovací oddiel.

Vytvorte prázdny súbor s názvom wpa_supplicant.confwith v zavádzacom oddiele vášho pi, tu umiestnite nižšie v tomto novom súbore:

sieť = {

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

Povolenie SSH na vybranom PI (voliteľné)

V predvolenom nastavení bude mať čistý obrázok Raspbian deaktivovaný príkaz ssh. Budete musieť spustiť systém, pripojiť k Pi klávesnicu a displej a potom povoliť ssh. Tento krok umožní ssh pri prvom spustení. V zavádzacom oddiele vytvorte nový súbor s názvom ssh. Prázdny súbor s rovnakým názvom.

Po dokončení dvoch voliteľných krokov sa váš PI automaticky pripojí k vášmu WIFI a štandardne má povolené SSH.

Akonáhle máte zobrazenú a nakonfigurovanú kartu micro-SD, môžete ju vložiť do svojho PI alebo výberu a zapnúť!

Keď aktualizujete PIO, akonáhle spustíte PI, v nastaveniach bezdrôtových smerovačov nájdete svoju IP adresu. Väčšina smerovačov je odlišných, takže by bolo bohužiaľ ťažké napísať k tomu sprievodcu!

Akonáhle budete mať svoju IP svojho PI, pripojte sa cez SSH a prihláste sa pomocou nasledujúceho postupu:

Používateľské meno: pi

Heslo: malina

Akonáhle máte s PI aktívnu reláciu SSH, budete ju chcieť aktualizovať. Pri aktualizácii jednoducho spustite nižšie uvedené súbory s príslušným Y alebo N:

sudo apt-get aktualizácia

sudo apt-get upgrade

je vždy dobré reštartovať PI po inštalácii akýchkoľvek nových aktualizácií, aby sa zaistilo, že budú znova spustené s najnovšími aktualizáciami, čo je možné dosiahnuť pomocou

sudo reboot -n

Teraz je PI pripravené, je čas prejsť na ďalší krok!

Krok 2: Nastavenie Enviro PHAT

Nastavenie zariadenia Enviro PHAT
Nastavenie zariadenia Enviro PHAT
Nastavenie zariadenia Enviro PHAT
Nastavenie zariadenia Enviro PHAT

Zapojenie zariadenia Enviro pHAT

Akonáhle budete mať svoje pi všetky aktuálne, môžete pripojiť svoj Enviro pHAT k PI podľa vášho výberu!

*** Aby ste nepoškodili PI alebo pHAT, najskôr ho vypnite ***

Tu som použil prepojovacie vodiče, pretože môžete získať tepelné vymývanie z toho, že sa procesor zahrieva pod Enviro pHAT. Toto extra teplo môže zmeniť hodnoty teploty, ktoré by ste získali neskôr. Z tohto dôvodu som použil 5 prepojovacích káblov na nižšie uvedené kolíky:

  • Pin 3 - GPIO2 (SDA I2C)
  • Pin 5 - GPIO3 (SCL I2C)
  • Pin 7 - GPIO4
  • Kolík 6 - uzemnenie
  • Kolík 4 - 5V

Vizuálnu referenciu alebo nasledujúci odkaz nájdete v schéme zapojenia v hornej časti tohto kroku:

pinout.xyz/pinout/enviro_phat

(ospravedlňujem sa za nekvalitný náter)

Pri pripájaní svojho pHATu dbajte na to, aby bol správne nastavený, inak by ste ho mohli potenciálne poškodiť !!! Aby som to urobil, nechal som svoje nastavenie tak, aby hlavičky ANALOG IN smerovali k slotu na kartu SD, čo sa neskôr v mojich obrázkoch otočilo, aby sa mi pohodlne zmestilo do môjho „nosiča“.

Inštalácia závislostí

Napájajte svoje PI a SSH späť

Po návrate do PI spustite nasledujúce kroky, aby ste nainštalovali požadované balíky a softvér pre Enviro pHAT:

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

V prípade potreby nezabudnite stlačiť Y alebo N.

Po dokončení inštalácie nezabudnite reštartovať PI …

sudo reboot -n

Testovanie pHAT

Aby ste sa uistili, že je váš pHAT zapojený správne, môžete prejsť do modulu python a spustiť niekoľko príkazov tak, že sa vrátite do svojho PI a zadáte python, akonáhle zadáte do modulu python, zadajte nasledujúci príkaz:

z dovozného počasia pre životné prostredie

vytlačiť (weather.temerpature ())

Toto by vám malo ukázať odčítanie nižšie:

>> z envirophat import počasia

>> tlač (počasie.teplota ()) 24.0806166987

Riešenie problémov

Ak narazíte na niečo v zmysle chyby uvedenej nižšie:

Traceback (posledný hovor posledný): Súbor "", riadok 1, v súbore "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", riadok 134, v teplotnom súbore self.update () " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", riadok 169, aktualizuje sa, ak self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", riadok 116, v _read_byte vráti self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Chyba vzdialeného I/O

Potom môžete spustiť:

sudo i2cdetect -y 1

Spustí sa diagnostická kontrola vašich pripojení/káblov a budete hľadať niečo ako nižšie:

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

Ak nie, budete sa musieť vrátiť a znova skontrolovať zapojenie, skontrolujte schému zapojenia a skúste to znova!

Inštalácia skriptu pi-baby-cooler.py

Ak je všetko v poriadku a podarilo sa vám získať údaje o teplote, môžeme pokračovať a nainštalovať balík baby-cooler.py!

Vzhľadom na to, ako instructables spracováva odkazy, pripojil som skript.py do hlavičky vyššie uvedeného kroku … Na skopírovanie tohto textu do vášho PI odporúčam použiť niečo ako WinSCP:

winscp.net/eng/download.php

WinSCP je populárny SFTP klient a FTP klient pre Microsoft Windows! Skopírujte súbor medzi lokálnym počítačom a vzdialenými servermi pomocou protokolov na prenos súborov FTP, FTPS, SCP, SFTP, WebDAV alebo S3.

WinSCP sa ľahko používa, jednoducho sa pripojte k svojmu PI pomocou adresy IP vášho PI a potom presuňte súbor.py na miesto, odkiaľ by ste ho chceli spustiť, je to z /home /pi.

Teraz je skript.py vo vašom PI, je čas prejsť na nastavenie vášho účtu / pripojení IFTTT

Krok 3: Nastavenie účtu/pripojenia IFTTT

Nastavenie účtu/pripojenia IFTTT
Nastavenie účtu/pripojenia IFTTT
Nastavenie účtu/pripojenia IFTTT
Nastavenie účtu/pripojenia IFTTT
Nastavenie účtu/pripojenia IFTTT
Nastavenie účtu/pripojenia IFTTT

Ďalej sa pozrieme na získanie tokenu IFTTT, ktorý sa použije pri volaní funkcie horúci / studený v skripte na pripojenie k zástrčke kasa a zapnutiu / vypnutiu ventilátora.

Vytváranie webhookov

Prejdite na https://ifttt.com/ a vytvorte si účet, ak ho ešte nemáte.

Keď ste sa prihlásili, vo vyhľadávacom paneli hľadajte: TP-link kasa

Po načítaní kliknite na služby a potom na odkaz TP-link. Potom budete musieť prepojiť svoj účet kasa s účtom IFTTT, prihlásiť sa do svojho účtu kasa prostredníctvom IFTTT a vytvoriť pripojenie.

Po prepojení účtu kliknite na položku „Moje aplety“, potom na nový aplet, potom na tlačidlo „+toto“a vyhľadajte webhooky.

Kliknite na „Prijať webovú požiadavku“v názve udalosti napíšte horúce (môže to byť čokoľvek, čo si prajete, ale musíte to aktualizovať neskôr v skripte pi-baby-coller.py, inak to nebude fungovať, použil som hot na zapnutie zapnite ventilátor a vypnite ho. Potom kliknite na tlačidlo Vytvoriť spúšť.

Ďalej musíme prepojiť váš nový spúšťač s vašim účtom Kasa, kliknite na „+to“a vyhľadajte kasa, kliknite na kasa TP-link a potom kliknite na „zapnúť“, potom vyberte zariadenie, ktoré chcete zapnúť, potom kliknite na vytvoriť akcie. Skontrolujte akciu a ak je správna, kliknite na tlačidlo Dokončiť.

**********

Nezabudnite, že ak ste vybrali iný názov udalosti ako „horúci“a „studený“, budete si ich musieť poznačiť na neskôr a aktualizovať skript! V opačnom prípade skript.py nebude fungovať

**********

Potom, čo sme vytvorili náš prvý webový háčik, zopakujte postup pre „studený“, ale tentoraz pri výbere akcie +, ktorá je +, zvolíte vypnúť a nie zapnúť.

Akonáhle budeme mať v sekcii Môj účet pre aplety dva webhooky na udalosti, kliknite na služby a vyhľadajte webhooky a potom kliknite na to. Tu uvidíte tlačidlo dokumentácie (vpravo hore), kliknite naň. Tu nájdete svoj tokenový kľúč IFTTT. zatiaľ čo tu si poznačte svoj kľúč (budete ho potrebovať neskôr), ja som ten svoj upravil na obrázku, inak by ktokoľvek mohol zapnúť alebo vypnúť moje inteligentné zásuvky.

Testovanie webhookov

Teraz sme vytvorili dva webhooky, ktoré sú prepojené s naším účtom kasa, a môžeme otestovať, či fungujú alebo nie!

V rámci svojho PI môžete zadať nasledujúce:

curl -X POST

Tam, kde je napísané „horúce“, musíte pridať názov svojej akcie, ak ste to nechali ako „horúce“, nechajte to tak. Kde sa píše /vy …, musíte to nahradiť svojim kľúčom tokenu IFTTT. Stlačte kláves Enter a potom by ste mali počuť cvaknutie relé relé inteligentných zásuviek zapnúť zásuvku. Ak ste to nepočuli, môžete si v aplikácii Kasa skontrolovať stav svojich zástrčiek.

Teraz máme nainštalované závislosti pre náš Enviro pHAT a teraz máme nastavenie IFTTT, čas na dokončenie úpravy kódu.

Krok 4: Úprava skriptu

Úprava skriptu
Úprava skriptu

Názov udalosti a IFTTT TOKENS Späť na svoje pi, stupňujte sa na miesto svojho skriptu pi-baby-cooler.py, pre mňa je to v /home /pi (môj domovský priečinok) a upravte súbor pomocou nano:

nano pi-baby-cooler.py

V rámci vyhľadávača, kde je uvedené def turn_off ()

def turn_off ():

# Nastavte si spúšťacie slovo - napr. „studený“- a token IFTTT Webhooku nižšie. TRIGGER_WORD = "studený" TOKEN = "VAŠE IFTTT TOKEN TADY VYDÁVA" "requests.post (" https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token} ".format (trigger_word = TRIGGER_WORD, token = TOKEN)) vytlačiť („Vypnúť ventilátor!“):

Táto funkcia slúži na vypnutie ventilátora. Dosiahne sa to odoslaním webhooku na IFTTT, ktorý spustí vypnutie tplink HS100. Ak ste vo svojom účte IFTTT ponechali spúšťač rovnaký ako „studený“, môžete ho nechať tak a nahradiť token, ktorý ste získali z dokumentácie webhooks skôr. Ak ste vybrali iný názov udalosti, nahraďte toto slovo tu.

Po prilepení tokenu IFTTT prejdite do ďalšej sekcie, kde je uvedené def turn_on ()

def turn_on ():# Nastavte spúšťacie slovo - napr. „hot“- a token IFTTT Webhook nižšie. TRIGGER_WORD = "horúce" TOKEN = "VAŠE IFTTT TOKEN TADY VYDÁVA" "requests.post (" https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token} ".format (trigger_word = TRIGGER_WORD, token = TOKEN)) vytlačiť („Zapnutý ventilátor!“)

Táto funkcia je naopak vypnutá, zapne inteligentnú zásuvku TP-link!

Ak ste vo svojom účte IFTTT ponechali spúšťač rovnaký ako „horúci“, môžete ho ponechať a nahradiť token, ktorý ste získali z dokumentácie webhooks skôr. Ak ste vybrali iný názov udalosti, nahraďte toto slovo tu.

Všetko ostatné je už zakódované, takže by ste nemali musieť vykonávať žiadne zmeny v kóde, napr. TRIGGER_WORD, TOKEN, a niekoľko úprav teplôt, ktoré nasledujú!

Zmena teplôt

Ďalej zistite, kde je napísaných # Miestne premenné.

skúste: # Lokálne premenné. state = 0 # Nastaví stav prepínača na nízky = 20 # Nízka hodnota pre teplotu (celcius). high = 24 # Vysoká hodnota pre teplotu (celcius). perióda = 120 # Oneskorenie medzi hovormi v sekundách.

Stavová premenná je to, ako pi vie, či je zástrčka zapnutá alebo nie, aktualizuje sa neskôr, ak sa príliš zahreje (24+*c, potom sa stav zmení neskôr na 1), tiež sa spustí webhook a zapne sa inteligentné zapojenie!

Nízka premenná je, ako chladne chcem, aby sa miestnosť vypla pred vypnutím zástrčky. Ak by ste chceli ohrievač miestnosti, jednoducho ho zmeňte na vyššiu hodnotu. Ak by ste chceli chladnejší, znížte hodnotu.

Vysoká premenná je maximálna teplota, ktorú chcem, aby miestnosť získala, než chcem, aby ventilátor naštartoval a začal miestnosť ochladzovať. Ak chcete, aby sa ventilátor spustil pred tým, jednoducho znížte hodnotu, alebo ak chcete, aby bol teplejší, potom hodnotu zvýšte.

Premenná perióda je trvanie v sekundách medzi kontrolami teploty, ak chcete, aby skript pi kontroloval menej často, potom číslo zvýšte, ak chcete skrátiť čas, číslo znížte.

Akonáhle vykonáte zmeny, uložte ich a ukončite nano

CTRL + x

Krok 5: Použitie skriptu

Použitie skriptu
Použitie skriptu

Spustenie skriptu lokálne

Tento skript môžete spustiť niekoľkými spôsobmi, môžete sa pripojiť pomocou SSH a zadať nasledujúci príkaz:

sudo python /pi-baby-cooler.py

Spustí sa skript na požiadanie. Bude to fungovať len tak dlho, kým bude aktívna relácia SSH k PI. Druhým spôsobom je použiť obrazovku, podľa mňa nie je obrazovka v predvolenom nastavení nainštalovaná, takže budete musieť použiť obrazovku sudo apt install.

Tu je skvelý návod, ako správne používať obrazovku:

Obrazovka alebo obrazovka GNU je koncový multiplexor. Inými slovami, znamená to, že môžete začať reláciu obrazovky a potom v rámci tejto relácie otvoriť ľubovoľný počet okien (virtuálnych terminálov). Procesy spustené na obrazovke budú pokračovať, aj keď ich okno nie je viditeľné, aj keď sa odpojíte.

Automatizácia na spustenie pri štarte

Druhým spôsobom je upraviť zavádzací súbor v súbore /etc/rc.local, aby ste to urobili pomocou nano.

sudo nano /etc/rc.local

Úpravou tohto súboru sa skript spustí pri štarte. to znamená, že bude vždy spustený, keď je PI zapnutý, a tiež takto spustím 90% svojich skriptov na iných PI.

Ak ste použili rc.local, môžete spustiť príkaz uvedený nižšie a skontrolovať, čo je aktuálne spustené na PI. Je to praktické pri neskoršom odstraňovaní problémov, aby ste zistili, či skript vôbec funguje alebo nie:

ps -aef | grep python

Krok 6: Hotovo

No … Ďakujem, ak ste stále tu a dosiahli ste tento bod!

Prepáčte, už je to dosť dlho, toto bol môj vôbec prvý pokyn a nebol som si celkom istý, čo napísať.

Ako som už spomenul na začiatku, tento návod má mnoho rôznych aplikácií, ktoré používajú teplo na spustenie inteligentnej zástrčky! môžete ochladiť akúkoľvek miestnosť v dome/byte/byte/garáži/kôlni. IFTTT môžete dokonca upraviť tak, aby spúšťal akékoľvek inteligentné zariadenie, ktoré je možné ovládať prostredníctvom IFTTT, nemusí to byť iba zariadenia kasa TP-link.

Rád by som počul, či ste vyskúšali tieto pokyny alebo dokonca, ak vás to zaujímalo, zanechajte mi prosím komentár nižšie!

Ak máte nejaké otázky, nechajte ich nižšie a pokúsim sa ich zodpovedať!

Súťaž senzorov
Súťaž senzorov
Súťaž senzorov
Súťaž senzorov

Druhé miesto v súťaži senzorov

Odporúča: