INHOUDSOPGAWE:

Hou u baba koel hierdie somer - beheer stomme aanhangers met slim dinge !: 6 stappe (met foto's)
Hou u baba koel hierdie somer - beheer stomme aanhangers met slim dinge !: 6 stappe (met foto's)

Video: Hou u baba koel hierdie somer - beheer stomme aanhangers met slim dinge !: 6 stappe (met foto's)

Video: Hou u baba koel hierdie somer - beheer stomme aanhangers met slim dinge !: 6 stappe (met foto's)
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, November
Anonim
Hou u baba hierdie somer koel - beheer stomme aanhangers met slim dinge!
Hou u baba hierdie somer koel - beheer stomme aanhangers met slim dinge!
Hou u baba hierdie somer koel - beheer stomme aanhangers met slim dinge!
Hou u baba hierdie somer koel - beheer stomme aanhangers met slim dinge!

Teen die tyd dat ek dit geskryf het, het ek twee weke gelede pa geword vir 'n ongelooflike seuntjie!

Terwyl die seisoene verander, die dae langer word en die temperature warmer word, het ek gedink dit sal goed wees om 'n monitor in die kwekery te hê om te kyk hoe warm dit daar is!

Ek het deur die jare nog nie veel luislang bedink nie, maar wou sedert my eerste jaar op universiteit nou amper 5 jaar gelede weer daaraan terugkeer! As gevolg hiervan het ek gedink dat dit beter sou wees om te dokumenteer wat ek gedoen het, om my later te help, en ook om almal te help wat dieselfde wil doen!

Met behulp van 'n Framboos-pi, Enviro pHAT en 'n slim TP-link kasa-prop, kan u die proppe beheer met behulp van die IFTTT-raamwerk! dit is regtig eenvoudig om te doen, en u kan selfs hierdie deurloop verander om alles deur verskillende sensors en verskillende toestelle te beheer! Hoop u vind dit nuttig. As u van hierdie instruksies hou, moet u nie vergeet om te stem vir my voorlegging in die sensorswedstryd nie!: D (jammer dat ek gevra het), dit is die eerste keer dat ek dit doen en ek wil die kans hê om iets te wen vir die hele tyd

** EDIT ** In die komende dae gaan ek daarna kyk om hierdie data na 'n Grafana -bord te stuur, as u dink dit sal goed wees, laat weet dit dan!: D

Kom ons gaan dadelik daarin …

Voorrade

  1. Enige framboos -pi sal dit doen, maar ek het die Zero W gekies, want ek moes dit in my trekking inhandig; dit het ook die kleinste vormfaktor, en WiFi is standaard ingeskakel! - Framboos PI Zero w
  2. SD -kaart, almal het verskillende voorkeure hieroor, maar ek het een hiervan gebruik! - Mikro-SD kaart
  3. As u vas is, is dit die amptelike ondersteunde dokumentasie vir SD -kaarte -amptelike ondersteunde SD -kaarte
  4. Jumper drade (sal later verduidelik) - Jumper drade
  5. Enviro pHAT vir al die glorieryke sensors! - Envrio-pHAT
  6. Ek is 'n slim prop, maar ek het TP-Link gebruik, aangesien u nie 'n uitstekende hub nodig het om dit uit die boks te laat werk nie! - Slim prop!
  7. 'N Stomme waaier om te beheer, jy kan enige waaier gebruik; ek het pas 'n waaier op Amazon gevind, maar enige waaier sal goed werk - 'n Stomme waaier
  8. 'N Soldeerbout, maar as u nie 'n soldeerbout wil gebruik nie, kan u opskriftekste kry vir u PI en pHAT-GPIO-hammer-kop

Om 'n verbinding tussen TP-links kasa en IFTTT te laat werk, moet u 'n TP-link kasa en IFTTT-rekening opstel voordat u hierdie instruksies begin. As u u TP-link-slimprop ontvang, sal die instruksies wat by die slimprop voorsien word, u lei deur die opstelproses, insluitend die benaming van u prop en die basiese funksies daarvan

Sodra u al u inkopielys het, is dit tyd om dit alles saam te stel!

Stap 1: Stel u Framboos Pi op

Beeld van u mikro-SD-kaart Kry die nuutste en beste Raspbian-beeld, die lite-weergawe sal goed doen, indien nie beter vir die nul w! -

Skryf hierdie prentjie op die SD -kaart, hiervoor benodig u 'n leser en 'n beeldmateriaal; ek gebruik etser -

Stel Wifi op (opsioneel) As u PI 'n ingeboude WIFI het, waarom moet u dit dan nou instel om later baie rommel met konsoles te bespaar!

Sodra u pi afgebeeld is, is die skyf uitgewerp. Ontkoppel en koppel die SD -kaart sodat dit weer deur u masjien opgespoor kan word. 'N Bootpartisie moet verskyn.

Skep 'n leë lêer genaamd wpa_supplicant.conf binne die opstartpartisie van u pi, plaas hier die onderstaande in hierdie nuwe lêer:

netwerk = {

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

Aktiveer SSH op u PI van keuse (opsioneel)

Standaard is 'n skoon Raspbian -beeld ssh uitgeskakel. U moet die stelsel oplaai, 'n sleutelbord en skerm aan die Pi koppel en dan ssh aktiveer. Hierdie stap sal ssh by die eerste opstart moontlik maak. In die opstartpartisie, skep 'n nuwe lêer genaamd ssh. 'N Leë lêer met presies die naam.

Nadat hulle twee opsionele stappe voltooi het, maak u PI outomaties verbinding met u WIFI en word SSH standaard geaktiveer.

Nadat u die mikro-SD-kaart afgebeeld en gekonfigureer het, kan u dit by u PI of keuse plaas en dit aanskakel!

As u u PIO opdateer Nadat u u PI opgestart het, kan u u IP -adres van u PI vind in die instellings van u draadlose routers. Die meeste routers is anders, so dit sal moeilik wees om 'n gids hiervoor te skryf!

Sodra u u IP van u PI het, kan u via SSH aanmeld en met die volgende aanmeld:

Gebruikersnaam: pi

Wagwoord: framboos

Sodra u 'n aktiewe SSH -sessie met u PI gehad het, wil u dit opdateer; voer eenvoudig die onderstaande met die ooreenstemmende Y of N deur die hele opdatering:

sudo apt-get update

sudo apt-get upgrade

Dit is altyd goed om 'n PI te herlaai nadat nuwe opdaterings geïnstalleer is om seker te maak dat dit nuut is met die nuutste opdaterings.

sudo herlaai -n

Dit is nou die PI gereed, tyd om verder te gaan na die volgende stap!

Stap 2: Stel u Enviro PHAT op

Stel u Enviro PHAT op
Stel u Enviro PHAT op
Stel u Enviro PHAT op
Stel u Enviro PHAT op

Skakel u Enviro pHAT in

Sodra u pi op datum is, kan u u Enviro pHAT koppel aan die PI van u keuse!

*** Om seker te maak dat u nie u PI of pHAT beskadig nie, moet u dit eers uitskakel ***

Hier het ek die jumper leads gebruik, want u kan 'n termiese uitwas kry as die CPU onder die Enviro pHAT warm word. Hierdie ekstra hitte kan die temperatuurmetings wat u later kry, verander. As gevolg hiervan het ek 5 springkabels op die onderstaande penne gebruik:

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

Gaan die bedradingsdiagram bo -aan hierdie stap na vir visuele verwysing of die onderstaande skakel:

pinout.xyz/pinout/enviro_phat

(jammer oor die skelm verfwerk)

As u u pHAT aansluit, moet u seker maak dat dit reg is, anders kan u dit beskadig !!! Om dit te doen, het ek myne opgestel sodat die ANALOG IN -opskrifte in die rigting van die SD -kaartgleuf is; dit is later in my foto's omgedraai sodat dit in my "draer" pas.

Die afhanklikheid installeer

Skakel u PI terug en SSH weer in

Sodra u in u PI terug is, voer die volgende uit om die vereiste pakkette en sagteware vir u Enviro pHAT te installeer:

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

Maak seker dat u Y of N druk wanneer dit nodig is.

Nadat die installasie voltooi is, moet u u PI herlaai …

sudo herlaai -n

Toets die pHAT

Om seker te maak dat u pHAT reg is, kan u in 'n luislangmodule val en 'n paar opdragte uitvoer deur terug te sit op u PI en tik luislang, tik een van die volgende in 'n luislangmodule:

van omgewingsinvoerweer

druk (weather.temerpature ())

Dit moet u 'n uitlees soos hieronder wys:

>> van omgevingsinvoerweer

>> druk (weer.temperatuur ()) 24.0806166987

Probleemoplossing

As u iets onder die lyne van 'n fout hieronder kry:

Traceback (mees onlangse oproep laaste): File "", reël 1, in File "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", reël 134, in temperatuur self.update () File " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", reël 169, in opdatering as self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py ", reël 116, in _read_byte return self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Remote I/O error

U kan dan hardloop:

sudo i2cdetect -y 1

Dit sal 'n diagnostiese ondersoek van u verbindings/bedrading uitvoer, en u sou op soek wees na iets soos hieronder:

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

As dit nie die geval is nie, moet u teruggaan en u bedrading weer nagaan; kyk na die bedradingsdiagram en probeer weer!

Die installering van die pi-baby-cooler.py-script

As alles goed is en u suksesvol was om 'n temperatuuraflezing te kry, kan ons die pakket baby-cooler.py installeer!

Vanweë die manier waarop instruksies skakels hanteer, het ek die.py -skrip aangeheg in die boonste stapopskrif … Om dit na u PI te kopieer, beveel ek aan om iets soos WinSCP te gebruik:

winscp.net/eng/download.php

WinSCP is 'n gewilde SFTP -kliënt en FTP -kliënt vir Microsoft Windows! Kopieer lêer tussen 'n plaaslike rekenaar en afgeleë bedieners met behulp van FTP-, FTPS-, SCP-, SFTP-, WebDAV- of S3 -lêeroordragprotokolle.

WinSCP is eenvoudig om te gebruik. Koppel eenvoudig aan u PI deur die IP -adres van u PI te sleep, en sleep dan die.py -lêer na waar u dit vir my wil hardloop, dit is van /home /pi.

As die.py -script op u PI is, is dit tyd om verder te gaan met die opstel van u IFTTT -rekening / verbindings

Stap 3: Stel u IFTTT -rekening/verbinding in

Stel u IFTTT -rekening/verbinding in
Stel u IFTTT -rekening/verbinding in
Stel u IFTTT -rekening/verbinding in
Stel u IFTTT -rekening/verbinding in
Stel u IFTTT -rekening/verbinding in
Stel u IFTTT -rekening/verbinding in

Vervolgens kyk ons na die verkryging van 'n IFTTT -teken, dit sal gebruik word om die warm / koue funksie in die script te skakel om aan te sluit op die kasa -prop en die waaier aan / uit te skakel.

Die skep van die Webhooks

Gaan na https://ifttt.com/ en skep 'n rekening as u nog nie een het nie.

Sodra u aangemeld het, in die soekbalk, soek: TP-link kasa

Sodra dit gelaai is, klik op dienste en dan op TP-link. U sal dan u kasa -rekening aan u IFTTT -rekening moet koppel, aanmeld by u kasa -rekening via IFTTT om 'n verbinding te maak.

Nadat u u rekening gekoppel het, klik op "My applets" en dan op die nuwe applet, klik dan op die "+dit" en soek webhooks.

Klik op "Ontvang 'n webversoek" binne die gebeurtenisnaam hot (dit kan alles wees wat u wil, maar u moet dit later in die pi-baby-coller.py-script opdateer, anders werk dit nie; ek het hot gebruik om te draai die waaier aan en koud om die waaier uit te skakel. Klik dan op die skep sneller.

Vervolgens moet ons u nuwe sneller aan u Kasa-rekening koppel, klik "+that" en soek kasa, klik op die TP-link kasa en klik dan op "turn on", kies daarna die toestel wat u wil aanskakel en klik dan op create aksie. Hersien die aksie en klik voltooi as dit korrek is.

**********

Onthou, as u 'n ander geleentheidsnaam as "warm" en "koud" gekies het, moet u dit later aanteken en die script opdateer! Anders werk die.py -skrip nie

**********

Nadat ons ons eerste webhaak geskep het, herhaal die proses vir "koue", maar hierdie keer kies u uitskakel in plaas van aan wanneer u die +daardie aksie kies.

Sodra ons twee gebeurtenis -webhooks in u afdeling vir my applets -rekening het, klik dan op dienste en soek na webhooks, en klik daarop. Hier sien u 'n dokumentasie -knoppie (regs bo), klik daarop. Hier vind u u IFTTT -token -sleutel. Terwyl ek hier u sleutel aanteken (u benodig dit later), het ek myne binne die prentjie gewysig, anders sou iemand my slimproppe kon aan- of uitskakel.

Toets die webhooks

Nou het ons twee webhooks gemaak wat aan ons kasa -rekening gekoppel is; ons kan toets of dit werk of nie!

Binne u PI kan u die volgende invoer:

krul -X POST

Waar daar "warm" staan, moet u die geleentheidsnaam byvoeg, as u dit as "warm" laat staan, laat dit dan met rus. Waar dit /u sê … moet u dit vervang met u IFTTT -token -sleutel. Tik op enter, en dan moet u die klik van u relais van die slimproppe hoor om die prop aan te skakel. As u dit nie kon hoor nie, kan u die Kasa -app nagaan om die status van u proppe na te gaan.

Nou het ons die afhanklikhede van ons Enviro pHAT geïnstalleer en het ons nou IFTTT -opstelling, dit is tyd om die kode te verander.

Stap 4: Bewerk die script

Redigering van die draaiboek
Redigering van die draaiboek

Gebeurtenisnaam en IFTTT TOKENS Terug op jou pi, eskaleer na die plek van jou pi-baby-cooler.py-script, vir my is dit in /home /pi (my tuisgids) en wysig die lêer met behulp van nano:

nano pi-baby-cooler.py

Binne finder waar daar def turn_off () staan

def turn_off ():

# Stel u snellerwoord in - bv. "koud" - en die IFTTT Webhook -teken hieronder. TRIGGER_WORD = "cold" TOKEN = "U IFTTT TOKEN GAAN HIER" versoeke.pos ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Waaier af!"):

Dit is die funksie om die waaier uit te skakel. Dit word gedoen deur 'n webhook na IFTTT te stuur wat die tplink HS100 laat uitskakel. As u die sneller in u IFTTT -rekening dieselfde as "koud" gehou het, kan u dit inlaat en die teken wat u vroeër uit die webhooks -dokumentasie gekry het, vervang. As u 'n ander gebeurtenisnaam gekies het, vervang dan hierdie woord hier.

Nadat u u IFTTT -token geplak het, gaan u na die volgende afdeling waar dit def turn_on () sê

def turn_on ():# Stel u snellerwoord in - bv. "warm" - en die IFTTT Webhook -token hieronder. TRIGGER_WORD = "hot" TOKEN = "U IFTTT TOKEN GAAN HIER" versoeke.pos ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Waaier aan!")

Hierdie funksie is die omgekeerde van die af, dit skakel die TP-link smart plug aan!

As u die sneller in u IFTTT -rekening dieselfde as 'warm' gehou het, kan u dit inlaat en die teken wat u vroeër uit die webhooks -dokumentasie gekry het, vervang. As u 'n ander gebeurtenisnaam gekies het, vervang dan hierdie woord hier.

Al die ander is reeds ingeskryf, dus u hoef nie die kode anders as die TRIGGER_WORD, TOKEN en 'n paar temperatuuraanpassings aan te pas nie!

Verandering van die temperatuur

Soek dan die plek waar dit staan # Local variables.

probeer: # Plaaslike veranderlikes. toestand = 0 # Stel die toestand vir die skakelaar laag in = 20 # Lae waarde vir temperatuurvlak (celcius). hoog = 24 # Hoë waarde vir temperatuurvlak (celcius). periode = 120 # Vertraging, in sekondes, tussen oproepe.

Die toestand veranderlike is hoe die pi weet of die prop aan is of nie; dit word later opgedateer as dit te warm word (24+*c dan word die toestand later na 1 verander), dit sal ook na die webhook afskakel en draai die slim prop!

Die lae veranderlike is hoe koel ek wil hê dat die kamer moet kry voordat die prop afgeskakel word. As u die kamer warmer wil hê, verander dit eenvoudig na 'n hoër waarde. Verlaag die waarde as u dit koeler wil hê.

Die hoë veranderlike is die maksimum temperatuur wat ek wil hê dat die kamer moet kry voordat ek wil hê dat die waaier moet inskop en die kamer begin afkoel. As u wil hê dat die waaier voor dit moet aanskakel, verlaag dan eenvoudig die waarde, of as u wil hê dat dit warmer moet wees, dan die waarde hoër.

Die periodeveranderlike is die tydsduur tussen sekondes tussen die temperatuurkontroles, as u wil hê dat die pi -skrip minder gereeld moet kontroleer, dan die getal hoër as u die tyd wil verkort.

Sodra u u veranderinge aangebring het, stoor en verlaat nano

CTRL + x

Stap 5: Gebruik die script

Die gebruik van die Script
Die gebruik van die Script

Die script word plaaslik uitgevoer

Daar is 'n paar maniere waarop u hierdie script kan uitvoer, u kan via SSH koppel en die volgende tik:

sudo python /pi-baby-cooler.py

Dit sal die script op aanvraag uitvoer, dit sal slegs werk solank daar 'n aktiewe SSH -sessie vir die PI is. Die ander manier is om die skerm te gebruik; die skerm is nie standaard geïnstalleer nie, ek dink nie, dus moet 'n sudo apt -installeringsskerm gebruik word.

Hier is 'n wonderlike handleiding oor hoe u die skerm korrek kan gebruik:

Screen of GNU Screen is 'n terminale multiplexer. Met ander woorde, dit beteken dat u 'n skermsessie kan begin en dan 'n aantal vensters (virtuele terminale) binne die sessie kan oopmaak. Prosesse wat in die skerm uitgevoer word, sal voortgaan om te werk as hul venster nie sigbaar is nie, selfs al word u ontkoppel.

Outomatiseer om tydens opstart te werk

Die ander manier is om die opstartlêer in /etc/rc.local te wysig om hierdie gebruik nano te doen.

sudo nano /etc/rc.local

As u hierdie lêer redigeer, word die script tydens opstart uitgevoer. Dit beteken dat dit altyd sal werk wanneer die PI aan is, en dit is ook hoe ek 90% van my skrifte op ander PI's uitvoer.

As u die rc.local gebruik het, kan u die onderstaande opdrag uitvoer om te kyk wat tans op die PI werk. Dit is handig om later probleme op te los om te sien of die script glad nie werk nie:

ps -aef | grep luislang

Stap 6: klaar

Wel … Dankie as u nog hier is en hierdie punt bereik het!

Jammer, dit was redelik lank, dit was die eerste keer wat ek kon leer en ek was nie seker wat ek moes neerskryf nie.

Soos ek aan die begin genoem het, bevat hierdie instruksies baie verskillende toepassings, wat hitte gebruik om 'n slimprop te aktiveer! jy kan enige kamer in die huis/woonstel/woonstel/motorhuis/afdak afkoel. U kan selfs die IFTTT verander om enige slim toestel wat deur IFTTT beheer kan word, te aktiveer; dit hoef nie net TP-link kasa-toestelle te wees nie.

Ek sal graag wil hoor of u hierdie instruksies probeer het, of selfs as u dit interessant gevind het, laat my 'n opmerking hieronder!

As u enige vrae het, laat dit dan hieronder, en ek sal my bes probeer om dit te beantwoord!

Sensors -kompetisie
Sensors -kompetisie
Sensors -kompetisie
Sensors -kompetisie

Naaswenner in die Sensors -kompetisie

Aanbeveel: