INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stel u Framboos Pi op
- Stap 2: Stel u Enviro PHAT op
- Stap 3: Stel u IFTTT -rekening/verbinding in
- Stap 4: Bewerk die script
- Stap 5: Gebruik die script
- Stap 6: klaar
Video: Hou u baba koel hierdie somer - beheer stomme aanhangers met slim dinge !: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
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
- 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
- SD -kaart, almal het verskillende voorkeure hieroor, maar ek het een hiervan gebruik! - Mikro-SD kaart
- As u vas is, is dit die amptelike ondersteunde dokumentasie vir SD -kaarte -amptelike ondersteunde SD -kaarte
- Jumper drade (sal later verduidelik) - Jumper drade
- Enviro pHAT vir al die glorieryke sensors! - Envrio-pHAT
- 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!
- '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
- '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
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
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
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 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!
Naaswenner in die Sensors -kompetisie
Aanbeveel:
Geniet u koel somer met 'n M5StickC ESP32 -waaier - verstelbare snelheid: 8 stappe
Geniet u koel somer met 'n M5StickC ESP32 -waaier - verstelbare snelheid: In hierdie projek leer ons hoe u 'n FAN -snelheid kan beheer met 'n M5StickC ESP32 -kaart en 'n L9110 -waaiermodule
Laat blindes dinge herken deur dinge rondom hulle aan te raak met behulp van MakeyMakey: 3 stappe
Laat blindes dinge herken deur dinge rondom hulle aan te raak met behulp van MakeyMakey: inleiding Hierdie projek het ten doel om die lewe van blindes maklik te maak deur dinge rondom hulle te identifiseer deur die gevoel van aanraking. Ek en my seun Mustafa het daaraan gedink om 'n hulpmiddel te vind om hulle te help, en gedurende die tydperk wat ons die MakeyMakey -hardeware gebruik
Bly koel hierdie somer: PC Fan Mod: 4 stappe (met foto's)
Bly koel hierdie somer: PC Fan Mod: Wie het nie 'n dosyn van die PC -fans nie? In hierdie weergawe sal ek jou wys hoe om die waaiers te gebruik om 'n lekker verstelbare briesie tydens warm somersdae te produseer. En dit werk minstens 4 uur met 'n gewone 9V -battery
Bly veilig met hierdie fietsry met rigtingwysers: 5 stappe (met foto's)
Bly veilig om hierdie fietsrit met rigtingaanwysers te gebruik: ek ry graag op my fiets, gewoonlik gebruik ek dit om by die skool te kom. In die winter is dit meestal nog donker buite en dit is moeilik vir ander voertuie om my hand se rigtingwysers te sien. Daarom is dit 'n groot gevaar, want vragmotors sien miskien nie dat ek wil
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: Projekvlak Moeilikheid: intermediêr Vaardighede benodig:- Lees en herhaal 'n diagram- Soldeer as u besluit om nie vooraf gesoldeerde onderdele te koop Projekinleiding In die Verenigde State en oor die hele wêreld het alkohol ernstige gesondheidsbedreigings inhou