Taula de continguts:

IDC2018IOT Digueu-me quan heu d'apagar el CA: 7 passos
IDC2018IOT Digueu-me quan heu d'apagar el CA: 7 passos

Vídeo: IDC2018IOT Digueu-me quan heu d'apagar el CA: 7 passos

Vídeo: IDC2018IOT Digueu-me quan heu d'apagar el CA: 7 passos
Vídeo: ПРИЗРАКИ ПРОПАВШИХ ДЕВУШЕК В ЛЕСУ / 1 часть 2024, Desembre
Anonim
Image
Image

Molts de nosaltres, sobretot a l’estiu, fem servir l’AC quasi sense parar, quan en realitat en determinats moments del dia només podem obrir una finestra i gaudir d’una brisa agradable. A més, personalment ens vam adonar que, de vegades, fins i tot ens oblidem d’apagar el CA quan sortim de l’habitació, malgastant energia i diners.

La solució que construirem compararà la temperatura interior amb l’exterior i, quan estiguin prou a prop, ens notificarà a través de Facebook Messanger que és hora d’obrir una finestra i donar descans a la CA.

A més, farem un altre mecanisme per notificar-nos quan oblidem l’AC i vam sortir de l’habitació.

Pas 1: una mica més de detalls

Recopilem dades de 4 sensors diferents:

  • Dos sensors DHT recullen la temperatura dins i fora de casa.
  • Un sensor PIR detecta el moviment a l'habitació.
  • Un micròfon Electret s’utilitza per detectar el vent que surt de la sortida de corrent altern, una manera senzilla i fiable de determinar si el corrent altern està encès.

Les dades provinents dels sensors es processaran i s’enviaran al Blynk, on es mostraran en una interfície que crearem. A més, activarem esdeveniments IFTTT per notificar a l'usuari quan pot obrir una finestra en lloc de la CA i quan va oblidar la CA i va deixar la sala durant un període de temps predefinit.

La interfície de Blynk també ens proporcionarà una manera de canviar la configuració rellevant segons les preferències de l'usuari, tal com parlarem més endavant.

Peces obligatòries:

  1. Mòdul WiFi: ESP8266
  2. Sensor PIR.
  3. Sensors de temperatura DHT11 / DHT22 x2.
  4. Resistències de 10k / 4,7k (DHT11 - 4,7k, DHT22 - 10k, PIR - 10k).
  5. Micròfon electret.
  6. Saltadors.
  7. Cables llargs (el cable telefònic farà una gran feina).

El codi complet del projecte s'adjunta al final amb comentaris al llarg del codi.

Lògicament, té algunes capes de funcionalitat diferents:

  • Les dades dels sensors es llegeixen en intervals de 3 segons, ja que mostren que són més exactes i que no cal més que això.
  • Una part del codi és fer un seguiment de l’estat de corrent altern mitjançant els valors que provenen del micròfon electret que es col·loca sobre l’obertura del corrent altern.
  • Una altra part és fer un seguiment de la lectura provinent dels sensors de temperatura, i la diferència de l’ús es defineix com a acceptable per girar la CA i obrir una finestra. Busquem el moment en què les temperatures s’acosten prou.
  • Una tercera part és fer un seguiment del moviment a la sala. Si no detecta cap moviment important (aviat s'explicarà la manera de comprovar el major) durant un període de temps definit per l'usuari i l'estat de CA està activat, s'enviarà una notificació a l'usuari.
  • Les notificacions es gestionen mitjançant l’activació de webhooks IFTTT que envien missatges predefinits a l’usuari a través de Facebook Messenger
  • L’última part que cal destacar és la que gestiona la interfície de Blynk, tant obtenint els canvis que l’usuari fa a les variables com, d’altra banda, empenyent les dades a la interfície de Blynk perquè els vegi l’usuari.

Pas 2: en molts detalls: Sensors

En molts més detalls - Sensors
En molts més detalls - Sensors
En molts més detalls - Sensors
En molts més detalls - Sensors

Comencem.

En primer lloc, hem d’assegurar-nos que tots dos sensors DHT llegeixin la mateixa temperatura quan es col·loquen al mateix lloc. Per a això, vam fer un simple esbós adjunt al final d'aquesta secció (CompareSensors.ino). Connecteu els dos sensors i assegureu-vos de canviar el tipus de sensors DHT a l’esbós segons els que tingueu (el valor per defecte és un DHT11 i un DHT22, de manera que pugueu veure com es tracten tots dos al codi). Obriu el monitor sèrie i deixeu-los funcionar una estona, sobretot si feu servir sensors DHT11, ja que solen trigar més a adaptar-se als canvis de temperatura.

Tingueu en compte la diferència entre els sensors i inseriu-lo més endavant al codi principal a la variable "offset".

Col·locació dels sensors:

Cal col·locar un sensor DHT a la paret exterior de la casa, de manera que connecteu-lo a uns cables llargs, prou llargs per arribar al vostre ESP8266 a l’habitació, i col·loqueu-lo a l’exterior (es pot fer fàcilment a través de la finestra). L’altre sensor DHT s’ha de col·locar a la taula de paret, dins de l’habitació on fem servir el corredor altern.

El micròfon electret també s’hauria de connectar a cables prou llargs i col·locar-lo en un lloc on el vent que surti de la CA el colpejarà.

Finalment, el sensor PIR s'hauria de col·locar en un lloc orientat cap al centre de l'habitació perquè capturi tots els moviments de l'habitació. Tingueu en compte que el sensor té dos comandaments petits, un controlant el retard (quant de temps es manté ALT el senyal HIGH de detectar un moviment) i l’altre controla la sensibilitat (vegeu la imatge).

És possible que hàgiu de jugar-hi fins aconseguir una lectura amb la qual estigueu satisfet. Per a nosaltres, el millor resultat va ser retardar fins a l’esquerra (valor més baix) i sensibilitat al centre. El codi proporciona impressions en sèrie que inclouen lectures de tots els sensors que facilitaran la depuració d’aquests problemes.

Connexió dels sensors:

Els números de pin que hem utilitzat són els següents (i es poden canviar al codi principal):

Sensor exterior DHT - D2.

Sensor DHT interior - D3.

Electret - A0 (pin analògic).

PIR - D5.

Els esquemes per connectar cadascun d’ells es poden trobar fàcilment mitjançant la cerca d’imatges de Google amb alguna cosa semblant a “esquema Arduino de resistència PIR” (no voldríem copiar-los aquí i creuar cap línia de copyright:)).

També adjuntem una imatge de la nostra taula de treball, probablement sigui difícil seguir les connexions, però pot donar-li una bona sensació.

Com probablement sabreu, les coses poques vegades funcionen la primera vegada que les connectem. Per això, hem creat una funció que imprimeix les lectures dels sensors de manera fàcil de llegir, de manera que podeu depurar el vostre camí perquè funcionin. Si no voleu que el codi intenti connectar-se a Blynk mentre es depura, només cal que comenteu "Blynk.begin (auth, ssid, pass);" des de la part de configuració del codi, executeu-lo i obriu el monitor sèrie per veure les impressions. També adjuntem una imatge de les estampes.

Pas 3: en molts més detalls: seqüència IFTTT

En molts més detalls: seqüència IFTTT
En molts més detalls: seqüència IFTTT

Per tant, volem rebre notificacions en dos casos:

1. La temperatura exterior és prou propera a la que tenim dins amb la CA funcionant.

2. Hem deixat la sala durant un període de temps prolongat i l'AC continua funcionant.

IFTTT ens permet connectar molts serveis diferents que normalment no interactuen, d’una manera molt senzilla. En el nostre cas, ens permet enviar notificacions amb molta facilitat a través de molts serveis. Vam escollir Facebook Messanger, però després d’aconseguir que funcioni amb Facebook Messanger el podreu canviar fàcilment per qualsevol altre servei que trieu.

El procés de:

Al lloc web IFTTT, feu clic al vostre nom d'usuari (cantonada superior dreta) i, a continuació, a "Nou applet", trieu "Webhooks" com a activador (el "això") i trieu "Rebre una sol·licitud web". Definiu un nom d'esdeveniment (per exemple, sala_vida).

Per al servei activat, l'acció (el "que"), trieu Facebook Messenger> Enviar missatge i escriviu el missatge que vulgueu rebre quan es produeixi aquest esdeveniment (per exemple, "Hola, sembla que hagueu oblidat la CA a:).

Mentre siguem aquí, també haureu de trobar la vostra clau secreta que haureu d’inserir al lloc adequat del codi.

Per trobar la vostra clau secreta aneu a https://ifttt.com/services/maker_webhooks/settings Allà trobareu un URL amb la vostra clau en el format següent:

Pas 4: en molts més detalls: Blynk

Image
Image
En molts més detalls - Blynk
En molts més detalls - Blynk
In a Lot More Details - Blynk
In a Lot More Details - Blynk

També volem una interfície que tingui les funcions següents:

1. Capacitat per definir quant de temps ha de quedar la sala buida amb el funcionament de la CA abans de rebre una notificació

2. Capacitat per escollir la proximitat de la temperatura exterior a l'interior.

3. Una pantalla per a les lectures dels sensors de temperatura

4. Un led que ens indica l'estat de la CA (encès / apagat).

5. I el més important, una pantalla per mostrar la quantitat de $$$ i energia que hem estalviat.

Com es crea la interfície de Blynk:

Si encara no teniu l'aplicació Blynk, descarregueu-la al telèfon. Quan obriu l'aplicació i creeu un projecte nou, assegureu-vos de triar el dispositiu adequat (per exemple, ESP8266).

Rebreu un missatge de correu electrònic amb un testimoni d’autenticació que inserireu al codi al lloc adequat (també el podeu tornar a enviar des de la configuració més endavant si el perdeu).

Col·loqueu els ginys nous a la pantalla, feu clic al signe + a la part superior. Trieu els ginys i, a continuació, feu clic a un widget per introduir-ne la configuració. Hem afegit imatges de la configuració de tots els ginys que hem utilitzat, com a referència.

Quan hàgiu acabat amb l'aplicació i, quan vulgueu utilitzar-la, només cal que feu clic a la icona "Reprodueix" a l'extrem superior dret per executar l'aplicació Blynk. També podreu veure quan es connecta el vostre ESP8266.

Nota: el botó "actualitzar" s'utilitza per obtenir la temperatura i l'estat de la CA per veure-les a l'aplicació. No és necessari quan es canvien els paràmetres (com ara la diferència de temperatura), ja que s'empenyen automàticament.

Pas 5: el codi

Vam fer molts esforços per documentar totes les parts del codi d’una manera que facilités la seva comprensió.

Les parts del codi que heu de canviar abans d'utilitzar-lo (com a clau d'autenticació per a Blynk, el vostre SSID wifi i la vostra contrasenya, etc.) van seguides del comentari // * canvi * perquè pugueu cercar-les fàcilment.

Haureu de fer servir les biblioteques al codi, podeu instal·lar-les a través de l’IDE Arduino fent clic a Esbós> Inclou biblioteques> Gestiona biblioteques. Allà podeu cercar el nom de la biblioteca i instal·lar-lo. A més, assegureu-vos de col·locar el fitxer generic8266_ifttt.h a la mateixa ubicació que ACsaver.ino.

Una part del codi que explicarem aquí, ja que no volíem desordenar el codi, és com decidim quan canviar l’estat de la CA d’activat a apagat i l’estat de la sala de buit a no buit.

Llegim dels sensors cada 3 segons, però com que els sensors no són 100% exactes, no volem que una sola lectura canviï l'estat que creiem que hi ha ara a l'habitació. Per resoldre això, el que fa el codi és que tenim un comptador que ++ quan obtenim una lectura a favor de "AC està activat", i - en cas contrari. A continuació, quan arribem al valor definit a SWITCHAFTER (per defecte a 4), canviem l'estat a "AC is on", quan arribem a -SWITCHAFTER (negatiu el mateix valor), canvem l'estat a "AC is off ".

L’impacte en el temps que triga a canviar és insignificant i trobem que és molt fiable a l’hora de detectar només els canvis correctes.

Pas 6: ajuntar-ho tot

D'acord, de manera que tots els sensors estan al seu lloc i funcionen correctament. La interfície de Blynk està configurada (amb els pins virtuals correctes!). I els esdeveniments IFTTT esperen el nostre activador.

Heu inserit la clau secreta IFTTT al codi, la clau d’autenticació de Blynk, l’SSID del vostre WiFi i la contrasenya, i fins i tot heu comprovat que els sensors DHT estiguin calibrats i, si no, heu canviat l’offset en conseqüència (per exemple, el nostre fora de DHT es llegeixen temperatures superiors a 1 grau centígrads del que hauria de tenir, de manera que hem utilitzat offset = -1).

Assegureu-vos que el WiFi estigui activat, inicieu l'aplicació Blynk i carregueu el codi al vostre ESP8266.

Això és. Si tot s'ha fet correctament, podeu jugar ara i veure-ho en acció.

I si només voleu veure-ho en acció sense la molèstia de muntar-ho tot … Bé … Desplaceu-vos cap amunt i mireu el vídeo. (Mireu amb subtítols! Sense veu en off)

Pas 7: Pensaments

Aquí teníem dos reptes principals.

Primer de tot, com sabem que està funcionant l’AC? Hem intentat utilitzar un receptor IR que "escolti" la comunicació entre la CA i el comandament a distància. Semblava massa complicat, ja que les dades eren molt desordenades i no eren prou consistents per entendre "bé, això és un senyal activat". Així que vam buscar altres maneres. Una idea era utilitzar una hèlix petita que generés un petit corrent quan es mogués del vent del corrent altern, una altra idea que vam provar era que un acceleròmetre mesurés l’angle de les ales giratòries a les obertures i detectés el seu moviment des de la posició OFF.

Finalment, ens vam adonar que la forma més senzilla de fer-ho és amb el micròfon electret, que detecta de manera molt fiable el vent que surt de la CA

Aconseguir que els sensors DHT funcionessin va ser una brisa;), però només més tard ens vam adonar que un d’ells estava una mica allunyat de la temperatura real. El sensor PIR també va requerir alguns ajustos, tal com es va descriure anteriorment.

El segon repte era fer que tota la solució fos senzilla i fiable. En un sentit que hauria de ser molest d’utilitzar, només hauria d’estar allà i donar-li un cop d’ull quan ho necessiti. En cas contrari, probablement deixaríem d’utilitzar-lo nosaltres mateixos.

Així doncs, vam reflexionar sobre què hauria d’haver-hi a la interfície de Blynk i vam intentar que el codi fos el més fiable possible, tenint cura de tots els casos avantatjosos que podríem trobar.

Un altre repte, que no vam poder resoldre en escriure aquest instructiu, va ser afegir un blaster IR que ens permetés apagar el CA des de la interfície de Blynk. Quin sentit té saber que has oblidat l’AC sense la possibilitat d’apagar-lo? (bé … es podria preguntar a algú si és a casa).

Malauradament, hem tingut algunes dificultats per reproduir els senyals que hem gravat des del comandament a distància, de nou a la CA amb l’ESP8266. Hem aconseguit controlar la CA mitjançant un Arduino Uno, seguint aquesta instrucció:

www.instructables.com/id/How-to-control-th…

Intentarem de nou aviat i actualitzarem les instruccions amb les nostres troballes i, amb sort, instruccions sobre com afegir aquesta capacitat.

Una altra limitació que veiem és el fet que necessitem connectar un sensor fora de la finestra, cosa que pot ser que no sigui possible en determinades situacions, i també significa que cal un cable llarg per sortir. Una solució pot ser obtenir dades meteorològiques de la vostra ubicació des d'Internet. A més, el sensor electret que funciona des del corrent altern es pot substituir pel receptor IR que hem descrit anteriorment, per als models de corrent altern amb codis IR més coneguts o fàcils de descodificar.

El projecte es pot ampliar de moltes maneres. Com s’ha dit més amunt, intentarem trobar una manera d’incloure el control per infrarrojos sobre el CA, que obre un nou món d’oportunitats per encendre i apagar el CA des de qualsevol lloc del món o establir horaris d’encesa i apagada a través del Blynk. app, com a exemple més. Després d’esbrinar les dificultats tècniques d’IR, afegir el codi és bastant senzill i senzill i no hauria de trigar.

Si realment volem somiar en gran … El projecte es pot convertir en un mòdul complet que faci de qualsevol CA un CA intel·ligent. I no necessita molt més que nosaltres. Només hi ha més codi, més utilització de l’IR i, si volem que es produeixi en massa, potser assegureu-vos d’obtenir les dades meteorològiques per ubicació, i podem posar-ho tot en una petita caixa petita.

Realment, tot el que necessitem és un sensor de temperatura per a la temperatura interior, un sensor PIR per detectar el moviment i un LED IR com a blaster i un receptor IR per "escoltar" la comunicació entre la CA i el comandament a distància que fem servir.

Blynk proporciona totes les capacitats que necessitem per controlar la caixa màgica, d’una manera molt senzilla i fiable.

Fer un projecte tan complet trigarà una mica de temps, sobretot des del punt de vista de fer-lo prou versàtil per configurar-se i detectar i comprendre automàticament la majoria de CA.

Però fent-ho per vosaltres mateixos, bé, si ho feu en el vostre temps lliure, aproximadament no hauríem de trigar més d’una setmana o dues. Depèn del temps lliure que tingueu … El principal repte aquí seria estalviar tots els senyals que el comandament de CA pot enviar i donar-los sentit. (Tot i que simplement reproduir-les hauria de ser encara més fàcil).

Recomanat: