Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Asenna Raspberry Pi
- Vaihe 2: Asenna Enviro PHAT
- Vaihe 3: IFTTT -tilin/yhteyden määrittäminen
- Vaihe 4: Käsikirjoituksen muokkaaminen
- Vaihe 5: Skriptin käyttäminen
- Vaihe 6: Valmis
Video: Pidä vauva viileänä tänä kesänä - hallitse tyhmiä faneja älykkäillä asioilla!: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Kaksi viikkoa sitten tämän kirjoituksen aikana minusta tuli uskomattoman poikavauvan isä!
Vuodenaikojen vaihtuessa, päivien pitenemisen ja lämpenemisen myötä ajattelin, että olisi hyvä, jos lastentarhassa olisi jonkinlainen näyttö, joka tarkistaisi, kuinka kuuma siellä oli!
En ole harrastanut paljon pythonia vuosien varrella, mutta halusin palata siihen ensimmäisen yliopistovuoteni jälkeen lähes 5 vuotta sitten! Tämän vuoksi ajattelin, että olisi parempi dokumentoida tekemäni, auttaa minua myöhemmin ja auttaa myös muita, jotka haluavat tehdä saman!
Raspberry pi: n, Enviro pHAT: n ja älykkään TP-link-kasa-pistokkeen avulla voit ohjata tulppia IFTTT-kehyksen avulla! se on todella helppo tehdä ja voit jopa muokata tätä läpikäyntiä hallitaksesi mitä tahansa eri antureiden ja eri laitteiden kautta! Toivottavasti pidät tätä hyödyllisenä.: D (anteeksi kysymyksestä), tämä on ensimmäinen kerta, kun teen tämän ja haluaisin saada mahdollisuuden voittaa jotain koko ajan, kun panostan tähän
** MUOKKAA ** Seuraavien päivien aikana aion tarkastella näiden tietojen siirtämistä Grafana -taululle, jos tämä on mielestäsi hyvä, kerro siitä!: D
Mennään suoraan asiaan…
Tarvikkeet
- Mikä tahansa Raspberry pi tekee, mutta valitsin Zero W: n, koska minun piti luovuttaa arpajaiset, sillä on myös pienin muoto, kun WiFi on oletusarvoisesti käytössä! - Vadelma PI Zero w
- SD -kortti, kaikilla on erilaiset mieltymykset näistä, mutta käytin yhtä näistä! - Micro-SD-kortti
- Jos olet jumissa, tässä on virallinen tuettu dokumentaatio SD -korteille -virallisesti tuetuille SD -korteille
- Hyppyjohdot (selitetään myöhemmin) - Hyppyjohdot
- Enviro pHAT kaikille upeille antureille! - Envrio-pHAT
- Älykäs pistoke, olen käyttänyt TP-Linkiä, koska et tarvitse mitään hienoja keskittimiä saadaksesi sen toimimaan laatikossa! - Älykäs pistoke!
- Tyhmä tuuletin ohjaamaan, voit käyttää mitä tahansa tuuletinta, löysin juuri tuulettimen Amazonista, mutta mikä tahansa pistorasiatuuletin toimii hyvin - Tyhmä tuuletin
- Juotosrauta, mutta jos et halua käyttää juotosrautaa, voit napsauttaa PI- ja pHAT-otsikoita-GPIO-vasara-otsikko
Jotta yhteys TP-links kasan ja IFTTT: n välillä toimisi, sinulla on oltava TP-link kasa- ja IFTTT-tili ennen tämän ohjeen aloittamista. Kun vastaanotat TP-link-älypistokkeen, älypistokkeen mukana toimitetut ohjeet opastavat asennusprosessissa, mukaan lukien pistokkeen nimeäminen ja sen perustoiminnot
Kun sinulla on kaikki ostoslistat, on aika koota kaikki!
Vaihe 1: Asenna Raspberry Pi
Hanki uusin ja paras Raspbian-kuva, Lite-versio toimii hyvin, ellei parempi nolla w: llä! -
Kirjoita tämä kuva SD -kortille, tarvitset tähän lukijan ja kuvantimen, käytän etsuria -
Asenna Wifi (valinnainen) Jos PI -laitteessasi on sisäänrakennettu WIFI, miksi et määritä sitä nyt säästääksesi paljon häiriöitä konsolien kanssa myöhemmin!
Kun pi on kuvattu, asema on poistettu. Irrota ja liitä SD -kortti, jotta laitteesi havaitsee sen uudelleen. Käynnistysosion pitäisi näkyä.
Luo tyhjä tiedosto nimeltä wpa_supplicant.conf pi: n käynnistysosioon, aseta tähän alla oleva uusi tiedosto:
verkko = {
ssid = "YOUR_SSID" psk = "YOUR_WIFI_PASSWORD" key_mgmt = WPA-PSK}
SSH: n ottaminen käyttöön valitsemallasi PI: llä (valinnainen)
Oletuksena puhtaan Raspbian -kuvan ssh ei ole käytössä. Sinun on käynnistettävä järjestelmä, liitettävä näppäimistö ja näyttö Pi: hen ja otettava sitten ssh käyttöön. Tämä vaihe ottaa ssh: n käyttöön ensimmäisen käynnistyksen yhteydessä. Luo käynnistysosiossa uusi tiedosto nimeltä ssh. Tyhjä tiedosto juuri tällä nimellä.
Kun olet suorittanut ne kaksi valinnaista vaihetta, PI muodostaa automaattisesti yhteyden WIFI -verkkoon ja SSH on oletusarvoisesti käytössä.
Kun olet kuvannut ja määrittänyt micro-SD-kortin, voit asettaa sen PI-laitteeseesi tai valintasi ja käynnistää sen!
Kun päivität PIO -laitteesi, kun olet käynnistänyt PI: si, löydät IP -osoitteesi PI: ltä langattomien reitittimien asetuksista. Useimmat reitittimet ovat erilaisia, joten tätä opasta olisi vaikea kirjoittaa valitettavasti!
Kun sinulla on PI: si IP -osoite, muodosta yhteys SSH: n kautta ja kirjaudu sisään seuraavasti:
Käyttäjätunnus: pi
Salasana: vadelma
Kun sinulla on aktiivinen SSH -istunto PI: n kanssa, haluat päivittää sen, suorita alla oleva vastaava Y tai N koko päivityksen ajan:
sudo apt-get päivitys
sudo apt-get päivitys
on aina hyvä käynnistää PI uudelleen, kun uudet päivitykset on asennettu, jotta varmistetaan, että se on käynnistynyt uusimpien päivitysten kanssa, tämä voidaan saavuttaa
sudo uudelleenkäynnistys -n
Nyt PI on valmis, on aika siirtyä seuraavaan vaiheeseen!
Vaihe 2: Asenna Enviro PHAT
Enviro pHAT -laitteen kytkentä
Kun pi on kaikki ajan tasalla, voit liittää Enviro pHAT -laitteen valitsemaasi PI: hen!
*** Varmista, ettet vahingoita PI: täsi tai pHATiasi, sammuta se ensin ***
Tässä käytin hyppyjohtoja, koska saat lämpöpuhdistuksen CPU: sta, joka kuumenee Enviro pHAT: n alla. Tämä ylimääräinen lämpö voi muuttaa myöhemmin saamiasi lämpötilalukemia. Tämän vuoksi olen käyttänyt 5 hyppyjohtoa alla olevissa nastoissa:
- Nasta 3 - GPIO2 (SDA I2C)
- Nasta 5 - GPIO3 (SCL I2C)
- Nasta 7 - GPIO4
- Nasta 6 - Maa
- Nasta 4 - 5V
Tarkista tämän vaiheen yläosassa olevasta kytkentäkaaviosta visuaalinen viite tai alla oleva linkki:
pinout.xyz/pinout/enviro_phat
(anteeksi huono maali)
Kun kytket pHAT -laitteesi, varmista, että se on asetettu oikein päin, muuten voit vahingoittaa sitä !!! Tätä varten minulla oli minun asetukset, joten ANALOG IN -otsikot ovat kohti SD -korttipaikkaa, tämä on myöhemmin käännetty kuvissani, jotta se sopisi tiukasti "kantolaitteeseeni".
Riippuvuuksien asentaminen
Käynnistä PI varmuuskopio ja SSH takaisin
Kun olet palannut PI -laitteeseesi, asenna tarvittavat paketit ja ohjelmistot Enviro pHAT -laitteellesi:
curl https://get.pimoroni.com/envirophat | lyödä
Muista painaa Y tai N tarvittaessa.
Kun asennus on valmis, muista käynnistää PI uudelleen …
sudo uudelleenkäynnistys -n
PHAT: n testaaminen
Varmistaaksesi, että pHAT on kytketty oikein, voit pudota python -moduuliin ja suorittaa muutamia komentoja laittamalla takaisin PI: hen ja kirjoittamalla python, kirjoittamalla python -moduuliin kerran alla:
ympäristön tuontisäästä
tulosta (weather.temetpature ())
Tämän pitäisi näyttää alla oleva lukema:
>> ympäristön tuontisäästä
>> tulosta (sää. lämpötila ()) 24.0806166987
Ongelmien karttoittaminen
Jos saat jotain seuraavan virheen tapaan:
Jäljitys (viimeisin puhelu viimeksi): Tiedosto "", rivi 1, tiedostossa "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", rivi 134, lämpötilan self.update () tiedosto " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", rivi 169, päivitetty, jos self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-package/envirophat/bmp280.py ", rivi 116, _read_byte palauttaa self.i2c_bus.read_byte_data (self.addr, register) IOVirhe: [Errno 121] Etä-I/O-virhe
Voit sitten ajaa:
sudo i2cdetect -y 1
Tämä suorittaa diagnostiikkatarkastuksen yhteyksillesi/johdotuksillesi ja etsit jotain alla olevaa:
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
Jos ei, sinun on palattava ja tarkistettava johdotus uudelleen, tarkista kytkentäkaavio ja yritä uudelleen!
Komentosarjan pi-baby-cooler.py asentaminen
Jos kaikki on hyvin ja lämpötilan lukeminen onnistui, voimme jatkaa ja asentaa baby-cooler.py-paketin!
Koska instructables käsittelee linkkejä, olen liittänyt.py -komentosarjan yllä olevaan vaiheen otsikkoon… Jos haluat kopioida tämän PI: hen, suosittelen käyttämään jotain WinSCP: tä:
winscp.net/eng/download.php
WinSCP on suosittu SFTP -asiakas ja FTP -asiakas Microsoft Windowsille! Kopioi tiedosto paikallisen tietokoneen ja etäpalvelimien välillä käyttämällä FTP-, FTPS-, SCP-, SFTP-, WebDAV- tai S3 -tiedostonsiirtoprotokollia.
WinSCP on helppokäyttöinen, muodosta yhteys PI -laitteeseesi käyttämällä PI: n IP -osoitetta ja vedä ja pudota.py -tiedosto sinne, minne haluat käyttää sitä, tämä on /home /pi.
Nyt.py -komentosarja on PI: ssäsi, on aika siirtyä IFTTT -tilin / yhteyksien määrittämiseen
Vaihe 3: IFTTT -tilin/yhteyden määrittäminen
Seuraavaksi tarkastelemme IFTTT -tunnuksen hankkimista, jota käytetään kutsuttaessa komentosarjan kuumaa / kylmää toimintoa muodostaaksesi yhteyden kasa -pistokkeeseen ja kytkeäksesi tuulettimen päälle / pois.
Webhookien luominen
Siirry osoitteeseen https://ifttt.com/ ja luo tili, jos sinulla ei vielä ole sitä.
Kun olet kirjautunut sisään, etsi hakupalkista: TP-link kasa
Kun se on ladattu, valitse palvelut ja sitten TP-link kasa. Sinun on sitten yhdistettävä kasa -tilisi IFTTT -tiliisi, kirjauduttava kasa -tiliisi IFTTT: n kautta yhteyden muodostamiseksi.
Kun olet linkittänyt tilisi, napsauta "Omat appletit" ja sitten uusi sovelma, napsauta sitten "+tämä" ja etsi verkkohakuja.
Napsauta "Vastaanota verkkopyyntö" tapahtuman nimen tyypissä hot (tämä voi olla mitä haluat, mutta sinun on päivitettävä tämä myöhemmin pi-baby-coller.py-komentosarjassa, tai tämä ei toimi, olen käyttänyt hotia kääntääksesi sammuta tuuletin ja käynnistä se kylmänä. Napsauta sitten Luo liipaisin.
Seuraavaksi meidän on linkitettävä uusi laukaisimesi Kasa-tiliisi, napsautettava "+että" ja haettava kasa, napsautettava TP-link kasa ja sitten "päälle", tämän jälkeen valitse laite, jonka haluat kytkeä päälle, ja napsauta sitten luo toiminta. Tarkista toiminto ja napsauta lopeta, jos se on oikein.
**********
Muista, jos olet valinnut jonkin muun tapahtuman nimen kuin "kuuma" ja "kylmä", sinun on tehtävä nämä muistiin myöhemmin ja päivitettävä komentosarja! Muuten.py -komentosarja ei toimi
**********
Kun olemme luoneet ensimmäisen verkkokoukun, toista prosessi "kylmälle", mutta tällä kertaa valitset sammuta sen sijaan, että otat käyttöön, kun valitset +-toiminnon.
Kun meillä on kaksi tapahtuman webhookea applet -tilisi osiossa, napsauta Palvelut ja hae webhookeja ja napsauta sitten sitä. Täällä näet dokumentaatiopainikkeen (oikeassa yläkulmassa), napsauta sitä. Täältä löydät IFTTT -tunnuksesi. kirjoittaessasi muistiin avaimesi (tarvitset sitä myöhemmin), olen muokannut omiani kuvan sisällä, muuten kuka tahansa voisi kytkeä älypistokkeeni päälle tai pois päältä.
Webhookkien testaaminen
Nyt olemme luoneet kaksi webhookea, jotka on yhdistetty kasa -tiliimme, voimme testata, toimivatko ne vai eivät!
PI: si sisällä voit syöttää seuraavat tiedot:
curl -X POST
Jos sanotaan "kuuma", sinun on lisättävä tapahtuman nimi, jos jätit sen "kuumaksi", jätä tämä rauhaan. Missä sanotaan /sinä… sinun täytyy korvata tämä IFTTT -tunnuksella. Paina enter ja sinun pitäisi sitten kuulla älykkään pistokkeen releen napsautus kytkemällä pistoke päälle. Jos et kuullut sitä, voit tarkistaa pistokkeiden tilan Kasa -sovelluksesta.
Nyt meillä on asennettu Enviro pHAT: n riippuvuudet ja nyt IFTTT -asetukset, aika lopettaa koodin muokkaaminen.
Vaihe 4: Käsikirjoituksen muokkaaminen
Tapahtuman nimi ja IFTTT TOKENSPaina pi-tiedostoasi, siirry pi-baby-cooler.py-skriptisi sijaintiin, minulle se in /home /pi (kotikansio) ja muokkaa tiedostoa nano-ohjelmalla:
nano pi-baby-cooler.py
Finderissa, jossa lukee def turn_off ()
def turn_off ():
# Aseta laukaisusana - esim. "kylmä" - ja alla oleva IFTTT Webhook -merkki. TRIGGER_WORD = "cold" TOKEN = "IFTTT TOKEN GOES HERE" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan off!"):
Tämä toiminto kytkee tuulettimen pois päältä. Se tekee tämän lähettämällä webhookin IFTTT: lle, joka laukaisee tplink HS100: n sammumaan. Jos olet pitänyt laukaisutyön IFTTT -tilissäsi samana kuin "kylmä", voit jättää sen ja korvata vain webhooks -dokumentaatiosta aiemmin saamasi tunnuksen. Jos valitsit toisen tapahtuman nimen, korvaa tämä sana täällä.
Kun olet liittänyt IFTTT -tunnuksesi, siirry seuraavaan osioon, jossa lukee def turn_on ()
def turn_on ():# Aseta laukaisusana - esim. "hot" - ja alla oleva IFTTT Webhook -merkki. TRIGGER_WORD = "hot" TOKEN = "IFTTT TOKEN GOES HERE" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan on!")
Tämä toiminto on käänteinen pois päältä, se kytkee päälle TP-link-älypistokkeen!
Jos olet pitänyt laukaisutyön IFTTT -tilissäsi samana kuin "kuuma", voit jättää sen ja korvata vain webhooks -dokumentaatiosta aiemmin saamasi tunnuksen. Jos valitsit toisen tapahtuman nimen, korvaa tämä sana täällä.
Kaikki muu on jo koodattu, joten sinun ei tarvitse tehdä mitään muutoksia koodiin, muuhun kuin TRIGGER_WORD, TOKEN ja muutamiin seuraaviin lämpötiloihin!
Lämpötilojen muuttaminen
Etsi seuraavaksi kohdasta # Paikalliset muuttujat.
kokeile: # Paikalliset muuttujat. tila = 0 # Asettaa kytkimen tilan matalaksi = 20 # Matala lämpötila (celsius). korkea = 24 # Korkea lämpötila (celsius). period = 120 # Viive sekunneissa puheluiden välillä.
Tilamuuttuja on se, miten pi tietää, onko pistoke päällä vai ei, tämä päivitetään myöhemmin, jos se kuumenee liikaa (24+*c, sitten tila muutetaan myöhemmin 1: ksi), tämä syttyy myös webhookiin ja kääntyy älypistoke päällä!
Alhainen muuttuja on kuinka viileä haluan huoneen saavan ennen kuin pistoke sammutetaan. Jos haluat huoneenlämmittimen, muuta se vain korkeammaksi arvoksi. Jos haluat sen viileämmäksi, alenna arvoa.
Korkea muuttuja on huoneen maksimilämpötila, ennen kuin haluan tuulettimen käynnistyvän ja aloittavan huoneen jäähdyttämisen. Jos haluat tuulettimen käynnistyvän ennen tätä, alenna arvoa tai jos haluat sen olevan lämpimämpää, nosta arvoa.
Jaksomuuttuja on lämpötilatarkastusten välinen kesto sekunneissa. Jos haluat pi -komentosarjan tarkistavan harvemmin ja sitten korkeamman luvun, jos haluat lyhentää aikaa, pienennä lukua.
Kun olet tehnyt muutokset, tallenna ja poistu nanosta
CTRL + x
Vaihe 5: Skriptin käyttäminen
Käynnistetään komentosarja paikallisesti
Voit suorittaa tämän komentosarjan muutamalla tavalla, voit muodostaa yhteyden SSH: n kautta ja kirjoittaa seuraavan:
sudo python /pi-baby-cooler.py
Tämä suorittaa komentosarjan pyynnöstä, tämä toimii vain niin kauan kuin PI: llä on aktiivinen SSH -istunto. Toinen tapa on käyttää näyttöä, näyttöä ei ole oletusarvoisesti asennettu, en usko, joten sudo apt -asennusnäyttö on käytettävä.
Tässä on hyvä opetusnäytön oikea käyttö:
Näyttö tai GNU -näyttö on päätelaitteen multiplekseri. Toisin sanoen se tarkoittaa, että voit aloittaa näyttöistunnon ja avata minkä tahansa määrän ikkunoita (virtuaaliterminaaleja) istunnon sisällä. Näytössä käynnissä olevat prosessit jatkuvat, vaikka niiden ikkuna ei näy, vaikka yhteys katkeaa.
Automaatio käynnistyksen yhteydessä
Toinen tapa on muokata käynnistystiedostoa /etc/rc.local, jotta voit käyttää tätä nano -ohjelmaa.
sudo nano /etc/rc.local
Tämän tiedoston muokkaaminen saa komentosarjan käynnistymään. Tämä tarkoittaa, että se on aina käynnissä, kun PI on päällä, näin käytän myös 90% skripteistäni muilla PI: llä.
Jos olet käyttänyt rc.local -ohjelmaa, voit suorittaa alla olevan komennon tarkistaaksesi, mitä PI: ssä on parhaillaan käynnissä. Tämä on kätevä vianmääritys myöhemmin nähdäksesi, toimiiko komentosarja ollenkaan vai ei:
ps -aef | grep python
Vaihe 6: Valmis
No… Kiitos, jos olet vielä täällä ja pääset tähän pisteeseen!
Anteeksi, että siitä on kulunut melko kauan, tämä oli ensimmäinen ohjeeni, enkä ollut aivan varma mitä kirjoittaa.
Kuten mainitsin alussa, tässä ohjeessa on monia erilaisia sovelluksia, jotka käyttävät lämpöä älypistokkeen laukaisemiseen! voit jäähdyttää minkä tahansa talon/asunnon/asunnon/autotallin/vajan huoneen. Voit jopa muokata IFTTT: tä käynnistämään minkä tahansa älylaitteen, jota voidaan hallita IFTTT: n kautta, sen ei tarvitse olla vain TP-link kasa -laite.
Haluaisin kuulla, jos olet kokeillut tätä ohjetta, tai vaikka pidit sitä mielenkiintoisena, jätä kommentti alla!
Jos sinulla on kysyttävää, jätä ne alle, ja yritän parhaani mukaan vastata niihin!
Toinen sija anturikilpailussa
Suositeltava:
Pysy lämpimänä tänä talvena: CPU -käsilämmitin: 4 vaihetta (kuvilla)
Pysy lämpimänä tänä talvena: Prosessorin käsilämmitin: Tässä pienessä projektissa näytän sinulle, miten käytin vanhaa AMD -prosessoria luodakseni pienen, kevyen ja helppokäyttöisen sähköisen käsilämmittimen. Pienen kannettavan virtapankin avulla tämä gadget voi lämmittää sinua noin 2 ja puoli tuntia ja helpottaa
Pysy viileänä tänä kesänä: PC Fan Mod: 4 vaihetta (kuvilla)
Pysy viileänä tänä kesänä: PC Fan Mod: Kenellä ei ole tusinaa näistä PC -faneista? Tässä rakennelmassa näytän, kuinka tuulettimien avulla saadaan aikaan mukava säädettävä tuuli kuumina kesäpäivinä. Ja se toimii vähintään 4 tuntia tavallisella 9 V: n akulla
Tänä iltana musiikkivaikutelman pyörä: 7 vaihetta
Tonight Show's Wheel of Musical Impressions Machine: Tämän koneen inspiraatio on peräisin Tonight Show -segmentistä, jonka pääosassa Jimmy Fallon soittaa '' Musical Impressions Wheel ''. Kun painat ensin laatikon painiketta, se näyttää satunnaisen laulajan ja kappaleen nestekidenäytöllä. Sitten sinun täytyy jäljitellä
Juhlaturvallinen tänä kesänä Arduinon veri-alkoholireaktiivisella LED-kupilla: 10 vaihetta
Juhlia turvallisesti tänä kesänä Arduinon veri-alkoholireaktiivisen LED-kupin kanssa: Projektitaso Vaikeustaso: Keskitaso Tarvittavat taidot:- Kaavion lukeminen ja toistaminen- Juotos, jos päätät olla ostamatta esijuotettuja osia Hankkeen esittely Yhdysvalloissa ja kaikkialla maailmassa alkoholi on uhkasi vakavia terveysuhkia
Arduino Bi-ped (vauva Dino): 5 vaihetta
Arduino Bi-ped (vauva Dino): Baby dino se on kaksijalkainen robotti, joka käyttää arduinoa, se käyttää pohjimmiltaan 5 servomoottoria, 2 kumpaakin jalkaa ja yksi päätä varten, se käyttää ultraäänianturia havaitsemaan este ja välttämään sen, joten saa nähdä miten onnistuu