Cuprins:

Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente !: 6 pași (cu imagini)
Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente !: 6 pași (cu imagini)

Video: Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente !: 6 pași (cu imagini)

Video: Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente !: 6 pași (cu imagini)
Video: Grăbindu-se să ajungă la timp, femeia a văzut întâmplător o bătrână plângând și nu a trecut indifere 2024, Noiembrie
Anonim
Menținerea bebelușului tău în această vară - Controlul fanilor proști cu lucruri inteligente!
Menținerea bebelușului tău în această vară - Controlul fanilor proști cu lucruri inteligente!
Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente!
Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente!

În urmă cu două săptămâni, în momentul scrierii acestui articol, am devenit tată pentru un băiețel incredibil!

Odată cu schimbarea anotimpurilor, zilele din ce în ce mai lungi și temperaturile din ce în ce mai calde, m-am gândit că ar fi bine să aveți un fel de monitor în grădiniță pentru a verifica cât de fierbinte era acolo sus!

De-a lungul anilor, nu am jucat mult piton, dar am vrut să mă întorc la el din primul meu an universitar acum aproape 5 ani! Din această cauză m-am gândit că ar fi mai bine să documentez ceea ce am făcut, să mă ajute mai târziu, să ajut și pe oricine dorește să facă același lucru!

Folosind un Raspberry pi, Enviro pHAT și o mufă inteligentă TP-link kasa, puteți controla mufele utilizând cadrul IFTTT! este foarte simplu de făcut și puteți chiar modifica această procedură pentru a controla orice prin intermediul diferiților senzori și dispozitive diferite! Sper că veți găsi acest lucru util. Dacă vă place acest lucru instructiv, vă rugăm să nu uitați să votați pentru depunerea mea la concursul de senzori!: D (îmi pare rău pentru întrebare), este prima dată când fac asta și aș dori să am o șansă posibilă de a câștiga ceva pentru tot timpul pe care l-am pus

** EDIT ** În următoarele câteva zile voi analiza transmiterea acestor date către o placă Grafana, dacă credeți că ar fi bine, anunțați!: D

Să intrăm direct în asta …

Provizii

  1. Orice Raspberry pi va face, dar am ales Zero W, deoarece a fost ceea ce trebuia să dau în extragerea mea, are și cel mai mic factor de formă, cu WiFi activat implicit! - Raspberry PI Zero w
  2. Card SD, toată lumea are preferințe diferite pe acestea, dar am folosit una dintre acestea! - Card Micro-SD
  3. Dacă sunteți blocat, iată documentația oficială acceptată pentru cardurile SD - cardurile SD acceptate oficial
  4. Sârme jumper (vă vom explica mai târziu) - Sârme jumper
  5. Enviro pHAT pentru toți senzorii glorioși! - Envrio-pHAT
  6. O priză inteligentă, am mers cu TP-Link, deoarece nu aveți nevoie de hub-uri fanteziste pentru a-l rezolva! - Conector inteligent!
  7. Un ventilator prost pentru a controla, puteți utiliza orice ventilator, tocmai am găsit un ventilator pe Amazon, dar orice ventilator cu priză de perete va funcționa bine - Fan prost
  8. Un fier de lipit, dar dacă nu doriți să utilizați un fier de lipit, puteți obține clic în anteturi pentru PI și pHAT - GPIO-hammer-header

Pentru ca o conexiune între TP-links kasa și IFTTT să funcționeze, va trebui să aveți un cont TP-link kasa și IFTTT configurat înainte de a începe acest instructable. Când primiți conectorul inteligent TP-link, instrucțiunile furnizate împreună cu conectorul inteligent vă vor ghida prin procesul de configurare, inclusiv modul de denumire a conectorului și funcțiile sale de bază

Odată ce aveți toată lista de cumpărături, este timpul să vă asamblați totul!

Pasul 1: Configurarea Raspberry Pi

Obțineți cea mai recentă și cea mai bună imagine Raspbian, versiunea lite va merge bine, dacă nu chiar mai bine pentru zero w! -

Scrieți această imagine pe cardul SD, veți avea nevoie de un cititor și un aparat de fotografiat, eu folosesc etcher -

Configurare Wifi (opțional) Dacă PI-ul dvs. are un WIFI încorporat, de ce să nu îl configurați acum pentru a economisi o mulțime de jocuri cu consolele mai târziu!

Odată ce pi-ul a fost imaginat, unitatea a fost evacuată. Deconectați și conectați cardul SD, astfel încât acesta să fie detectat din nou de aparat. Ar trebui să apară o partiție de boot.

Creați un fișier gol numit wpa_supplicant.confîn cadrul partiției de boot a pi-ului dvs., aici plasați mai jos în acest fișier nou:

rețea = {

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

Activarea SSH pe PI la alegere (opțional)

În mod implicit, o imagine Raspbian curată va avea ssh dezactivat. Trebuie să porniți sistemul, să conectați o tastatură și să afișați la Pi și apoi să activați ssh. Acest pas va activa ssh la primul boot. În partiția de boot, creați un fișier nou numit ssh. Un fișier gol cu exact acest nume.

După parcurgerea celor doi pași opționali, PI-ul dvs. se va conecta automat la WIFI și va avea SSH activat în mod implicit.

Odată ce ați imaginat și configurat cardul micro-SD, îl puteți introduce în PI sau alegere și îl puteți alimenta!

Actualizarea PIO Odată ce ați pornit PI, puteți găsi adresa IP a dvs. PI în setările routerelor fără fir. Majoritatea routerelor sunt diferite, deci ar fi greu să scrii un ghid pentru acest lucru din păcate!

Odată ce ai IP-ul PI, conectează-te prin SSH și conectează-te cu următoarele:

Nume utilizator: pi

Parolă: zmeură

După ce aveți o sesiune SSH activă cu PI, veți dori să o actualizați, pur și simplu rulați mai jos cu Y sau N corespunzător pe parcursul actualizării:

sudo apt-get update

sudo apt-get upgrade

este întotdeauna bine să reporniți un PI după ce s-au instalat noi actualizări pentru a vă asigura că a funcționat din nou cu cele mai recente actualizări, acest lucru poate fi realizat cu

sudo reboot -n

Acum este gata PI, este timpul să treceți la pasul următor!

Pasul 2: Configurarea Enviro PHAT

Configurarea Enviro PHAT
Configurarea Enviro PHAT
Configurarea Enviro PHAT
Configurarea Enviro PHAT

Cablarea Enviro pHAT

Odată ce aveți pi-ul actualizat, vă puteți conecta Enviro pHAT la PI la alegere!

*** Pentru a vă asigura că nu vă deteriorați PI-ul sau pHAT-ul, asigurați-vă că îl opriți mai întâi ***

Aici am folosit cablurile jumper, deoarece puteți obține spălarea termică de la procesorul care se încălzește sub Enviro pHAT. Această căldură suplimentară poate modifica citirile de temperatură pe care le veți obține mai târziu. Din această cauză am folosit 5 cabluri jumper pe pinii de mai jos:

  • Pinul 3 - GPIO2 (SDA I2C)
  • Pinul 5 - GPIO3 (SCL I2C)
  • Pinul 7 - GPIO4
  • Pinul 6 - Masă
  • Pinul 4 - 5V

Vă rugăm să verificați schema de cablare din partea de sus a acestui pas pentru referințe vizuale sau linkul de mai jos:

pinout.xyz/pinout/enviro_phat

(îmi pare rău pentru vopseaua de calitate)

Când vă conectați pHAT-ul, asigurați-vă că îl setați corect sau altfel l-ați putea deteriora !!! Pentru a face acest lucru, am avut configurarea mea, astfel încât anteturile ANALOG IN să fie orientate spre slotul cardului SD, acest lucru a fost transformat ulterior în imaginile mele pentru a-l încadra mai bine în „operatorul” meu.

Instalarea dependențelor

Alimentați-vă PI-ul înapoi și SSH-ul înapoi

După ce ați revenit la PI, rulați următoarele pentru a instala pachetele și software-ul necesar pentru Enviro pHAT:

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

Asigurați-vă că atingeți Y sau N atunci când este necesar.

După finalizarea instalării, asigurați-vă că reporniți PI …

sudo reboot -n

Testarea pHAT

Pentru a vă asigura că pHAT-ul dvs. este conectat corect, puteți să intrați într-un modul python și să rulați câteva comenzi punând înapoi la PI și tastând python, o dată într-un modul python tastați mai jos:

din vreme de import din mediu

print (weather.temerpature ())

Acest lucru ar trebui să vă arate o citire ca mai jos:

>> din vremea de import din mediu

>> print (weather.temperature ()) 24.0806166987

Depanare

Dacă primiți ceva de-a lungul liniei unei erori de mai jos:

Traceback (ultimul apel ultim): Fișier "", linia 1, în Fișier "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", linia 134, în temperatură self.update () Fișier " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", linia 169, în actualizare dacă self._read_byte (REGISTER_CHIPID) == 0x58: # verificați senzorul id 0x58 = fișier BMP280" / usr / lib / python2.7 / dist-packages / envirophat / bmp280.py ", linia 116, în _read_byte returnează self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Eroare I / O la distanță

Apoi puteți rula:

sudo i2cdetect -y 1

Aceasta va rula o verificare de diagnosticare a conexiunilor / cablării dvs. și ați fi în căutarea a ceva de genul de mai jos:

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

Dacă nu, atunci va trebui să vă întoarceți și să vă verificați cablajul din nou, vă rugăm să verificați schema de cabluri și să încercați din nou!

Instalarea scriptului pi-baby-cooler.py

Dacă totul este bine și ați reușit să obțineți o citire a temperaturii, atunci putem continua și instalați pachetul baby-cooler.py!

Datorită modului în care instrucțiunile gestionează linkurile, am atașat scriptul.py în antetul pasului de mai sus … Pentru a copia acest lucru în PI, vă recomand să folosiți ceva de genul WinSCP:

winscp.net/eng/download.php

WinSCP este un popular client SFTP și client FTP pentru Microsoft Windows! Copiați fișierul între un computer local și servere la distanță folosind protocoale de transfer de fișiere FTP, FTPS, SCP, SFTP, WebDAV sau S3.

WinSCP este simplu de utilizat, pur și simplu conectați-vă la PI utilizând adresa IP a PI-ului dvs., apoi glisați și fixați fișierul.py în locul în care doriți să-l executați pentru mine, acesta este din / home / pi.

Acum, scriptul.py este pe PI, este timpul să treceți la configurarea contului / conexiunilor IFTTT

Pasul 3: Setarea contului / conexiunii IFTTT

Setarea contului / conexiunii IFTTT
Setarea contului / conexiunii IFTTT
Setarea contului / conexiunii IFTTT
Setarea contului / conexiunii IFTTT
Setarea contului / conexiunii IFTTT
Setarea contului / conexiunii IFTTT

În continuare vom analiza obținerea unui jeton IFTTT, acesta va fi utilizat la apelarea funcției fierbinte / rece din script pentru a ne conecta la mufa kasa și a porni / opri ventilatorul.

Crearea Webhook-urilor

Accesați https://ifttt.com/ și creați un cont dacă nu aveți deja unul.

După ce v-ați conectat, în bara de căutare, căutați: TP-link kasa

Odată ce s-a încărcat, faceți clic pe servicii, apoi pe TP-link kasa. Apoi va trebui să vă conectați contul kasa la contul dvs. IFTTT, să vă conectați la contul dvs. kasa prin IFTTT pentru a face o conexiune.

După ce v-ați conectat contul, faceți clic pe „Appletele mele”, apoi pe applet-ul nou, apoi faceți clic pe „+ this” și căutați webhooks.

Faceți clic pe „Primiți o solicitare web”, în cadrul tipului de nume al evenimentului hot (acesta poate fi orice doriți, dar trebuie să actualizați acest lucru mai târziu în scriptul pi-baby-coller.py sau acest lucru nu va funcționa, am folosit hot pentru a activa ventilatorul pornit și rece pentru a opri ventilatorul. Apoi faceți clic pe creați declanșatorul.

În continuare, trebuie să conectăm noul dvs. declanșator la contul dvs. Kasa, faceți clic pe „+ că” și căutați kasa, faceți clic pe TP-link kasa, apoi faceți clic pe „activați”, după aceasta selectați dispozitivul pe care doriți să îl porniți, apoi faceți clic pe creați acțiune. Examinați acțiunea și dați clic pe Finalizare dacă este corectă.

**********

Amintiți-vă dacă ați ales un alt nume de eveniment, altul decât „fierbinte” și „rece”, va trebui să notați aceste informații pentru mai târziu și să actualizați scriptul! În caz contrar, scriptul.py nu va funcționa

**********

După ce am creat primul nostru cârlig web, repetați procesul pentru „rece”, dar de data aceasta selectați opriți în loc să activați când selectați + acțiunea respectivă.

După ce avem două webhook-uri de evenimente în secțiunea contului meu applets, faceți clic pe servicii și căutați webhook-uri, apoi faceți clic pe acesta. Aici veți vedea un buton de documentare (dreapta sus), faceți clic pe acesta. Aici veți găsi cheia de jeton IFTTT. în timp ce aici notați cheia dvs. (veți avea nevoie de ea mai târziu), am editat-o pe a mea în imagine, altfel oricine ar putea să-mi pornească sau să oprească prizele inteligente.

Testarea webhook-urilor

Acum am creat două webhook-uri care sunt conectate la contul nostru kasa, putem testa dacă funcționează sau nu!

În PI, puteți introduce următoarele:

curl -X POST

În cazul în care scrie „fierbinte”, trebuie să adăugați numele evenimentului dvs., dacă l-ați lăsat „fierbinte”, lăsați-l în pace. Unde scrie / tu … trebuie să înlocuiți acest lucru cu cheia de jeton IFTTT. Apăsați pe Enter și ar trebui să auziți apoi clicul releului dvs. de prize inteligente pornind fișa. Dacă nu l-ați auzit, puteți verifica aplicația Kasa pentru a verifica starea prizelor.

Acum avem dependențele pentru Enviro pHAT instalat și acum avem configurare IFTTT, este timpul să finalizăm cu modificarea codului.

Pasul 4: Editarea scriptului

Editarea Scriptului
Editarea Scriptului

Numele evenimentului și IFTTT TOKENS Înapoi pe pi, treceți la locația scriptului pi-baby-cooler.py, pentru mine în / home / pi (folderul meu de acasă) și editați fișierul folosind nano:

nano pi-baby-cooler.py

În Finder unde scrie def turn_off ()

def turn_off ():

# Setați cuvântul declanșator - de ex. „rece” - și simbolul IFTTT Webhook de mai jos. TRIGGER_WORD = "rece" TOKEN = "TOKEN-ul Dvs. IFTTT VA AICI" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan off!"):

Aceasta este funcția de oprire a ventilatorului. Face acest lucru trimițând un webhook la IFTTT care declanșează tplink HS100 să se oprească. Dacă ați păstrat funcția de declanșare în contul dvs. IFTTT la fel ca „rece”, puteți să lăsați acest lucru și să înlocuiți tokenul obținut din documentația webhooks mai devreme. Dacă ați ales un alt nume de eveniment, înlocuiți acest cuvânt aici.

După lipire în jetonul IFTTT, mergeți la secțiunea următoare unde scrie def turn_on ()

def turn_on (): # Setați cuvântul declanșator - de ex. „fierbinte” - și simbolul IFTTT Webhook de mai jos. TRIGGER_WORD = "fierbinte" TOKEN = "TOKEN-ul Dvs. IFTTT VA AICI" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan on!")

Această funcție este inversa opririi, activează mufa inteligentă TP-link!

Dacă ați păstrat funcția de declanșare în contul dvs. IFTTT la fel ca „fierbinte”, puteți să lăsați acest lucru și să înlocuiți tokenul obținut din documentația webhooks mai devreme. Dacă ați ales un alt nume de eveniment, înlocuiți acest cuvânt aici.

Orice altceva este deja codificat, deci nu ar trebui să faceți modificări în cod, altele TRIGGER_WORD, TOKEN și câteva ajustări ale temperaturilor care urmează!

Modificarea temperaturilor

În continuare, găsiți unde scrie # Variabile locale.

încercați: # Variabile locale. state = 0 # Setează starea comutatorului low = 20 # Valoare scăzută pentru nivelul de temperatură (celcius). ridicat = 24 # Valoare ridicată pentru nivelul de temperatură (celcius). period = 120 # Întârziere, în secunde, între apeluri.

Variabila de stare este modul în care pi știe dacă ștecherul este pornit sau nu, acesta este actualizat mai târziu dacă devine prea fierbinte (24 + * c, apoi starea se schimbă mai târziu la 1), aceasta se va declanșa și pe webhook și se va transforma mufa inteligentă pornită!

Variabila joasă este cât de mișto vreau să obțină camera înainte ca opritorul să fie oprit. Dacă doriți încălzirea camerei, pur și simplu schimbați-o la o valoare mai mare. Dacă doriți să fie mai rece, reduceți valoarea.

Variabila ridicată este temperatura maximă pe care vreau să o primească camera înainte să vreau ca ventilatorul să intre și să înceapă să răcească camera. Dacă doriți ca ventilatorul să pornească înainte de aceasta, reduceți pur și simplu valoarea sau dacă doriți să fie mai cald, atunci creșteți valoarea.

Variabila de perioadă este durata în secunde dintre verificările de temperatură, dacă doriți ca scriptul pi să verifice mai rar, apoi creșteți numărul dacă doriți să scurtați timpul, reduceți numărul.

După ce ați făcut modificările, salvați și ieșiți din nano

CTRL + x

Pasul 5: Utilizarea scriptului

Folosind Scriptul
Folosind Scriptul

Rularea scriptului local

Există câteva moduri în care puteți rula acest script, vă puteți conecta prin SSH și tastați următoarele:

sudo python /pi-baby-cooler.py

Acest lucru va rula scriptul la cerere, acesta va funcționa numai atât timp cât există o sesiune SSH activă către PI. Cealaltă modalitate este utilizarea ecranului, ecranul nu este instalat în mod implicit, nu cred, așa că va trebui să fie folosit un ecran de instalare sudo apt.

Iată un tutorial minunat despre cum să utilizați ecranul în mod corespunzător:

Screen sau GNU Screen este un multiplexor terminal. Cu alte cuvinte, înseamnă că puteți începe o sesiune de ecran și apoi puteți deschide orice număr de ferestre (terminale virtuale) în interiorul acelei sesiuni. Procesele care rulează în ecran vor continua să ruleze atunci când fereastra lor nu este vizibilă chiar dacă vă deconectați.

Se automatizează pentru a rula la boot

Cealaltă modalitate este să editați fișierul de boot în /etc/rc.local pentru a face acest lucru utilizați nano.

sudo nano /etc/rc.local

Editarea acestui fișier va face ca scriptul să ruleze la pornire. ceea ce înseamnă că va rula întotdeauna când PI-ul este pornit, așa rulez și eu 90% din scripturile mele pe alte PI.

Dacă ați folosit rc.local, atunci puteți rula comanda de mai jos pentru a verifica ce se execută în prezent pe PI. Acest lucru este la îndemână pentru a depana mai târziu, pentru a vedea dacă scriptul funcționează deloc sau nu:

ps -aef | grep python

Pasul 6: Finalizat

Ei bine … Mulțumesc dacă ești încă aici și ai ajuns la acest punct!

Îmi pare rău că a trecut destul de mult, acesta a fost primul meu instructabil vreodată și nu eram prea sigur ce să notez.

După cum am menționat la început, acest instructable are multe aplicații diferite folosind căldură pentru a declanșa o priză inteligentă! ai putea răci orice cameră din casă / apartament / apartament / garaj / magazie. Puteți chiar modifica IFTTT pentru a declanșa orice dispozitiv inteligent care poate fi controlat prin IFTTT, nu trebuie doar să fie dispozitive kasa TP-link.

Mi-ar plăcea să aud dacă ați încercat acest instructable sau chiar dacă vi s-a părut interesant, vă rog să-mi lăsați un comentariu mai jos!

Dacă aveți întrebări, nu uitați să le lăsați mai jos și voi face tot posibilul să le răspund!

Concurs de senzori
Concurs de senzori
Concurs de senzori
Concurs de senzori

Locul doi în concursul de senzori

Recomandat: