Na ovaj način sami izrađujete peludni alarm

Izvrsni prognozari peludne groznice na temelju čimbenika poput temperature, vjetra i oborina mogu se naći na mreži. Međutim, ovi peludni radari ne uzimaju u obzir biljne vrste, dok se alergija često javlja kod određenih vrsta. Izrađujemo alarm za pelud koji samo upozorava na pelud biljaka po vašem izboru u određenoj količini.

Popis namirnica

Na primjer na Martoparts.nl

1 NodeMCU modul (10 €)

Na primjer na Conrad.nl

1 Oslobađanje od naprezanja M10 (1 €, -)

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

1 Plastično kućište 85 × 56 × 39 mm (4,25 €)

1 vijčana stezaljka 2-polna (0,20 €)

1 adapter za napajanje 5 V, 1 A (6 €, -)

1 crvena LED (0,10 €)

1 zelena LED (0,10 €)

2 otpornika 100 ohma (0,10 €)

Ostale potrepštine: željezo za lemljenje i lem, bočni rezači, odvijač, bušilica, turpija, superljepilo, jednopolni kabel (30 cm), multimetar (nije obavezno).

Ukupni troškovi: približno 24,75 €

Tijekom protekle 'zime' mnogi pacijenti sa peludnom groznicom već su imali pritužbe. Svatko s alergijom na pelud johe ili lješnjaka pogođen je bez presedana početkom ove godine i čini se da ćemo se morati naviknuti na biljke, drveće i trave koje cvjetaju tijekom cijele godine. Srećom, većina ljudi s alergijom na pelud dolazi na red samo u vrijeme dok određeni soj cvjeta. Alarm za pelud stoga je koristan samo ako ga uzima u obzir.

Počinje naravno s pouzdanim podacima dobivenim otkrivanjem peludi. Naš je izvor Sveučilišni medicinski centar Leiden, čiji odjel za plućne bolesti analizira uzorke zraka svaki tjedan. Ovo je tradicionalna izrada: uzorci zraka sastoje se od sedam traka ljepljive trake (po jedna za svaki radni dan) koje se pregledavaju pod mikroskopom! Rezultati tjednog brojanja objavljeni su na web stranici LUMC.

Prirodno, ovo je brojanje specifično za mjesto i količina peludnih zrna otkrivena u Leidenu može se uvelike razlikovati od one u Limburgu, da nabrojimo samo neke. Ipak, daje dobar pokazatelj i eksperimentiranjem s količinama podaci se mogu koristiti i za druga mjesta. Brojevima iz tablice određujemo prelazi li biljka određeni standard. U tom slučaju zasvijetlit će crvena LED dioda i upozorenje će se poslati e-poštom. Ako vrijednost ponovo padne ispod standardne, crvena LED lampica će se ugasiti i slijedit će e-mail u kojem se navodi da je upozorenje povučeno.

Hardver

Što se tiče hardvera i kućišta, ovaj se projekt ističe jednostavnošću. Trebate mrežni adapter, kompaktno kućište i rasterećenje, NodeMCU modul, dvije LED diode, dva otpornika i PCB da biste sve lemili. Ovo je stoga vrlo pogodan krug za one koji tek počinju lemiti.

Zelena LED lampica označava da sustav radi i može dohvatiti podatke iz izvora; crvena LED lampica svijetli kad se prekorači zadani standard peludi za odabrane biljke. Krug se napaja jednostavnim mrežnim adapterom od 5 volti, minimalno 1 amperom. To može biti i onaj s USB vezom, u kojem vam slučaju i dalje treba prikladan USB kabel. Cijela je smještena u kompaktno plastično kućište, za koje naravno možete i sami nešto napraviti ili ponovno upotrijebiti. Napokon, rasterećenje naprezanja sprječava izvlačenje kabela za napajanje u slučaju nenamjerne sile.

Instalirajte razvojno okruženje

ESP modul najlakše je programirati u razvojnom okruženju Arduino (IDE). Možete ga preuzeti ovdje. Budući da ovaj IDE nije prvenstveno namijenjen ovom modulu, morat ćete instalirati neke dodatne potrebne komponente. Da biste to učinili, kliknite Datoteka / Postavke i unesite url //arduino.esp8266.com/stable/package_esp8266com_index.json na kartici Postavke pod Dodatni URL-ovi za upravljanje pločom . Sada odaberite Alati / Ploča: / Upravljanje pločom ... i upišite esp . Sada obratite pažnju: instalirajte verziju 2.4.2 za poštansku verziju programa zbog nekompatibilnosti knjižnice sendemail.hs novijim verzijama. Za verziju bez pošte odaberite najnoviju verziju.

Odaberite modul iz Alati / Ploča / NodeMCU 1.0 (ESP-12E modul) . Spojite ESP modul putem USB kabela i odaberite ispravni priključak u Arduino IDE-u ( Tools / Port , odaberite com port s najvećim brojem). Ako je sve prošlo u redu, vaša je postavka sada spremna za početak programiranja.

Prilagodite kod

Gotov program možete preuzeti ovdje. Postoje čak dvije varijante: za one koji su zadovoljni LED upozorenjem i ne smatraju potrebnim primanje e-pošte dostupna je uklonjena verzija. To vam štedi probleme s postavljanjem računa kod davatelja pošte. Preuzmite datoteku Pollen.zip i izvucite je u bilo koju mapu. Otvorite datoteku pollen.ino za verziju bez pošte ili pollenmail.ino za verziju s funkcijom pošte (dvostrukim klikom na datoteku ona se automatski otvara u Arduino IDE-u, pogledajte također okvir "Instaliranje razvojnog okruženja"). Objašnjenje u nastavku temelji se na poštanskoj varijanti, jer je to logično verzija o kojoj se najviše može reći.

Na ssid i password unesite ime i lozinku svoje bežične mreže. Otvorite //sec.lumc.nl/pollenwebextern u pregledniku i odredite brojeve linija biljaka koje želite pratiti. Prvi redak imena stupaca se ne računa, tako da je Hazel redak 1, Els red 2 i tako dalje. Uzorak koda navodi vrijednosti za najzloglasnije biljke. Prikladnije ih je zamijeniti onima na koje želite pripaziti. U kod flore [] unesite odgovarajuće brojeve redaka tablice, odvojene zarezima i na pragu []vrijednost za svaku biljku. Utvrđivanje toga stvar je eksperimentiranja: kod 0 svako peludno zrno određene biljke rezultira alarmom, a kod 100 postoji znatan prag. Ako ste vrlo alergični na pelud johe i u manjoj mjeri na pelud breze, stavite floru [] vrijednosti {2, 8} i prag [] kao vrijednosti {0, 20} . Provjerite je li broj brojeva jednak u oba retka.

Preuzmite jedan od dva gotova programa s pcmweb.nl

Postavite račun pošte

Za slanje pošte potreban vam je poslužitelj pošte. Možete ga instalirati na modul, ali s tim ćete gotovo sigurno naići. Filteri za neželjenu poštu nemaju povjerenja u poštu iz nepoznatih izvora, a poruke poslane izravno iz modula neće doći do većine primatelja. Taj se problem može zaobići korištenjem davatelja usluga (besplatno), kao što je Mailjet.

Idite na www.mailjet.com i stvorite novi račun klikom na Besplatno se prijavite . Da biste mogli koristiti svoj novi račun, morate potvrditi svoju adresu e-pošte klikom na gumb ili vezu u potvrdi e-pošte.

Prijavite se u Mailjet i na vrhu kliknite Transakcijski / SMTP . Ispod vjerodajnica vidite korisničko ime i lozinku , i jedno i drugo je potrebno u vašem programu. Kopirajte niz pod Korisnik na server_login umjesto USERNAME (između dvostrukih navodnika). Niz ispod Lozinka postavlja se na redak na server_password umjesto PASSWORD . Smtp poslužitelj ( in-v3.mailjet.com ) i broj porta ( 587 ) već su uneseni. Unesite mjesto [email protected] adresu koju ste koristili za svoj Mailjet račun.

Slanje pošte može se obaviti i putem Gmaila. Da biste koristili smtp poslužitelj, morat ćete smanjiti sigurnost računa. Kliknite ikonu računa, zatim Upravljajte Google računom / sigurnošću i uključite Pristup manje sigurnim aplikacijama . U programu koristite vlastitu adresu pošiljatelja i povezanu lozinku, smtp.gmail.com na server_host i port 465 na server_port .

Objašnjenje koda

Kôd započinje ugrađivanjem dvije knjižnice: ESP8266WiFi.h i sendemail.h. Prva obrađuje vezu s bežičnom mrežom i obrađuje web promet. Zahvaljujući ovom programu, modul se može povezati na mrežu s nekoliko redaka koda i koristiti kao web klijent. Druga knjižnica kontrolira vezu s poslužiteljem pošte, omogućavajući programu slanje poruka.

Izjavljujemo neke konstante i varijable, od kojih su najvažnije već raspravljene u gornjim odlomcima. U obradi podataka LED se isključuju i modul se spaja na WiFi. Kada uspije, zelena LED lampica se uključuje.

Obrada podataka

Funkcija getinfo () srž je programa. Ovdje se dohvaća i analizira web stranica s tablicom. Varijabla peludnog alarma postavljena je na false, a i na 0 . Sve dok je alarm za pelud netačan, web stranica će se čitati redak po redak i provjerit će se svaki put sadrži li niz ukupnog polena . To je zadnji stupac tablice, u kojem su navedena sva peludna zrna biljke koja su prebrojana u proteklih tjedan dana. Varijabla i povećava se za jedan i sada ima vrijednost 1 . Ova petlja petlja kroz redove tablice. Varijabla j se deklarira i dobiva vrijednost0 . Ovo je dio druge petlje u kojoj se prenose svi elementi flore [] i prag [] .

Sada se elementi iz reda flore [] uspoređuju jedan po jedan s i kako bi se utvrdilo o kojim je biljkama riječ. Flora [0] označava prvi element u redu, pa ako tamo stoji 1 (Lješnjak u tablici), u ovom su primjeru ispunjeni svi uvjeti. Zatim se čita sljedeći redak koji sadrži brojeve. Funkcija toInt () koristi se za filtriranje razmaka i ostalog smeća, ostavljajući samo cijeli broj koji je dodijeljen varijabli peludi. Ako je taj broj veći od odgovarajuće vrijednosti u pragu retka [] (u ovom slučaju, prva vrijednost u tom retku), alarm peluda postaje istinit i funkcija se zaustavlja. Ako nije, jpovećani za jedan i sljedeći elementi iz flore [] i prag [] uspoređuju se s i sve dok više nema elemenata. Tada se i povećava za jedan, a sljedeći se retci čitaju iz tablice. Nakon što se obradi cijela tablica, promjenljivi podaci unutar statusa bit će istiniti i uključit će se zelena LED.

Alarm ili ne?

Funkcije alarm () i bez alarma () koriste se samo za slanje e-pošte, prva to čini s novim alarmom. Funkcija email.send () vraća vrijednost true ako je slanje uspješno i vrijednost false ako nešto nije u redu. Konstrukcija korištena za ovo testiranje i daje promjenjivom alarmu poslani status true . Kada se alarm izbriše, funkcija bez alarma () izvodi se na isti način. Ako je uspješan, hoće li alarm poslati status false. Kao rezultat toga, e-pošta se šalje samo kada se status promijeni, bez obzira na to koliko se često ta funkcija izvodi.

Pogledajte svaki sat

Nakon pokretanja getinfo (), ova funkcija pregledava varijable peludni alarm , podaci unutar i poslani alarm . Ako su prva dva istinita, postoji alarm. Uključit će se crvena LED dioda, a ako to već nije učinjeno, poslat će se e-poruka s alarmom. Nakon toga slijedi jednosatna pauza. Ako su podaci unutar vrijednosti istiniti, a peludni alarm vrijednost lažna , nema alarma i crvena LED lampica se gasi. Ako poslani alarm ima vrijednost true (poslana je poruka e-pošte), slijedi e-poruka o otkazivanju alarma i poslani alarm će dobiti status false. Opet slijedi pauza od jednog sata. Ako su podaci unutar statusa lažni , tada je nešto krenulo po zlu prilikom dohvaćanja podataka. Zelena LED lampica ugasit će se da ukazuje na to da sustav (privremeno) ne radi i pauzirat će jedan sat, nakon čega će se petlja () ponovno pokrenuti.

Učitajte i testirajte softver

Nakon što je datoteka pollen_mail.ino izmijenjena po želji u razvojnom okruženju Arduino i kada je povezan NodeMCU modul, prijenos može započeti. Da biste testirali radi li, možete privremeno dodati biljku (ili stablo) od kojih je u to vrijeme u tablici definitivno pelud. Otvorite serijski monitor pomoću Ctrl + Shift + M i prenesite program pomoću Ctrl + U.

Nakon završetka prijenosa trebali biste vidjeti kako se modul prvo povezuje s bežičnom mrežom, a zatim s web poslužiteljem. Zatim slijedi prvo postrojenje, primjenjiva praga vrijednost i izmjerena vrijednost. Zatim vrijednosti za sljedeće biljke. Ako jedna od izmjerenih vrijednosti premaši prag postavljen za tu biljku, poruka Pollen alarm! , nakon čega slijedi Mail poslan s upozorenjem na pelud . Ako sve vrijednosti ostanu ispod postavljenih pragova, vidjet ćete samo Bez alarma peludi . Radi li sve do sada? Tada možete odspojiti modul.

Za testiranje u tablicu možete privremeno dodati biljku s peludom

Priprema

Za početak izbušite tri rupe u kućištu: dvije od 5 milimetara za LED diode i jednu od 10 milimetara za rasterećenje naprezanja. Rupu možete i datotekom učiniti manjom. Ugradite rasterećenje naprezanja i provjerite odgovaraju li LED diode. Zalijepite ih u kućište superljepilom. Također kabele zalemite na LED diode, tako da ih možete zalemiti na PCB.

Izgradite sklop

Kao što je već napomenuto, hardver ovog projekta ograničen je. NodeMCU modul, dva otpora i vijčani priključak nalaze se na PCB-u. Za početak izbušite rupe od 5 milimetara na uglovima PCB-a tako da stanu preko rupa za vijke na kućištu.

Pametnim postavljanjem komponenata mogu se međusobno povezati lemom. Imajte na umu da se (ovisno o trakovima na tiskanoj ploči) modul može zaglaviti u kućištu i postoji samo mala razlika! Stoga prvo stavite modul na pločicu i provjerite hoće li stati u kućište prije nastavka. Zatim fiksirajte modul savijanjem iglica na svakom uglu na dnu, na primjer ravnim krajem odvijača. Nakon toga postavite otpornike blizu nožica D5 i D6i na kraju vijčani priključak s druge strane modula. U primjeru ima četiri veze, ali su potrebne samo dvije. Otpornici i vijčani priključak također će ostati na mjestu ako malo savijete noge. Sada izrežite sve noge (uključujući one modula) na duljinu od otprilike dva milimetra s parom kliješta za rezanje i zalemite dijelove i klinove koji će se međusobno povezati. Također zalemite četiri kutne zatiči modula, od kojih će samo jedan biti spojen na vijčani priključak. Za savjete o lemljenju pogledajte ovaj opsežni vodič.

Povezivanje

Završetak je sada lakši nego ikad, jer je zahvaljujući spremnom kućištu sve već na svom mjestu. Preostalo je spojiti mrežni adapter i LED diode. Za početak izrežite okrugli čep s kabela. Ako koristite USB adapter za napajanje, odsječite mikro USB priključak iz USB kabela. Skinite pojedine žice duljine oko pola centimetra i krajeve pokositrite. Ako imate multimetar, možete provjeriti polaritet (plus i minus) veza. Ako ga nemate, možete provjeriti postoji li otisak na (jednoj od) žica. Druga mogućnost je spajanje LED-a s otpornikom od 220 ohma na jednoj od nogu. Spojite jednu od žica adaptera na otpornik, a drugu žicu na slobodnu nogu LED-a.Žica koja je spojena na dugu nogu LED-a je plus. Označi ovu žicu. Umetnite limene krajeve izvana kroz rasteretnik naprezanja i pričvrstite ih u vijčani priključak na PCB-u, s pozitivnom žicomVIN se pojavljuje i pametna ploča na GND-u .

Na kraju, LED diode spojite komadićima žice čiji su krajevi kalajirani. Spojite katode (kratke noge) obje LED diode na GND , anodu (dugu nogu) zelene LED spojite na otpornik na pin D5, a anodu crvene LED na otpornik na D6 .

Puštanje u rad

Krug i program su već ispitani, tako da se adapter može uključiti u utičnicu. Trenutno nema serijskog monitora, tako da u početku nećete vidjeti ništa. U roku od nekoliko sekundi trebala bi zasvijetliti zelena LED dioda. Ako ne nakon minute, vjerojatno postoji problem s Wi-Fi mrežom i morat ćete približiti krug pristupnoj točki.

Ako se premaši standard polena naveden u kodu, crvena LED lampica također će se upaliti i dobit ćete poruku upozorenja. Iako program prikuplja podatke svaki sat, dobro je shvatiti da ga zasad LUMC osvježava samo jednom tjedno (u utorak popodne). Status ostaje nepromijenjen ostalih dana, nažalost, to se ne razlikuje. Samo iz tog razloga svakako je poželjno ne povećavati prag tako da na vrijeme dobijete upozorenje.

Nadajmo se godini s malo peludi s malo e-mailova!