Taula de continguts:

Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents: 6 passos (amb imatges)
Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents: 6 passos (amb imatges)

Vídeo: Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents: 6 passos (amb imatges)

Vídeo: Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents: 6 passos (amb imatges)
Vídeo: Night 2024, De novembre
Anonim
Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents
Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents
Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents
Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents

Des de fa dues setmanes, en el moment d’escriure això, em vaig convertir en pare d’un nadó increïble.

Amb les estacions canviant, els dies que s’allarguen i les temperatures s’escalfen, vaig pensar que seria bo tenir algun tipus de monitor a la llar d’infants per comprovar la calor que feia allà dalt!

Al llarg dels anys, no he jugat amb gaire pitó, però he volgut tornar-hi a treballar des del meu primer any a la universitat ara fa gairebé 5 anys. Per això, vaig pensar que seria millor documentar el que vaig fer, ajudar-me més tard, ajudar també qualsevol persona que vulgui fer el mateix.

Mitjançant un Raspberry pi, Enviro pHAT i un endoll kasa intel·ligent TP-link, podeu controlar els endolls mitjançant el marc IFTTT. és molt senzill de fer i fins i tot podeu modificar aquest pas a pas per controlar qualsevol cosa mitjançant diferents sensors i diferents dispositius. Espero que us sigui útil. Si us agrada aquesta instrucció, no oblideu votar per la meva presentació al concurs de sensors.: D (disculpeu la pregunta), és la primera vegada que faig això i m'agradaria tenir possibles possibilitats de guanyar alguna cosa durant tot el temps que dedico a això

** EDITAR ** Durant els pròxims dies, vaig a mirar de traslladar aquestes dades a un tauler de Grafana, si creieu que seria bo, feu-ho saber.: D

Entrem-hi directament …

Subministraments

  1. Qualsevol Raspberry pi farà, però he escollit el Zero W, ja que era el que havia de lliurar en el meu sorteig, també té el factor de forma més petit, amb WiFi activat per defecte. - Raspberry PI Zero w
  2. Targeta SD, tothom té diferents preferències sobre això, però jo n'he fet servir una. - Targeta Micro-SD
  3. Si esteu atrapats, aquí teniu la documentació oficial admesa per a les targetes SD-les targetes SD compatibles
  4. Cavalls de pont (s’explicarà més endavant): cables de pont
  5. Enviro pHAT per a tots els magnífics sensors! - Envrio-pHAT
  6. Un endoll intel·ligent, he anat amb TP-Link, ja que no necessiteu cap centre de luxe per aconseguir que funcioni correctament. - Endoll intel·ligent.
  7. Un ventilador ximple per controlar, podeu utilitzar qualsevol ventilador, acabo de trobar un ventilador a Amazon, però qualsevol ventilador de presa de paret funcionarà bé.
  8. Un soldador, però si no voleu utilitzar un soldador, podeu obtenir clic a les capçaleres del vostre PI i pHAT - GPIO-hammer-header

Perquè la connexió entre TP-links kasa i IFTTT funcioni, haureu de tenir un compte TP-link kasa i IFTTT configurat abans d’iniciar aquesta instrucció. Quan rebeu el connector intel·ligent TP-link, les instruccions que es proporcionen amb el connector intel·ligent us guiaran durant el procés de configuració, incloent-hi com anomenar el connector i les seves funcions bàsiques

Un cop tingueu tota la llista de la compra, és hora de muntar-ho tot.

Pas 1: configureu el vostre Raspberry Pi

Obteniu la imatge més recent i més gran de Raspbian, la versió lite funcionarà bé, si no millor per a zero w. -

Escriviu aquesta imatge a la targeta SD, necessitareu un lector per a això i una imatge, jo utilitzo etcher -

Configuració de Wifi (opcional) Si el vostre PI té una WIFI integrada, per què no el configureu ara per estalviar molts problemes amb les consoles més endavant?

Un cop s'ha fet la imatge del pi, s'ha expulsat la unitat. Desconnecteu i connecteu la targeta SD perquè la vostra màquina la detecti de nou. Hauria d'aparèixer una partició d'arrencada.

Creeu un fitxer en blanc anomenat wpa_supplicant.conf dins de la partició d’arrencada del vostre pi, aquí poseu el següent en aquest fitxer nou:

xarxa = {

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

Activació de SSH a la vostra IP de preferència (opcional)

Per defecte, una imatge Raspbian neta tindrà el ssh desactivat. Haureu d’arrencar el sistema, connectar un teclat i mostrar-lo al Pi i, a continuació, habilitar ssh. Aquest pas habilitarà ssh al primer arrencament. A la partició d’arrencada, creeu un fitxer nou anomenat ssh. Un fitxer buit amb exactament aquest nom.

Després de completar-los dos passos opcionals, el vostre PI es connectarà automàticament a la vostra WIFI i tindrà SSH activat per defecte.

Un cop hàgiu creat i configurat la targeta micro-SD, podeu inserir-la al vostre PI o escollir-la i engegar-la.

Actualitzant el PIO Un cop hàgiu arrencat el PI, podreu trobar la vostra adreça IP del vostre PI dins de la configuració dels enrutadors sense fils. La majoria d’encaminadors són diferents, per la qual cosa seria difícil escriure una guia per a això malauradament.

Un cop tingueu la vostra IP del vostre PI, connecteu-vos a través de SSH i inicieu la sessió amb el següent:

Nom d'usuari: pi

Contrasenya: gerd

Un cop tingueu una sessió SSH activa amb el vostre PI, voldreu actualitzar-lo, simplement executeu el següent amb la Y o la N corresponent durant l'actualització:

sudo apt-get update

sudo apt-get upgrade

sempre és bo reiniciar un PI després d'haver instal·lat qualsevol actualització nova per assegurar-se que s'hagi tornat a executar amb les darreres actualitzacions, això es pot aconseguir amb

sudo reboot -n

Ara és el PI preparat, és hora de passar al següent pas.

Pas 2: Configuració del Enviro PHAT

Configuració del vostre Enviro PHAT
Configuració del vostre Enviro PHAT
Configuració del vostre Enviro PHAT
Configuració del vostre Enviro PHAT

Cablatge del Enviro pHAT

Un cop tingueu el pi actualitzat, podeu connectar el vostre Enviro pHAT al PI que trieu.

*** Per assegurar-vos que no danyeu el vostre PI ni el vostre pHAT, assegureu-vos que primer el desactiveu ***

Aquí he utilitzat els cables de pont perquè es pot obtenir un rentat tèrmic de la CPU que s’escalfa sota el Enviro pHAT. Aquesta calor addicional pot alterar les lectures de temperatura que obtindríeu més endavant. Per això, he utilitzat 5 cables de pont als pins següents:

  • Pin 3: GPIO2 (SDA I2C)
  • Pin 5: GPIO3 (SCL I2C)
  • Pin 7: GPIO4
  • Pin 6: terra
  • Pin 4 - 5V

Consulteu el diagrama de cablejat a la part superior d’aquest pas per obtenir una referència visual o l’enllaç següent:

pinout.xyz/pinout/enviro_phat

(perdó per la pintura de mala qualitat)

Quan connecteu el pHAT, assegureu-vos que el teniu configurat de la manera correcta o, en cas contrari, podríeu danyar-lo !!! Per fer-ho, he tingut la meva configuració, de manera que les capçaleres ANALOG IN es troben cap a la ranura de la targeta SD, més endavant s'ha canviat a les meves imatges perquè encaixi més bé al meu "portador".

Instal·lació de les dependències

Feu una còpia de seguretat del vostre PI i torneu a iniciar SSH

Quan torneu al PI, executeu el següent per instal·lar els paquets i el programari necessaris per al vostre Enviro pHAT:

rínxol https://get.pimoroni.com/envirophat | bash

Assegureu-vos de prémer Y o N quan sigui necessari.

Un cop finalitzada la instal·lació, assegureu-vos de reiniciar el PI …

sudo reboot -n

Provar el pHAT

Per assegurar-vos que el vostre pHAT estigui ben connectat, podeu introduir-vos en un mòdul Python i executar algunes ordres tornant a posar-lo al vostre PI i escrivint Python, un cop en un mòdul Python, escriviu el següent:

a partir de la importació del medi ambient

print (weather.temerpature ())

Això us mostrarà una lectura com la següent:

>> de la importació del medi ambient meteorològic

>> imprimir (weather.temperature ()) 24.0806166987

Resolució de problemes

Si apareix alguna cosa en la línia d'un error a continuació:

Traceback (última trucada més recent): fitxer "", línia 1, a Fitxer "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", línia 134, a temperatura self.update () Fitxer " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", línia 169, en actualització si self._read_byte (REGISTER_CHIPID) == 0x58: # comprova l'identificador del sensor 0x58 = Fitxer BMP280" / usr / lib / python2.7 / dist-packages / envirophat / bmp280.py ", línia 116, a _read_byte retorna self.i2c_bus.read_byte_data (self.addr, registre) IOError: [Errno 121] Error d'E / S remot

A continuació, podeu executar:

sudo i2cdetect -y 1

Això farà una comprovació de diagnòstic de les vostres connexions / cablejat i cercareu alguna cosa com a continuació:

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

En cas contrari, haureu de tornar enrere i comprovar el cablejat de nou. Consulteu el diagrama de cablejat i torneu-ho a provar.

Instal·lació de l'script pi-baby-cooler.py

Si tot va bé i teniu èxit en obtenir una lectura de temperatura, podem continuar i instal·lar el paquet baby-cooler.py.

Degut a la forma en què els enllaços poden gestionar-se amb instruccions, he adjuntat l'script.py a la capçalera del pas anterior … Per copiar-ho al vostre PI, recomano utilitzar alguna cosa com WinSCP:

winscp.net/cat/download.php

WinSCP és un client SFTP i client FTP popular per a Microsoft Windows. Copieu el fitxer entre un ordinador local i servidors remots mitjançant protocols de transferència de fitxers FTP, FTPS, SCP, SFTP, WebDAV o S3.

WinSCP és senzill d’utilitzar, simplement connecteu-vos al vostre PI mitjançant l’adreça IP del vostre PI i, a continuació, arrossegueu i deixeu anar el fitxer.py fins a on voleu executar-lo per a mi, des de / home / pi.

Ara l’escriptura.py és al vostre PI, és hora de passar a configurar el vostre compte / connexions IFTTT

Pas 3: Configuració del compte / connexió IFTTT

Configuració del compte / connexió IFTTT
Configuració del compte / connexió IFTTT
Configuració del compte / connexió IFTTT
Configuració del compte / connexió IFTTT
Configuració del compte / connexió IFTTT
Configuració del compte / connexió IFTTT

A continuació, mirarem d'obtenir un testimoni IFTTT, que s'utilitzarà en trucar a la funció de fred / calor dins de l'script per connectar-se al connector kasa i activar / apagar el ventilador.

Creació dels Webhooks

Dirigeix-te a https://ifttt.com/ i crea un compte si encara no en tens cap.

Un cop hàgiu iniciat la sessió, a la barra de cerca, cerqueu: TP-link kasa

Un cop carregat, feu clic a serveis i després a TP-link kasa. A continuació, haureu de connectar el vostre compte kasa al vostre compte IFTTT, iniciar la sessió al vostre compte kasa mitjançant IFTTT per establir una connexió.

Després d'enllaçar el vostre compte, feu clic a "Els meus applets" i, a continuació, a la miniaplicació nova, a continuació, feu clic al botó "+ això" i cerqueu connexions web.

Feu clic a "Rebre una sol·licitud web", dins del tipus de nom de l'esdeveniment en calent (pot ser qualsevol cosa que vulgueu, però heu d'actualitzar més endavant a l'script pi-baby-coller.py o no funcionarà, he utilitzat hot per activar el ventilador encès i fred per apagar-lo. A continuació, feu clic a crea un disparador.

A continuació, hem d'enllaçar el vostre nou activador al vostre compte de Kasa, feu clic a "+ allò" i cerqueu kasa, feu clic a l'enllaç TP kasa i, a continuació, feu clic a "activa", seleccioneu el dispositiu que vulgueu encendre i feu clic a crear acció. Reviseu l'acció i feu clic a Finalitza si és correcte.

**********

Recordeu que si heu escollit un altre nom d'esdeveniment que no sigui "calent" i "fred", haureu de fer-ne una nota per més endavant i actualitzar el guió. En cas contrari, l'script.py no funcionarà

**********

Un cop hàgim creat el nostre primer ganxo web, repetiu el procés per a "fred", però aquesta vegada seleccioneu desactivar en lloc d'activar quan seleccioneu l'acció +.

Un cop tinguem dos webhooks d'esdeveniments a la secció del compte dels meus applets, feu clic a serveis i cerqueu webhooks i, a continuació, feu clic a això. Aquí veureu un botó de documentació (a la part superior dreta), feu-hi clic. Aquí és on trobareu la vostra clau de testimoni IFTTT. Si bé aquí anoteu la vostra clau (la necessitareu més endavant), he editat la meva a la imatge, en cas contrari qualsevol podria activar o desactivar els meus endolls intel·ligents.

Prova dels webhooks

Ara hem creat dos webhooks que estan connectats al nostre compte kasa, podem provar si funcionen o no!

Dins del vostre PI, podeu introduir el següent:

curl -X POST

En cas que digui "calent", heu d'afegir el nom de l'esdeveniment, si el deixeu com a "calent", deixeu-ho en pau. On us digui / haureu de substituir-lo per la vostra clau de testimoni IFTTT. Feu clic a Intro i llavors hauríeu d'escoltar el clic del relé dels connectors intel·ligents encesos. Si no el podíeu escoltar, podeu consultar l'aplicació Kasa per comprovar l'estat dels vostres endolls.

Ara tenim instal·lades les dependències del nostre Enviro pHAT i ara tenim la configuració IFTTT, és hora d’acabar modificant el codi.

Pas 4: Edició de l'script

Edició de l’escriptura
Edició de l’escriptura

Nom de l'esdeveniment i IFTTT TOKENS Torneu al vostre pi, escaleu a la ubicació del vostre script pi-baby-cooler.py, per a mi a / home / pi (la meva carpeta d'inici) i editeu el fitxer amb nano:

nano pi-baby-cooler.py

Dins del cercador on diu def turn_off ()

def turn_off ():

# Estableix la paraula activadora, p. Ex. "fred": i el testimoni IFTTT Webhook a continuació. TRIGGER_WORD = "fred" TOKEN = "EL TEU IFTTT VA AQUÍ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan apagat!"):

Aquesta és la funció per apagar el ventilador. Ho fa enviant un webhook a IFTTT que provoca que el tplink HS100 s'apagui. Si heu mantingut el funcionament del disparador al vostre compte IFTTT igual que "fred", podeu deixar-ho activat i substituir el testimoni que heu obtingut anteriorment de la documentació de webhooks. Si heu triat un nom d'esdeveniment diferent, substituïu aquesta paraula aquí.

Després d'enganxar el vostre testimoni IFTTT, aneu a la secció següent on es diu def turn_on ()

def turn_on (): # Estableix la paraula activadora, p. ex. "calent" - i el testimoni IFTTT Webhook a continuació. TRIGGER_WORD = "hot" TOKEN = "EL SEU TOTEN IFTTT VA AQUÍ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan activat!")

Aquesta funció és la inversa de la desactivació, activa el connector intel·ligent TP-link.

Si heu mantingut el disparador al vostre compte IFTTT igual que "en calent", podeu deixar-ho activat i substituir el testimoni que heu obtingut anteriorment de la documentació de webhooks. Si heu triat un nom d'esdeveniment diferent, substituïu aquesta paraula aquí.

Tota la resta ja està codificat, de manera que no hauríeu de fer cap canvi al codi que no sigui el TRIGGER_WORD, TOKEN i uns quants ajustaments de temperatures que seguiran.

Canvi de temperatures

A continuació, cerqueu on diu # Variables locals.

proveu: # Variables locals. state = 0 # Estableix l'estat del commutador low = 20 # Valor baix del nivell de temperatura (celcius). alt=24 # Valor alt per al nivell de temperatura (celcius). període = 120 # Retard, en segons, entre trucades.

La variable d'estat és com sap el pi si el connector està encès o no, s'actualitza més endavant si fa massa calor (24 + * c, llavors l'estat es canvia més tard a 1), això també s'apagaria al webhook i es convertiria el connector intel·ligent encès!

La variable baixa és el fresc que vull que es faci l’habitació abans d’apagar l’endoll. Si voleu que l’habitació sigui més calenta, canvieu-la per un valor superior. Si voleu que sigui més fresc, reduïu el valor.

La variable alta és la temperatura màxima que vull que obtingui l'habitació abans que el ventilador s'iniciï i comenci a refredar l'habitació. Si voleu que el ventilador s'encengui abans d'això, simplement baixeu el valor o si voleu que sigui més càlid, més alt serà el valor.

La variable de període és la durada en segons entre les comprovacions de temperatura; si voleu que l’escriptura pi comprovi amb menys freqüència, aleshores serà més elevat el nombre si voleu escurçar el temps, reduïu el nombre.

Un cop hàgiu fet els canvis desats i sortiu de nano

CTRL + x

Pas 5: utilitzar l'script

Utilitzant l’escriptura
Utilitzant l’escriptura

Execució de l'script localment

Hi ha algunes maneres en què podeu executar aquest script, podeu connectar-vos mitjançant SSH i escriure el següent:

sudo python /pi-baby-cooler.py

Això executarà l'script sota demanda, només funcionarà mentre hi hagi una sessió SSH activa al PI. L’altra manera és fer servir la pantalla, no crec que s’instal·li la pantalla per defecte, per tant, s’haurà d’utilitzar una pantalla d’instal·lació sudo apt.

Aquí teniu un gran tutorial sobre com utilitzar la pantalla correctament:

Screen o GNU Screen és un multiplexor de terminal. Dit d’una altra manera, significa que podeu iniciar una sessió de pantalla i obrir qualsevol nombre de finestres (terminals virtuals) dins d’aquesta sessió. Els processos que s’executen a la pantalla continuaran executant-se quan la seva finestra no sigui visible fins i tot si us desconnecteu.

Automatització per executar-se a l'arrencada

L’altra manera és editar el fitxer d’arrencada a /etc/rc.local per fer aquest ús nano.

sudo nano /etc/rc.local

L'edició d'aquest fitxer farà que l'script s'executi a l'arrencada. és a dir, que sempre s’executarà quan s’iniciï el PI, així també explico el 90% dels meus scripts en altres PI.

Si heu utilitzat rc.local, podeu executar l'ordre següent per comprovar què s'executa actualment al PI. Això és útil per solucionar problemes més tard per veure si l'script funciona o no:

ps -aef | grep pitó

Pas 6: acabat

Bé … Gràcies si encara esteu aquí i heu arribat a aquest punt!

Ho sento, ha passat força temps, aquest va ser el meu primer instructiu i no sabia ben bé què escriure.

Com he esmentat al principi, aquest instructable té moltes aplicacions diferents que utilitzen calor per activar un endoll intel·ligent. podeu refrescar qualsevol habitació de la casa / pis / apartament / garatge / cobert. Fins i tot podeu modificar l’IFTTT per activar qualsevol dispositiu intel·ligent que es pugui controlar a través d’IFTTT, no només ha de ser un dispositiu kasa TP-link.

M'encantaria saber si heu provat això instructable o fins i tot si us ha semblat interessant, deixeu-me un comentari a continuació.

Si teniu alguna pregunta, no deixeu de deixar-les a continuació i faré tot el possible per respondre-les.

Concurs de Sensors
Concurs de Sensors
Concurs de Sensors
Concurs de Sensors

Accèssit al concurs de sensors

Recomanat: