Taula de continguts:
- Pas 1: peces necessàries
- Pas 2: cablejat i muntatge
- Pas 3: configureu MQTT, Node-RED i IFTTT
- Pas 4: programa el NodeMCU i la calibració de la capacitat de les escombraries
- Pas 5: utilitzar el sistema
- Pas 6: entendre el flux
- Pas 7: reptes, limitacions i plans de futur …
Vídeo: IDC2018IOT GarbageCan-Online: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Introducció
Tothom sap què passa quan deixem les escombraries a la paperera durant massa temps sense treure-les. Bé, el més obvi és que no hi ha espai per a més escombraries, però també comença a fer pudor i es fa molt desagradable.
Amb aquest projecte, pretenem ajudar-vos a controlar els contenidors d’escombraries que hi ha a l’interior de la casa / espai de treball \, de manera que sempre pugueu saber quan estan plens i prendre mesures immediates traient les escombraries.
El sistema us avisarà per notificació telefònica o al tauler de control que heu de buidar la paperera. El sistema té en compte el nivell de plenitud de la brossa, però també la temperatura i la humitat mesurades al seu interior. Tots coneixem la urgència de buidar les papereres en dies calorosos i humits …
Principals característiques
-
Tauler de control:
-
Secció principal:
- Nivell de plenitud de cada contenidor d'escombraries.
- Temperatura i humitat de cada contenidor d'escombraries.
-
Secció d'Estadístiques:
- La paperera més completa.
- La paperera més calenta.
-
-
Sistema d'alertes i notificacions:
-
S'admeten els esdeveniments següents:
- La paperera està plena.
- S'ha produït un error del sensor.
- Les alertes de plenitud tenen en compte el nivell de plenitud de la brossa, però també els nivells de temperatura i humitat de la brossa.
- Les alertes es poden enviar mitjançant notificacions per telèfon i alertes de tauler.
- Cada canal d'alerta es pot activar i desactivar mitjançant el tauler.
-
-
Escalabilitat:
- Mitjançant el botó de calibració, és possible ajustar el sistema a diferents contenidors d’escombraries amb capacitats variables.
- És possible afegir més escombraries amb relativa facilitat. Es pot muntar el mateix sistema en una nova escombrera, configurar la identificació de la brossa i calibrar-la (prement un botó). Tenir més de 3 contenidors d’escombraries requerirà ampliar el tauler (tasca fàcil de realitzar).
Qui sóm?
Aquest projecte va ser creat (amb amor i dedicació!) Per Rom Cyncynatus i Daniel Alima - Estudiants de l’IDC Herzliya com a projecte final del nostre curs d’IoT. Esperem que el vostre treball us sigui útil i us agradi.
Pas 1: peces necessàries
Per construir el sistema, haureu d'adquirir els components i les parts següents:
- Paperera d'escombraries (preferiblement amb tapa): s'utilitzarà per … bé … ja sabeu què farem amb aquesta, eh?;)
- Taula de pa: per connectar tots els components diferents sense utilitzar cap soldadura.
- NodeMCU (ESP-8266): encarregat de llegir els sensors i enviar la informació al núvol.
- Sensor IR de distància: Sharp 0A41SK: aquest sensor mesurarà la quantitat d'escombraries (nivell de plenitud) dins de la llauna.
- Sensor de temperatura i humitat - DHT11: aquest sensor mesurarà la temperatura i la humitat a l’interior de la paperera.
- Interruptor momentani: s'utilitzarà per calibrar el sensor de distància segons la mida de la paperera.
- Paper d'alumini: s'utilitzarà per formar un detector per a l'estat de la tapa, ja sigui obert o tancat.
- Cables de pont: obtingueu molts colors i longituds diferents. Connectarà tot plegat.
- Cinta adhesiva: haurem de fixar les coses al seu lloc.
- Cable micro-USB: per connectar el NodeMCU a l'ordinador per programar-lo i, posteriorment, per obtenir una font d'alimentació.
- Font d'alimentació USB (carregador de telèfon intel·ligent): subministrarà energia al NodeMCU quan estigui instal·lat a la paperera.
Pas 2: cablejat i muntatge
Cablejat
Col·loqueu el NodeMCU a la pissarra perquè sigui convenient connectar-lo més endavant a la paperera i connecteu-hi el cable USB. A continuació, consulteu la imatge del diagrama de cablejat anterior per connectar els diferents components al NodeMCU. Assegureu-vos d’utilitzar cables llargs per als sensors i cables d’estat, de manera que serà convenient instal·lar el sistema i utilitzar la paperera amb ell.
-
Sensor IR de distància - Sharp 0A41SK:
- Vin (vermell) Vin
- GND (Negre) GND
- Vout (groc) A0
-
Sensor de temperatura i humitat - DHT11:
- Vin (vermell) 3V3
- GND (Negre) GND
- DADES (groc) D4
-
Interruptor momentani:
- Pin1 D3
- Pin2 GND
-
Cable d'estat de la tapa (obert / tancat):
- Filferro1 D2
- Wire2 GND
muntatge
Muntar el sistema a la paperera és bastant senzill. Col·loqueu el tauler de pa a la paperera, preferiblement a prop de la tapa. Utilitzeu una cinta adhesiva o un cable per fixar-lo al seu lloc. Després:
- Col·loqueu el sensor de distància IR al centre de la tapa (des del costat interior!). Assegureu-vos de protegir-lo correctament, ja que trobareu lectures falses.
- Col·loqueu el sensor de temperatura i humitat en algun lloc de la paperera. Assegureu-lo amb cinta adhesiva.
- Cobriu el costat de la tapa i la punta de la paperera amb paper d'alumini. Assegureu-vos que hi hagi un bon contacte quan la tapa estigui tancada. Això indicarà al sistema que la brossa està oberta o tancada. A continuació, cliqueu cadascun dels cables d’estat de la tapa en un paper d’alumini i fixeu-los amb cinta adhesiva.
Pas 3: configureu MQTT, Node-RED i IFTTT
La major part de la lògica del projecte s’implementa al núvol. El NodeMCU envia les dades al servidor MQTT i Node-RED les consumeix i hi aplica la seva lògica (més informació sobre l'arquitectura més endavant). Per últim, per transmetre notificacions push (alertes) al nostre telèfon intel·ligent, hem utilitzat IFTTT.
Utilitzarem els serveis de núvol CloudMQTT i FRED com a servidors MQTT i Node-RED respectivament, i utilitzarem IFTTT per a notificacions push.
- Inscriviu-vos a CloudMQTT amb el pla gratuït. Tingueu en compte les vostres credencials al servidor MQTT (nom d'usuari i contrasenya).
- Inscripció a IFTTT. Creeu un nou applet de "Notificació de l'aplicació Webhooks IFTTT". Utilitzeu "Notificació de telèfon mòbil" com a nom de l'esdeveniment de WebHookds. Consulteu la imatge superior per obtenir informació detallada. Tingueu en compte la vostra clau API de fabricant.
- Baixeu-vos l'aplicació IFTTT al vostre telèfon i inicieu la sessió amb les vostres credencials. Això us permetrà rebre notificacions push.
- Inscriviu-vos a FRED amb el pla gratuït.
- Un cop tingueu en marxa la instància FRED, importeu-hi els fluxos adjunts (botó 3 barres Importa des del porta-retalls). Simplement enganxeu el contingut de cada fitxer (widgest.json, alerts.json, statistics.json) i importeu-lo.
- Editeu un dels nodes MQTT (n'hi ha prou) per actualitzar les vostres credencials de CloudMQTT.
- Editeu el node IFTTT per actualitzar la vostra clau d'API del fabricant IFTTT.
Pas 4: programa el NodeMCU i la calibració de la capacitat de les escombraries
Un cop ho tinguem tot connectat, hem de programar el NodeMCU amb el programari adequat (sketch) per tal que realment utilitzi tot allò que hi està connectat i es comuniqui amb Internet.
- Descarregueu i instal·leu l'IDE Arduino des d'aquí.
- Instal·leu i configureu el tipus de placa NodeMCU tal com s’explica al principi de la instrucció següent.
-
Instal·leu les biblioteques següents (Sketch Include Library Gestiona les biblioteques …):
- Biblioteca Adafruit MQTT (per Adafruit)
- Biblioteca de sensors DHT (per Adafruit)
- SharpIR (de Giuseppe Masino)
- EEPROM Anyny: explicació aquí.
-
Obriu el fitxer GarbageCanOnline.ino i actualitzeu el següent:
- Les vostres credencials de WiFi (WLAN_SSID, WLAN_PASS)
- Les vostres credencials de CloudMQTT (MQTT_USERNAME, MQTT_PASSWORD)
- Si es tracta d'un segon contenidor d'escombraries o més, canvieu l'identificador d'escombraries (GARBAGECAN_ID)
- Pengeu l'esbós actualitzat al vostre NodeMCU.
- Obriu la finestra del monitor sèrie (Ctrl + M) i assegureu-vos que aconsegueix publicar les dades dels sensors a CloudMQTT.
- Ara, quan la tapa estigui tancada i la paperera estigui buida, premeu llargament el botó de calibració per calibrar la capacitat de la paperera.
- La paperera està tot a punt. Podeu desconnectar-lo de l'ordinador i connectar-lo a la ubicació designada mitjançant la font d'alimentació USB.
Pas 5: utilitzar el sistema
Si heu arribat fins aquí, tot hauria d’estar en funcionament. Anem a fer una descripció ràpida dels diferents aspectes d'ús del sistema.
Suposem que només teniu connectat un únic contenidor d'escombraries, però és fàcil afegir-ne més més endavant.
Primer, fixeu-vos en el tauler principal. Hauríeu d’estar a la pantalla d’inici, veient els nivells de plenitud, temperatura i humitat de les escombraries. Podeu controlar les notificacions del telèfon i les alertes del tauler de control mitjançant els commutadors de l’esquerra.
Quan la quantitat d'escombraries dins de les escombraries canvia, veureu els canvis d'indicador en conseqüència. Aquest és també el cas dels gràfics de temperatura i humitat.
Quan el nivell de plenitud assoleixi el 85% -90% (el llindar exacte depèn de la temperatura i la humitat) o es produeixi un error del sensor, rebreu una notificació mitjançant els mètodes preferits. Rebràs una notificació cada hora per cada escombraries.
A la visualització Estadístiques, podreu veure la paperera més plena actualment i la més calenta. Títol poc afalagador, si podem dir …
Pas 6: entendre el flux
Com és probable que ja hagueu notat, el sistema té moltes "parts mòbils". Intentarem aclarir com les coses estan connectades entre si.
En primer lloc, tenim la nostra paperera amb el NodeMCU i els seus sensors. En podem tenir un munt, només "còpies" les unes de les altres.
El NodeMCU mesura els diferents sensors col·locats a la paperera i publica les dades al servidor MQTT (protocol MQTT). Podeu pensar en el servidor MQTT com un gran intercanvi d’informació, que molts contenidors d’escombraries poden informar de la seva informació.
Una altra entitat que es connecta al servidor MQTT és Node-RED. Node-RED escolta els diferents missatges que provenen de les escombraries que contenen les dades sensorials i hi aplica la seva lògica. Funciona utilitzant "fluxos" d'informació. Cada vegada que es rep un missatge, segons el seu tipus (tema MQTT), entra en cadenes específiques d’operacions que acaben activant les diferents característiques del sistema (actualització del tauler, enviament d’alertes, etc.) Seria molt correcte dir que Node-RED és el "cervell" del sistema. És conscient de tot el que passa a tot arreu i pot prendre mesures en conseqüència.
Dins de Node-RED hem construït 3 fluxos principals d'informació:
- Ginys: la informació sensorial que s’introdueix a Node-RED es mostra al tauler a través d’indicadors i gràfics.
- Alertes: la informació sensorial es processa per concloure si s'hauria d'activar una alerta (al tauler o a l'aplicació del telèfon intel·ligent). Es té en compte el nivell de plenitud, amb la temperatura i la humitat, per decidir informar a l'usuari que la brossa està plena. A més, el mateix flux informa dels errors sensorials.
- Estadístiques: la informació sensorial s’agrega per mostrar els contenidors d’escombraries més complets i calents.
Per tal que Node-RED enviï una notificació push, es connecta a un servei anomenat IFTTT (mitjançant protocol HTTP). Activa un cert esdeveniment IFTTT amb el text de notificació corresponent i IFTTT envia la notificació al nostre telèfon intel·ligent (protocols HTTP i XMPP).
Consulteu les imatges anteriors per comprendre millor (a) l'estructura general del sistema i (b) els tres fluxos d'informació diferents dins del Node-RED
Pas 7: reptes, limitacions i plans de futur …
Desafiaments
Els principals reptes d’aquest projecte eren principalment la gestió dels serveis MQTT i Node-RED. Primer vam utilitzar AdafruitIO, però la seva implementació personalitzada de MQTT no ens va resultar del tot bona. No era convenient treballar amb els seus "feeds" a Node-RED. Per tant, finalment vam optar per CloudMQTT, que es basa en el servidor Mosquitto MQTT, i és molt més estàndard. Després vam passar a manejar Node-RED, que era força difícil, sobretot perquè Node-RED és una bèstia. Per exemple, és molt més complet i professional que IFTTT al nostre punt de vista. Vam haver d'ajustar-nos i aprendre a utilitzar el seu enfocament de disseny basat en flux per construir les nostres funcions necessàries del sistema. A més, un dels seus majors avantatges és el suport del codi javascript, però va trigar a acostumar-se, ja que no som programadors de javascript. Malgrat tot això, ens va agradar molt treballar amb aquesta eina en particular i ens va semblar molt interessant i útil.
Limitacions
Pel que fa a les limitacions, la primera seria el fet que només utilitzàvem serveis gratuïts i no permetran fer escala completa. El pla gratuït CloudMQTT no permetrà tenir més de 5 connexions paral·leles, és a dir, només podem tenir 4 contenidors d’escombraries i el Node-RED. El pla lliure FRED Node-RED només permet un ús continu de 24 hores, després de la qual cosa heu d'iniciar sessió manualment i restablir el temporitzador. Tanmateix, aquests problemes es poden resoldre fàcilment executant aquests serveis localment o pagant una mica més per aixecar les limitacions. La segona limitació és el fet que, quan s’afegeix el quart contenidor d’escombraries, cal editar manualment el flux de ginys a Node-RED per afegir els ginys adequats.
Plans de futur
Teníem algunes idees per millorar encara més el nostre sistema i ampliar-lo:
- Passa a serveis de núvol no gratuïts. (sol dia de treball).
- Afegir un compressor d’escombraries a la paperera, reduint així la freqüència de buidatge. (4 mesos de treball)
- Treballar amb papereres urbanes i industrials per millorar l’eficiència dels camions urbans que manipulen les escombraries a la ciutat. Això significaria millorar considerablement el tauler de control i el sistema de notificacions perquè els conductors de camions puguin planificar la seva ruta molt millor quan manipulen les escombraries. (6 mesos de treball).
- Afegint habilitats de reciclatge a les escombraries, com la possibilitat d’abocar solucions biològiques especials a les escombraries i ajudar a reciclar-les mentre encara es troba dins de la brossa. Això es pot utilitzar a nivell nacional, per exemple, per produir compost per a jardins, però també es pot utilitzar també en llaunes industrials. (6 mesos de treball).
Recomanat:
IDC2018IOT IoPill Box: 7 passos
IDC2018IOT IoPill Box: Aquesta és la IoPill Box: la caixa de píndoles setmanal connectada a Internet. Per al nostre projecte final del nostre curs d’IoT, vam decidir oferir una solució que ajudés a garantir que les persones grans (o qualsevol altra persona que utilitzi una caixa de píndoles setmanal) ) no us oblideu de prendre
IDC2018IOT Penjador de tela: 6 passos
IDC2018 Penjador de roba IOT: el penjador de roba IOT farà que el vostre armari sigui més elegant i us proporcioni estadístiques en línia sobre la roba que hi ha al seu interior. i els penjadors de roba IOT
Sistema de portes intel·ligents per a persones amb discapacitat auditiva (IDC2018IOT): 11 passos
Sistema de portes intel·ligents per a persones amb discapacitat auditiva (IDC2018IOT): tots esperem tenir una casa que ens convingui, però la versió estàndard no és adequada per a tothom. Les portes d’una casa estan molt mal dissenyades per a persones sordes o amb problemes d’audició. Les persones amb discapacitat auditiva no poden sentir trucar a la porta o
Estudi millor amb un llum d’escriptori intel·ligent - IDC2018IOT: 10 passos (amb imatges)
Estudi millor amb un llum d’escriptori intel·ligent - IDC2018IOT: la gent del món occidental passa molta estona asseguda. A l’escriptori, conduint, veient la televisió i molt més. De vegades, seure massa pot perjudicar el cos i perjudicar les capacitats d’enfocament. Caminar i posar-se dret després d’un temps determinat és crucial per
IDC2018IOT Sistema d'alimentació, aigua i monitor d'aliments per a mascotes: 7 passos
IDC2018IOT Connected Food Food, Water and Monitor System: Introducció Si sou un estudiant sotmès a pressió, un treballador o simplement fora de casa durant més d’unes poques hores al dia. Com a propietaris de mascotes que ens preocupen, volem assegurar-nos que els nostres éssers estimats es mantinguin sans, alimentats i, per descomptat, que no estiguin tombats