Na mreži možete pronaći odlične prognostičare polenske groznice koji se zasnivaju na faktorima kao što su temperatura, vetar i padavine. Međutim, ovi radari za polen ne uzimaju u obzir biljne vrste, dok se kod određenih vrsta često javlja alergija. Izrađujemo alarm za polen koji upozorava samo na polen sa odabranih biljaka u određenoj količini.
Lista namirnica
Na primer na Martoparts.nl
1 NodeMCU modul (10 €)
Na primer na Conrad.nl
1 rasterećenje zatezanja M10 (€ 1,-)
1 PCB 80 × 50 mm (3,30 €)
1 Plastično kućište 85 × 56 × 39 mm (4,25 €)
1 vijčani terminal 2-polni (0,20 €)
1 mrežni adapter 5 V, 1 A (€ 6,-)
1 crvena LED dioda (0,10 €)
1 zelena LED dioda (0,10 €)
2 otpornika 100 oma (0,10 €)
Ostale potrepštine: lemilica i lim za lemljenje, bočni sekači, šrafciger, bušilica, turpija, superlepak, jednopolni kabl (30 cm), multimetar (opciono).
Ukupni troškovi: cca 24,75 €
Tokom protekle 'zime' mnogi bolesnici od polenske groznice su već imali tegobe. Svako ko je alergičan na polen johe ili leske imao je neviđeno rano ove godine i čini se da ćemo morati da se naviknemo na biljke, drveće i trave koje cvetaju tokom cele godine. Na sreću, većina onih koji pate od alergije na polen smenjuju se samo u vreme cvetanja određenog soja. Stoga alarm za polen ima smisla samo ako to uzme u obzir.
Počinje naravno pouzdanim podacima dobijenim detekcijom polena. Naš izvor je Medicinski centar Univerziteta u Lajdenu, čije Odeljenje za plućne bolesti analizira uzorke vazduha na nedeljnoj bazi. To je tradicionalno umeće: uzorci vazduha se sastoje od sedam traka lepljive trake (po jedna za svaki radni dan) koje se ispituju pod mikroskopom! Rezultati nedeljnog brojanja objavljeni su na veb stranici LUMC-a.
Naravno, ovaj broj je specifičan za lokaciju i količina polenovih zrnaca otkrivenih u Lajdenu može se u velikoj meri razlikovati od one u Limburgu, da navedemo samo neke. Ipak, to daje dobre indikacije i eksperimentisanjem sa količinama, podaci se mogu koristiti i za druga mesta. Koristimo brojeve iz tabele da bismo utvrdili da li biljka premašuje određeni standard. Ako jeste, crvena LED lampica svetli i upozorenje se šalje e-poštom. Ako vrednost ponovo padne ispod standardne, crvena LED lampica se gasi i sledi e-mail sa porukom da je upozorenje povučeno.
Hardver
Što se tiče hardvera i kućišta, ovaj projekat se ističe jednostavnošću. Potreban je mrežni adapter, kompaktno kućište i rasterećenje natezanja, NodeMCU modul, dve LED diode, dva otpornika i ploča za lemljenje cele stvari. Stoga je ovo veoma pogodno kolo za one koji tek počinju da leme.
Zelena LED lampica označava da je sistem operativan i sposoban da preuzme podatke iz izvora; crvena LED lampica svetli kada se prekorači standard za polen za odabrane biljke. Kolo se napaja jednostavnim adapterom za napajanje od 5 volti, najmanje 1 amper. To može biti i onaj sa USB vezom, u tom slučaju vam je i dalje potreban odgovarajući USB kabl. Cela je smeštena u kompaktno plastično kućište, za koje, naravno, možete i sami da napravite ili ponovo upotrebite nešto. Konačno, rasterećenje od vučne sile sprečava izvlačenje kabla za napajanje u slučaju nenamerne sile na njega.
Instalirajte razvojno okruženje
ESP modul je najlakše programirati koristeći Arduino razvojno okruženje (IDE). Ovo možete preuzeti ovde. Pošto ovaj IDE nije prvenstveno namenjen za ovaj modul, moraćete da instalirate neke dodatne neophodne komponente. Кликните на File / Preferences i unesite na karticu Institucije Bee Dodatne URL adrese za upravljanje odborom url //arduino.esp8266.com/stable/package_esp8266com_index.json in. Izaberite sada Alati / Odbor: / Uprava odbora… i tip esp. Sada obratite pažnju: instalirajte verziju 2.4.2 za mail verziju programa, zbog nekompatibilnosti biblioteke sendemail.h sa novijim verzijama. Za verziju bez pošte izaberite najnoviju verziju.
Izaberite modul preko Alati / ploča / NodeMCU 1.0 (ESP-12E modul). Povežite ESP modul preko USB kabla i izaberite odgovarajući port u Arduino IDE (Alati / Port, izaberite com port sa najvećim brojem). Ako je sve prošlo dobro, vaše podešavanje je sada spremno za početak programiranja.
Promeni kod
Gotovi program možete preuzeti ovde. Postoje čak dve varijante: za one koji su zadovoljni LED-om upozorenja i ne smatraju potrebnim da primaju e-poštu, dostupna je skraćena verzija. Ovo vam štedi nevolje da kreirate nalog kod provajdera pošte. Preuzmite datoteku polen.zip i raspakujte ga u bilo koju fasciklu. Otvorite datoteku polen.ino za verziju bez pošte, ili polenmail.ino za verziju sa funkcijom pošte (dvostrukim klikom na datoteku, ona se automatski otvara u Arduino IDE, pogledajte i okvir 'Instaliraj razvojno okruženje'). Objašnjenje u nastavku se zasniva na varijanti pošte, pošto je to logično verzija koja ima najviše da kaže.
Надмашити ssid и Лозинка Unesite ime svoje bežične mreže i lozinku. Otvorite //sec.lumc.nl/pollenwebextern u pretraživaču i odredite brojeve redova biljaka koje želite da nadgledate. Prvi red naziva kolona se ne računa, tako da je Lešnik red 1, Alder je red 2 i tako dalje. Primer koda navodi vrednosti za najozloglašenije biljke. Pogodnije je da ih zamenite vrstama na koje želite da pazite. Popunite kod Flora[] unesite odgovarajuće brojeve redova tabele, odvojene zarezima i at prag[] vrednost za svaku biljku. Utvrđivanje ovoga je stvar eksperimentisanja: na 0 svako zrno polena određene biljke dovodi do alarma, a kod 100 postoji značajan prag. Ako ste visoko alergični na polen johe i u manjoj meri na polen breze, Flora[] вредности {2, 8} и са prag[] na primer vrednosti {0, 20}. Uverite se da je broj brojeva u oba reda isti.
Preuzmite jedan od dva gotova programa sa pcmweb.nlPodesite nalog pošte
Potreban vam je server za poštu da biste slali poštu. Možete ga instalirati na modul, ali ćete skoro sigurno naići na probleme sa njim. Filteri za neželjenu poštu su nepoverljivi za poštu iz nepoznatih izvora i poruke poslate direktno iz modula neće stići do većine primalaca. Ovaj problem se može zaobići korišćenjem (besplatnog) provajdera, kao što je Mailjet.
Idite na www.mailjet.com i kreirajte novi nalog klikom Бесплатно се пријави. Da biste koristili svoj novi nalog, morate potvrditi svoju adresu e-pošte klikom na dugme ili vezu u e-poruci za potvrdu.
Prijavite se na Mailjet i kliknite na vrh Transakcioni / SMTP. ispod Akreditivi видиш корисничко име и Лозинка, oba su potrebna u vašem programu. Kopirajte string pod User at server_login уместо КОРИСНИЧКО ИМЕ (između dvostrukih navodnika). Niza ispod Лозинка pridružuje se liniji шифра сервера уместо ЛОЗИНКА. SMTP server (in-v3.mailjet.com) i broj porta (587) su već popunjeni. Popunite mesto [email protected] Unesite adresu e-pošte koju koristite za svoj Mailjet nalog.
Takođe možete da šaljete poštu preko Gmail-a. Da biste koristili smtp server, moraćete da smanjite bezbednost naloga. Kliknite na ikonu vašeg naloga, a zatim Upravljajte svojim Google nalogom/bezbednošću i prebacite Pristup putem manje bezbednih aplikacija in. U programu koristite sopstvenu adresu pošiljaoca i odgovarajuću lozinku, smtp.gmail.com Bee server_host i kapija 465 Bee сервер порт.
Šifra objašnjenja
Kod počinje ugrađivanjem dve biblioteke: ESP8266WiFi.h и sendemail.h. Prvi upravlja vezom na bežičnu mrežu i upravlja veb saobraćajem. Zahvaljujući ovom programu, modul se može povezati na mrežu sa nekoliko linija koda i koristiti kao veb klijent. Druga biblioteka kontroliše vezu sa serverom pošte, dozvoljavajući programu da šalje poruke.
Deklarisamo neke konstante i varijable, od kojih su najvažnije već razmotrene u prethodnim paragrafima. U procesu obrade podataka, LED diode se gase i modul se povezuje na WiFi. Ako uspe, zelena LED lampica će se upaliti.
Obrada podataka
Функција добити информације() je srce programa. Ovde se preuzima i analizira veb stranica koja sadrži tabelu. Promenljiva alarm za polen dobija vrednost lažno и i dobija vrednost 0. Sve dok je alarm za polen lažan, veb stranica će se čitati red po red, proveravajući niz po red polen ukupno javlja u njemu. To je poslednja kolona tabele u kojoj su navedena sva polenova zrna biljke koja su prebrojana u protekloj nedelji. Променљива i povećava se za jedan i sada ima vrednost 1. Ova petlja prolazi kroz redove tabele. Променљива j se deklariše i dobija vrednost 0. Ovo je deo druge petlje koja izdvaja sve elemente iz Flora[] и prag[] biti okončan.
Sada elementi iz reda Flora[] jedan po jedan u poređenju sa i da se utvrdi o kojim biljkama je reč. Додатно, flora[0] za prvi element u redu, pa ako postoji 1 (Lešnik u tabeli) svi uslovi su ispunjeni u ovom primeru. Zatim se čita sledeći red koji sadrži brojeve. Функција toInt() služi za filtriranje razmaka i drugog smeća, ostavljajući samo ceo broj koji se dodeljuje promenljivoj polena. Ako je taj broj veći od odgovarajuće vrednosti u redu prag[] (u ovom slučaju prva vrednost u tom redu), polen alarm postaje istinit i funkcija se zaustavlja. Ako ne, onda j povećan za jedan i sledeći elementi su van Flora[] и prag[] у поређењу са i dok više nema elemenata. Tada postaje i uvećan za jedan i sledeći redovi se čitaju iz tabele. Kada se cela tabela obradi, promenljivi podaci u njima će dobiti status true i zelena LED će se upaliti.
Upozorenje ili ne?
Карактеристике алармни() и noalarm() služe samo za slanje pošte, prvi to radi sa novim alarmom. Функција email.send() daje vrednost истина vrati ako je slanje bilo uspešno i vrednost lažno ako je nešto pošlo po zlu. Konstrukcija je za to koristila testove i vraća promenljivu alarm poslat статус истина. Kada je alarm obrisan, funkcija noalarm() izvedena na isti način. Ako se uspešno pokrene, alarm poslat статус lažno. Kao rezultat toga, imejl će biti poslat samo ako se status promeni, bez obzira na to koliko često se ova funkcija pokreće.
Gledajte svaki sat
Posle trčanja добити информације() ova funkcija gleda na promenljive alarm za polen, data и alarm poslat. Ako su prva dva tačna, postoji alarm. Crveni LED će se upaliti i ako to već nije urađeno, biće poslata poruka sa alarmom. Nakon toga sledi pauza od jednog sata. Ima data вредност истина a polen alarmira vrednost lažno, tada nema alarma i crveni LED se gasi. Ima alarm poslat вредност истина (poslat je e-mail za alarm), zatim će uslediti e-mail o otkazivanju alarma i dobićete alarm poslat статус lažno. Tu je i pauza od jednog sata. Ima data статус lažno, onda je nešto pošlo naopako pri preuzimanju podataka. Zelena LED lampica se gasi da bi označila da sistem (privremeno) ne funkcioniše i postoji pauza od jednog sata, nakon čega ходати() поново покренути.
Otpremite i testirajte softver
Ako fajl polen_mail.ino prilagođeno u razvojnom okruženju Arduino i povezan NodeMCU modul, otpremanje može da počne. Da biste proverili da li radi, možete privremeno da dodate biljku (ili drvo) koje u tom trenutku sigurno ima polen u tabeli. Otvorite serijski monitor pomoću Ctrl+Shift+M i otpremite program pomoću Ctrl+U.
Nakon što se otpremanje završi, trebalo bi da vidite kako se modul prvo povezuje na bežičnu mrežu, a zatim na veb server. Zatim sledi prvo postrojenje, primenljiva granična vrednost i izmerena vrednost. Zatim vrednosti za sledeće biljke. Ako jedna od izmerenih vrednosti premašuje prag postavljen za to postrojenje, pojavljuje se poruka . Upozorenje na polen!, затим Poslata pošta sa upozorenjem o polenu. Ako sve vrednosti ostanu ispod postavljenih pragova, videćete samo Nema alarma za polen. Da li sve funkcioniše do sada? Zatim možete isključiti modul.
Za testiranje možete privremeno dodati biljku čiji se polen nalazi u tabeliPriprema
Prvo, izbušite tri rupe u kućištu: dve od 5 milimetara za LED diode i jednu od 10 milimetara za rasterećenje naprezanja. Moguće je i manje, pomoću turpije možete napraviti rupu po veličini. Ugradite rasterećenje natezanja i proverite da li se LED diode uklapaju. Zalepite ih u kućište superlepkom. Takođe zalemite žice na LED diode, tako da ih kasnije možete zalemiti na štampanu ploču.
Izgradnja kola
Kao što je navedeno, hardver ovog projekta je ograničen. NodeMCU modul, dva otpornika i zavojni terminal dolaze na PCB. Počnite tako što ćete izbušiti rupe od 5 milimetara na uglovima ploče tako da se uklapaju preko rupa za zavrtnje na kućištu.
Pametnim postavljanjem komponenti mogu se međusobno povezati lemljenjem. Imajte na umu da (u zavisnosti od traka na ploči) modul može da sedi poprečno u kućištu i da postoji mala margina! Stoga, prvo postavite modul na štampanu ploču i proverite da li će stati u kućište pre nego što nastavite. Zatim pričvrstite modul tako što ćete savijati igle na svakom uglu malo prema spolja na dnu, na primer ravnim krajem odvijača. Zatim postavite otpornike blizu pinova D5 и D6 i na kraju navojni terminal na drugoj strani modula. U primeru, ima četiri veze, ali su potrebne samo dve. Otpornici i šrafski terminal takođe najbolje ostaju na mestu ako malo savijete noge. Sada isecite sve noge (uključujući i one na modulu) na dužinu od oko dva milimetra pomoću rezača žice i zalemite delove i igle koje ćete spojiti zajedno. Takođe zalemite četiri ugaone igle modula, od kojih je samo jedan usput povezan sa zavrtnjem. Za savete o lemljenju pogledajte ovaj sveobuhvatni vodič.
Povežite se
Završna obrada je sada lakša nego ikad, jer je zahvaljujući gotovom kućištu sve već na svom mestu. Ostaje samo da povežete mrežni adapter i LED diode. Za početak isecite okrugli utikač iz kabla. Ako koristite USB adapter za napajanje, isecite mikro-USB konektor sa USB kabla. Skinite pojedinačne žice u dužini od oko pola centimetra i kalajišite krajeve. Ako imate multimetar, možete proveriti polaritet (plus i minus) veza. Ako ga nemate, možete videti da li postoji otisak na (jednoj od) žica. Druga mogućnost je da povežete LED sa otpornikom od 220 oma na jednoj od nogu. Povežite jednu od žica adaptera na otpornik, a drugu žicu na slobodnu nogu LED-a. Žica koja je povezana sa dugačkom nogom LED-a je plus. Označite ovu temu. Umetnite kalajisane krajeve kroz rasterećenje zatezanja sa spoljašnje strane i pričvrstite ih u navojni priključak na štampanoj ploči, sa pozitivnom žicom na FIN dolazi i um odbor GND.
Na kraju povežite LED diode sa komadima žice, čije krajeve nijansirate. Povežite katode (kratke noge) obe LED diode na GND, povežite anodu (duga noga) zelene LED diode na otpornik na pinu D5 a anoda crvene led na otporniku na D6.
Пуштање у рад
Kolo i program su već testirani, tako da se adapter može uključiti u zidnu utičnicu. Sada nema serijskog monitora, tako da u početku ne vidite da se ništa dešava. Zeleni LED bi trebalo da upali u roku od nekoliko sekundi. Ako se to ne dogodi posle minut, verovatno postoji problem sa Wi-Fi mrežom i moraćete da pomerite kolo bliže pristupnoj tački.
Ako je standard polena naveden u kodu prekoračen, crvena LED dioda će se takođe uključiti i dobićete e-poruku sa upozorenjem. Iako program preuzima podatke svakog sata, dobro je imati na umu da ih LUMC za sada osvežava samo jednom nedeljno (utorkom popodne). Ostale dane status ostaje nepromenjen, nažalost ni ovo nije drugačije. Samo iz tog razloga, svakako je preporučljivo da se prag ne postavlja previsoko, kako biste pravovremeno dobili upozorenje.
Nadajmo se godini bez polena sa nekoliko imejlova!