Així és com fa la teva pròpia alarma de pol·len

Podeu trobar excel·lents predictors de la febre del fenc en línia que es basen en factors com la temperatura, el vent i la precipitació. Tanmateix, aquests radars de pol·len no tenen en compte les espècies vegetals, mentre que sovint es produeix una al·lèrgia en espècies específiques. Construïm una alarma de pol·len que només avisa del pol·len de les plantes escollides en una quantitat determinada.

Llista de la compra

Per exemple, a Martoparts.nl

1 mòdul NodeMCU (10 €)

Per exemple a Conrad.nl

1 alleujament de tensió M10 (€ 1,-)

1 PCB 80 × 50 mm (3,30 €)

1 carcassa de plàstic 85 × 56 × 39 mm (4,25 €)

1 terminal de cargol 2 pols (0,20 €)

1 adaptador de xarxa 5 V, 1 A (6 €)

1 LED vermell (0,10 €)

1 LED verd (0,10 €)

2 resistències 100 ohms (0,10 €)

Altres subministraments: soldador i llauna de soldadura, talladors laterals, tornavís, trepant, llima, supercola, cable unipolar (30 cm), multímetre (opcional).

Cost total: 24,75 € aprox

Durant el passat "hivern" molts pacients amb febre del fenc ja tenien queixes. Qui sigui al·lèrgic al pol·len del vern o de l'avellaner l'ha tingut a principis d'any sense precedents i sembla que ens haurem d'acostumar a les plantes, els arbres i les herbes que floreixen tot l'any. Afortunadament, la majoria de persones al·lèrgiques al pol·len només fan torns durant el temps que floreix una soca específica. Per tant, una alarma de pol·len només té sentit si ho té en compte.

Comença, per descomptat, amb dades fiables obtingudes de la detecció de pol·len. La nostra font és el Centre Mèdic de la Universitat de Leiden, el Departament de Malalties Pulmonars del qual analitza mostres d'aire setmanalment. Això és l'artesania tradicional: les mostres d'aire consisteixen en set tires de cinta adhesiva (una per cada dia laborable) que s'examinen al microscopi! Els resultats del recompte setmanal es publiquen al web de LUMC.

Per descomptat, aquest recompte és específic de la ubicació i la quantitat de grans de pol·len detectats a Leiden pot diferir molt de la de Limburg, només per citar-ne alguns. No obstant això, dóna una bona indicació i experimentant amb les quantitats, les dades també es poden utilitzar per a altres llocs. Utilitzem els números de la taula per determinar si una planta supera un determinat estàndard. Si és així, s'encén un LED vermell i s'envia un avís per correu electrònic. Si el valor torna a baixar de l'estàndard, el LED vermell s'apaga i se segueix un correu electrònic amb el missatge que l'avís s'ha retirat.

Maquinari

Pel que fa a maquinari i habitatge, aquest projecte destaca per la simplicitat. Es necessita un adaptador de xarxa, una carcassa compacta i un alleujament de tensió, un mòdul NodeMCU, dos LED, dues resistències i una placa de circuit per soldar-ho tot. Per tant, aquest és un circuit molt adequat per a aquells que tot just comencen a soldar.

El LED verd indica que el sistema està operatiu i capaç de recuperar les dades de la font; el LED vermell s'il·lumina quan es supera l'estàndard de pol·len establert per a les plantes seleccionades. El circuit s'alimenta amb un simple adaptador de corrent de 5 volts, almenys 1 amperí. També pot ser un amb connexió USB, en aquest cas encara necessiteu un cable USB adequat. El conjunt està allotjat en una carcassa de plàstic compacta, per a la qual, per descomptat, també podeu fer o reutilitzar alguna cosa vosaltres mateixos. Finalment, l'alleugeriment evita que el cable d'alimentació s'estingui en cas d'aplicar-hi una força no intencionada.

Instal·leu l'entorn de desenvolupament

El mòdul ESP és més fàcil de programar mitjançant l'entorn de desenvolupament Arduino (IDE). Podeu descarregar-ho aquí. Com que aquest IDE no està pensat principalment per a aquest mòdul, haureu d'instal·lar alguns components addicionals necessaris. Fer clic a Fitxer / Preferències i entra a la pestanya Institucions Abella Tauler addicional Gestiona URL l'URL //arduino.esp8266.com/stable/package_esp8266com_index.json en. Tria ara Eines / Junta: / Gestió de la junta... i tipus esp. Ara pareu atenció: instal·leu la versió 2.4.2 per a la versió de correu del programa, a causa de la incompatibilitat de la biblioteca enviar correu electrònic.h amb versions més noves. Per a la versió sense correu, trieu la darrera versió.

Seleccioneu el mòdul mitjançant Eines/Tauler/NodeMCU 1.0 (mòdul ESP-12E). Connecteu el mòdul ESP mitjançant un cable USB i seleccioneu el port correcte a Arduino IDE (Eines / Port, trieu el port com amb el nombre més alt). Si tot ha anat bé, la vostra configuració ja està preparada per començar a programar.

Canvia el codi

Podeu descarregar-vos el programa ja fet aquí. Fins i tot hi ha dues variants: per a aquells que estiguin satisfets amb el LED d'avís i no considerin necessari rebre un correu electrònic, hi ha una versió simplificada disponible. Això us estalvia la molèstia de crear un compte amb un proveïdor de correu. Descarrega l'arxiu pol·len.zip i extreu-lo a qualsevol carpeta. Obriu el fitxer pol·len.ino per a la versió sense correu, o pollenmail.ino per a la versió amb funció de correu (en fer doble clic sobre el fitxer, s'obre automàticament a l'IDE d'Arduino, vegeu també el quadre 'Instal·la l'entorn de desenvolupament'). L'explicació següent es basa en la variant de correu, ja que aquesta és lògicament la versió que té més a dir.

Omplir ssid i contrasenya Introduïu el nom i la contrasenya de la vostra xarxa sense fils respectivament. Obriu //sec.lumc.nl/pollenwebextern en un navegador i determineu els números de línia de les plantes que voleu controlar. La primera línia de noms de columnes no compta, de manera que el Hazel és la línia 1, l'Alder és la línia 2 i així successivament. El codi de mostra enumera els valors de les plantes més notòries. És més convenient substituir-los per les espècies que voleu vigilar. Ompliu el codi Flora[] introduïu els números de línia corresponents de la taula, separats per comes i a llindar[] el valor de cada planta. Determinar-ho és una qüestió d'experimentació: a 0 cada gra de pol·len d'una planta determinada produeix una alarma i a 100 hi ha un llindar significatiu. Si sou molt al·lèrgic al pol·len de vern i, en menor mesura, al pol·len de bedoll, Flora[] els valors {2, 8} i amb llindar[] per exemple els valors {0, 20}. Assegureu-vos que el nombre de números a les dues files sigui el mateix.

Baixeu un dels dos programes preparats des de pcmweb.nl

Configura el compte de correu

Necessites un servidor de correu per enviar correu. Podeu instal·lar-lo al mòdul, però gairebé segur que trobareu problemes amb ell. Els filtres de correu brossa desconfien del correu de fonts desconegudes i els missatges enviats directament des del mòdul no arribaran a la majoria dels destinataris. Aquest problema es pot evitar utilitzant un proveïdor (gratuït), com ara Mailjet.

Aneu a www.mailjet.com i creeu un compte nou fent clic Registra't gratuitament. Per utilitzar el vostre nou compte, heu de confirmar la vostra adreça de correu electrònic fent clic al botó o a l'enllaç del correu electrònic de confirmació.

Inicieu sessió a Mailjet i feu clic a la part superior Transaccional / SMTP. baix Credencials tu veus nom d'usuari i contrasenya, tots dos són necessaris al vostre programa. Copieu la cadena sota Usuari a servidor_inici de sessió en lloc de NOM D'USUARI (entre cometes dobles). La corda a sota contrasenya s'uneix a la línia contrasenya_servidor en lloc de CONTRAsenya. El servidor smtp (in-v3.mailjet.com) i el número de port (587) ja estan emplenats. Ompliu el lloc de [email protected] Introduïu l'adreça de correu electrònic que utilitzeu per al vostre compte de Mailjet.

També podeu enviar correu a través de Gmail. Per utilitzar el servidor smtp, haureu de reduir la seguretat del compte. Feu clic a la icona del vostre compte i després Gestioneu el vostre compte de Google/Seguretat i canviar Accés mitjançant aplicacions menys segures en. Al programa utilitzeu la vostra pròpia adreça de remitent i la contrasenya corresponent, smtp.gmail.com Abella servidor_amfitrió i porta 465 Abella port_servidor.

Codi d'explicació

El codi comença incrustant dues biblioteques: ESP8266WiFi.h i enviar correu electrònic.h. El primer gestiona la connexió a la xarxa sense fil i gestiona el trànsit web. Gràcies a aquest programa, el mòdul es pot connectar a la xarxa amb unes poques línies de codi i utilitzar-lo com a client web. La segona biblioteca controla la connexió al servidor de correu, permetent al programa enviar missatges.

Declarem algunes constants i variables, les més importants de les quals ja s'han comentat en els paràgrafs anteriors. En processar les dades, els LED s'apaguen i el mòdul es connecta a la WiFi. Si té èxit, el LED verd s'encén.

Tractament de les dades

La funció obtenir informació() és el cor del programa. Aquí és on es recupera i s'analitza la pàgina web que conté la taula. La variable alarma de pol·len obté el valor fals i i obté el valor 0. Mentre l'alarma de pol·len sigui falsa, la pàgina web es llegirà línia per línia, comprovant si hi ha una cadena alhora. pol·len total es produeix en ell. Aquesta és l'última columna de la taula, que enumera tots els grans de pol·len d'una planta que s'han comptat la setmana passada. Variable i s'incrementa en un i ara té el valor 1. Aquest bucle travessa les files de la taula. Variable j es declara i obté valor 0. Això forma part d'un segon bucle que n'extreu tots els elements Flora[] i llindar[] s'acabi.

Ara els elements de la fila Flora[] un per un en comparació amb i per determinar quines plantes estan implicades. A més, flora[0] per al primer element de la fila, així que si hi ha 1 (Hazel a la taula) es compleixen totes les condicions en aquest exemple. A continuació, es llegeix la línia següent, que conté els números. La funció toInt() serveix per filtrar espais i altres brossa, deixant només un nombre enter que s'assignarà a la variable pol·len. Si aquest nombre és més gran que el valor corresponent a la fila llindar[] (en aquest cas el primer valor d'aquesta fila), l'alarma de pol·len esdevé certa i la funció s'atura. Si no, aleshores j augmentat en un i els elements següents estan fora Flora[] i llindar[] en comparació amb i fins que no hi hagi més elements. Llavors es converteix i s'incrementa en un i les files següents es llegeixen de la taula. Un cop s'hagi processat tota la taula, les dades variables rebran l'estat veritable i el LED verd s'encendrà.

Alerta o no?

Les característiques alarma () i noalarma() serveixen només per enviar correus, el primer ho fa amb una nova alarma. La funció email.send() dóna un valor veritat retorna si l'enviament ha estat satisfactori i un valor fals si alguna cosa va sortir malament. La construcció va utilitzar proves per a això i retorna la variable alarma enviada l'estatus veritat. Quan l'alarma s'esborra, la funció noalarma() realitzat de la mateixa manera. Si s'executa correctament, alarma enviada l'estatus fals. Com a resultat, només s'enviarà un correu electrònic si l'estat canvia, independentment de la freqüència amb què s'executa aquesta funció.

Fes una ullada cada hora

Després de córrer obtenir informació() aquesta funció mira les variables alarma de pol·len, dades i alarma enviada. Si les dues primeres són certes, hi ha una alarma. El LED vermell s'encén i si encara no s'ha fet, s'enviarà un correu d'alarma. Això és seguit d'un descans d'una hora. Té dades el valor veritat i el pol·len alarma el valor fals, aleshores no hi ha cap alarma i el LED vermell s'apaga. Té alarma enviada el valor veritat (s'ha enviat un correu electrònic d'alarma), després se seguirà un correu electrònic sobre la cancel·lació de l'alarma i rebràs alarma enviada l'estatus fals. També hi ha una pausa d'una hora. Té dades l'estatus fals, aleshores hi ha hagut un error en recuperar les dades. El LED verd s'apaga per indicar que el sistema no funciona (temporalment) i hi ha una pausa d'una hora, després de la qual caminar () reinicia.

Carregar i provar programari

Si el fitxer pol·len_mail.ino personalitzat a l'entorn de desenvolupament Arduino i el mòdul NodeMCU connectat, la càrrega pot començar. Per comprovar si funciona, podeu afegir temporalment una planta (o arbre) que sens dubte tingui pol·len a la taula en aquell moment. Obriu el monitor sèrie amb Ctrl+Maj+M i carregueu el programa amb Ctrl+U.

Un cop finalitzada la càrrega, hauríeu de veure com el mòdul es connecta primer a la xarxa sense fil i després al servidor web. A continuació, segueix la primera planta, el valor llindar aplicable i el valor mesurat. A continuació, els valors de les plantes següents. Si un dels valors mesurats supera el llindar establert per a aquesta planta, apareix el missatge . Alerta de pol·len!, Seguit per Correu amb alerta de pol·len enviat. Si tots els valors romanen per sota dels llindars establerts, només ho veureu Sense alarma de pol·len. Funciona tot fins ara? A continuació, podeu desconnectar el mòdul.

Per provar, podeu afegir temporalment una planta el pol·len de la qual estigui a la taula

Preparació

Primer, perfora tres forats a la carcassa: dos de 5 mil·límetres per als LED i un de 10 mil·límetres per a l'alleugeriment. També és possible més petit, amb una llima podeu fer el forat a mida. Instal·leu l'alleujament de tensió i comproveu si els LED s'ajusten. Enganxeu-los a la carcassa amb supercola. També soldeu els cables als LED, de manera que els pugueu soldar a la placa de circuit imprès més tard.

Construcció del circuit

Com s'ha assenyalat, el maquinari d'aquest projecte és limitat. El mòdul NodeMCU, les dues resistències i el terminal de cargol vénen a la PCB. Comenceu perforant forats de 5 mil·límetres a les cantonades de la placa de circuits perquè encaixin sobre els forats dels cargols de la carcassa.

En col·locar els components de manera intel·ligent, es poden interconnectar amb soldadura. Tingueu en compte que (segons els carrils de la placa de circuit) el mòdul es pot situar transversalment a la carcassa i hi ha poc marge! Per tant, primer col·loqueu el mòdul a la placa de circuit i comproveu si encaixarà a la carcassa abans de continuar. A continuació, fixeu el mòdul doblegant les agulles de cada cantonada una mica cap a fora a la part inferior, per exemple amb l'extrem pla d'un tornavís. A continuació, col·loqueu les resistències a prop dels pins D5 i D6 i finalment el terminal de cargol a l'altre costat del mòdul. En l'exemple, té quatre connexions, però només se'n necessiten dues. Les resistències i el terminal de cargol també es mantenen millor al seu lloc si doblegueu una mica les cames. Ara talleu totes les potes (incloses les del mòdul) a una longitud d'uns dos mil·límetres amb talladors de filferro i soldeu les peces i les agulles a connectar entre elles. També soldeu els quatre pins de cantonada del mòdul, dels quals només un està connectat al terminal de cargol. Per obtenir consells sobre la soldadura, consulteu aquesta guia completa.

Connecta't

L'acabat és ara més fàcil que mai, perquè gràcies a la carcassa ja està tot al seu lloc. Només queda connectar l'adaptador de xarxa i els LED. Per començar, talleu l'endoll rodó del cable. Si utilitzeu un adaptador d'alimentació USB, talleu el connector micro-USB del cable USB. Peleu els cables individuals en una longitud d'aproximadament mig centímetre i entalleu els extrems. Si teniu un multímetre, podeu comprovar la polaritat (més i menys) de les connexions. Si no en teniu cap, podeu veure si hi ha una empremta en (un dels) cables. Una altra possibilitat és connectar un LED amb una resistència de 220 ohms en una de les potes. Connecteu un dels cables adaptadors a la resistència i l'altre cable a la pota lliure del LED. El cable que està connectat a la pota llarga del LED és l'avantatge. Marca aquest fil. Introduïu els extrems estanyats a través de l'alleujament de la tensió des de l'exterior i fixeu-los al terminal de cargol de la PCB, amb el cable positiu posat. FIN ve i el tauler mental GND.

Finalment, connecteu els LED amb trossos de filferro, els extrems dels quals tingueu. Connecteu els càtodes (cames curtes) dels dos LED GND, connecteu l'ànode (cama llarga) del LED verd a la resistència al pin D5 i l'ànode del led vermell de la resistència a D6.

Posada en marxa

El circuit i el programa ja s'han provat, de manera que l'adaptador es pot connectar a la presa de corrent. Ara no hi ha cap monitor sèrie, de manera que inicialment no veieu res. El LED verd s'hauria d'encendre en pocs segons. Si no passa al cap d'un minut, és probable que hi hagi un problema amb la Wi-Fi i haureu d'apropar el circuit a un punt d'accés.

Si se supera l'estàndard de pol·len especificat al codi, el LED vermell també s'encén i rebràs el correu electrònic d'advertència. Tot i que el programa recupera les dades cada hora, és bo adonar-se que, de moment, aquestes només les actualitza un cop a la setmana (dimarts a la tarda) per part de la LUMC. L'estat es manté sense canvis els altres dies, malauradament això no és diferent. Només per això, és recomanable no elevar massa el llindar, per tal de rebre un avís a temps.

Esperem un any sense pol·len i amb pocs correus electrònics!

Missatges recents