Taula de continguts:
- Subministraments
- Pas 1: configureu el vostre Raspberry Pi
- Pas 2: Configuració del Enviro PHAT
- Pas 3: Configuració del compte / connexió IFTTT
- Pas 4: Edició de l'script
- Pas 5: utilitzar l'script
- Pas 6: acabat
Vídeo: Mantenir el vostre bebè fresc aquest estiu: controlar els ventiladors muts amb coses intel·ligents: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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
- 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
- Targeta SD, tothom té diferents preferències sobre això, però jo n'he fet servir una. - Targeta Micro-SD
- Si esteu atrapats, aquí teniu la documentació oficial admesa per a les targetes SD-les targetes SD compatibles
- Cavalls de pont (s’explicarà més endavant): cables de pont
- Enviro pHAT per a tots els magnífics sensors! - Envrio-pHAT
- 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.
- 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é.
- 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
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
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
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
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.
Accèssit al concurs de sensors
Recomanat:
Com fer bricolatge de persianes intel·ligents amb interruptors intel·ligents SONOFF ?: 14 passos
Com es fan les persianes intel·ligents de bricolatge amb els interruptors intel·ligents SONOFF ?: Utilitzeu el mode d’interblocatge als interruptors intel·ligents SONOFF per convertir les vostres persianes o persianes corrents en intel·ligents. i tirar cap avall al vespre? De totes maneres, sóc
Mantingueu-vos fresc aquest estiu: Mod de ventilador de PC: 4 passos (amb imatges)
Mantingueu-vos fresc aquest estiu: Mod Fan PC: Qui no té una dotzena d'aquests fans de PC? En aquesta versió us mostraré com utilitzar aquests ventiladors per produir una agradable brisa ajustable durant els calorosos dies d’estiu. I funciona com a mínim 4 hores amb una bateria ordinària de 9V
Com controlar l'interruptor intel·ligent bàsic Sonoff basat en ESP8266 amb un telèfon intel·ligent: 4 passos (amb imatges)
Com controlar el commutador intel·ligent bàsic de Sonoff basat en ESP8266 amb un telèfon intel·ligent: Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia és Sonoff Basic. És un commutador habilitat per Wi-Fi basat en un gran xip, ESP8266. En aquest article es descriu com configurar el Cl
Feu els vostres propis guants per a telèfons intel·ligents: 10 passos (amb imatges)
Feu-vos els vostres propis guants per a telèfons intel·ligents: M’encanta portar els guants càlids de llana quan estic fora al fred hivern britànic, les fibres naturals mantenen els dits calents i torrats. El que no m’agrada és la necessitat de treure’m els guants utilitzeu la pantalla tàctil capacitiva del meu telèfon intel·ligent (si sou
Ajudeu el vostre ordinador portàtil a mantenir-se fresc: 4 passos
Ajudeu el vostre ordinador portàtil a mantenir-se fresc. En què es descriu una manera parsimoniosa d’ajudar un dispositiu d’informàtica personal a dissipar l’energia tèrmica. com el meu, està poc ventilat, th