Kaip

Tokiu būdu jūs patys sukuriate žiedadulkių pavojaus signalą

Internetu galima rasti puikių šienligės sinoptikų, pagrįstų tokiais veiksniais kaip temperatūra, vėjas ir krituliai. Tačiau šiuose žiedadulkių radaruose neatsižvelgiama į augalų rūšis, tuo tarpu alergija dažnai pasireiškia konkrečioms rūšims. Sukuriame žiedadulkių signalizaciją, įspėjančią tik apie tam tikro kiekio jūsų pasirinktų augalų žiedadulkes.

Pirkinių sąrašas

Pavyzdžiui, „Martoparts.nl“

1 „NodeMCU“ modulis (10 EUR)

Pavyzdžiui, Conrad.nl

1 tempimo reljefas M10 (1 euras)

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

1 plastikinis korpusas 85 × 56 × 39 mm (4,25 €)

1 varžto gnybtas 2 polių (0,20 €)

1 maitinimo adapteris 5 V, 1 A (6 eurai)

1 raudonas šviesos diodas (0,10 €)

1 žalias šviesos diodas (0,10 €)

2 rezistoriai 100 omų (0,10 euro)

Kiti reikmenys: lituoklis ir lydmetalis, šoniniai pjovikliai, atsuktuvas, gręžtuvas, dildė, superklijai, viengyslis laidas (30 cm), multimetras (pasirinktinai).

Bendros išlaidos: apie 24,75 EUR

Per praėjusią „žiemą“ daugelis šienlige sergančių pacientų jau turėjo nusiskundimų. Visi, alergiški alksnio ar lazdyno žiedadulkėms, šių metų pradžioje nukentėjo beprecedenčiai, ir, atrodo, teks priprasti prie visus metus žydinčių augalų, medžių ir žolių. Laimei, daugumai alergiškų žiedadulkių žmonių eilė ateina tik tuo metu, kai žydi tam tikra padermė. Todėl žiedadulkių pavojaus signalas yra naudingas tik tuo atveju, jei į jį atsižvelgiama.

Žinoma, tai prasideda nuo patikimų duomenų, gautų aptikus žiedadulkes. Mūsų šaltinis yra Leideno universiteto medicinos centras, kurio plaučių ligų skyrius oro mėginius analizuoja kas savaitę. Tai yra tradicinis meistriškumas: oro mėginius sudaro septynios lipnios juostos juostos (po vieną kiekvienai darbo dienai), kurios tiriamos mikroskopu! Savaitės skaičiavimo rezultatai skelbiami LUMC svetainėje.

Natūralu, kad šis skaičius yra vietinis, o Leidene aptiktų žiedadulkių grūdų kiekis gali labai skirtis nuo Limburgo, tik keletą pavyzdžių. Nepaisant to, tai gerai nurodo ir eksperimentuodami su kiekiais, duomenis taip pat galima naudoti kitose vietose. Norėdami nustatyti, ar augalas viršija tam tikrą standartą, naudojame lentelės skaičius. Jei taip, užsidegs raudonas šviesos diodas ir el. Paštu bus išsiųstas įspėjimas. Jei reikšmė vėl nukris žemiau standarto, raudonas šviesos diodas užges ir pasirodys el. Laiškas, kuriame nurodoma, kad įspėjimas buvo panaikintas.

Aparatinė įranga

Aparatūros ir būsto atžvilgiu šis projektas išsiskiria paprastumu. Jums reikia tinklo adapterio, kompaktiško korpuso ir įtempimo, „NodeMCU“ modulio, dviejų šviesos diodų, dviejų rezistorių ir PCB, kad viskas būtų lituota. Todėl tai labai tinkama grandinė tiems, kurie tik pradeda lituoti.

Žalias šviesos diodas rodo, kad sistema veikia ir gali gauti duomenis iš šaltinio; raudonas šviesos diodas užsidega viršijus nustatytą žiedadulkių standartą pasirinktam augalui. Grandinę maitina paprastas 5 voltų tinklo adapteris, mažiausiai 1 amperas. Tai taip pat gali būti su USB jungtimi, tokiu atveju jums vis tiek reikia tinkamo USB laido. Visuma talpinama kompaktiškame plastikiniame korpuse, kuriam, žinoma, taip pat galite ką nors pasigaminti ar pakartotinai naudoti. Galiausiai, įtempimo reljefas neleidžia maitinimo kabelio ištraukti netyčinės jėgos atveju.

Įdiekite kūrimo aplinką

ESP modulį lengviausia programuoti naudojant „Arduino“ kūrimo aplinką (IDE). Galite atsisiųsti čia. Kadangi ši IDE pirmiausia nėra skirta šiam moduliui, turėsite įdiegti keletą papildomų būtinų komponentų. Spustelėkite Failas / nuostatos ir įveskite skirtuką Nustatymai Bitė Papildomi valdybos valdymo URL URL //arduino.esp8266.com/stable/package_esp8266com_index.json į. Pasirinkite dabar Ištekliai / valdyba: / valdybos valdymas ... ir įveskite esp. Dabar atkreipkite dėmesį: įdiekite programos pašto versijos 2.4.2 versiją dėl bibliotekos nesuderinamumo sendaimas.h su naujesnėmis versijomis. Versijai be pašto pasirinkite naujausią versiją.

Pasirinkite modulį per Įrankiai / plokštė / mazgas MCU 1.0 (ESP-12E modulis). Prijunkite ESP modulį per USB kabelį ir pasirinkite tinkamą „Arduino IDE“ prievadą (Įrankiai / vartai, pasirinkite didžiausią skaičių turintį com prievadą). Jei viskas pavyko, jūsų sąranka yra parengta pradėti programuoti.

Koreguokite kodą

Paruoštą programą galite atsisiųsti čia. Yra net du variantai: tiems, kurie yra patenkinti įspėjamuoju šviesos diodu ir nemano, kad reikia gauti el. Laišką, yra galimas nuimtas variantas. Tai sutaupys jums rūpesčių susikurti sąskaitą pašto paslaugų teikėjui. Atsisiųskite failą Žiedadulkės.zip ir ištraukite jį į bet kurį aplanką. Atidarykite failą žiedadulkės.ino versijai be pašto, arba pollenmail.ino versijai su pašto funkcija (dukart spustelėjus failą, jis automatiškai atsidaro „Arduino IDE“, taip pat žr. langelį „Įdiegti kūrimo aplinką“). Žemiau pateiktas paaiškinimas pagrįstas pašto variantu, nes logiškai tai yra versija, apie kurią galima pasakyti daugiausia.

Papildykite ssid ir Slaptažodis atitinkamai įveskite savo belaidžio tinklo pavadinimą ir slaptažodį. Naršyklėje atidarykite //sec.lumc.nl/pollenwebextern ir nustatykite norimų stebėti augalų eilių numerius. Pirmoji stulpelių pavadinimų eilutė neskaičiuojama, todėl Hazel yra 1 eilutė, Els yra 2 eilutė ir kt. Pavyzdžio kode pateikiamos labiausiai liūdnai pagarsėjusių augalų vertės. Patogiau juos pakeisti tomis, kurias norite stebėti. Įveskite kodą Flora [] atitinkami lentelės eilutės numeriai, atskirti kableliais ir slenkstis[] kiekvieno augalo vertė. Tai nustatyti yra eksperimento dalykas: esant 0 kiekvienam tam tikro augalo žiedadulkių grūdeliui kyla pavojaus signalas, o esant 100 - nemaža riba. Jei esate labai alergiškas alksnio žiedadulkėms ir mažiau beržo žiedadulkėms, pridėkite Flora [] vertybes {2, 8} ir su slenkstis[] pavyzdžiui, vertės {0, 20}. Įsitikinkite, kad skaičių skaičius yra vienodas abiejose eilutėse.

Atsisiųskite vieną iš dviejų paruoštų programų iš pcmweb.nl

Nustatykite pašto abonementą

Laiškams siųsti galite turėti pašto serverį. Galėtumėte jį įdiegti modulyje, tačiau beveik neabejotinai kils su tuo susijusių problemų. Šlamštas filtruoja nepasitikėjimą el. Paštu iš nežinomų šaltinių, o pranešimai, siunčiami tiesiai iš modulio, nepasieks daugumos gavėjų. Šią problemą galima apeiti naudojant paslaugų teikėją (nemokamai), pvz., „Mailjet“.

Eikite į www.mailjet.com ir sukurkite naują paskyrą spustelėdami Prisijunk nemokamai. Norėdami naudoti naują paskyrą, turite patvirtinti savo el. Pašto adresą spustelėdami mygtuką arba nuorodą patvirtinimo el. Laiške.

Prisijunkite prie „Mailjet“ ir spustelėkite viršuje Sandoris / SMTP. žemiau Įgaliojimai tu matai Vartotojo vardas ir Slaptažodis, abu reikalingi jūsų programoje. Nukopijuokite simbolių eilutę skiltyje „Vartotojas“ server_login vietoje VARTOTOJO VARDAS (tarp dvigubų kabučių). Žemiau esanti eilutė Slaptažodis ateina į eilę serverio slaptažodis vietoje SLAPTAŽODIS. Smtp serveris (in-v3.mailjet.com) ir uosto numerį (587) jau buvo įvesti. Užpildykite [email protected] Įveskite el. Pašto adresą, kurį naudojate savo „Mailjet“ paskyrai.

Laiškus galima siųsti ir per „Gmail“. Norėdami naudoti smtp serverį, turėsite sumažinti paskyros saugą. Spustelėkite savo paskyros piktogramą, tada spustelėkite „Google“ paskyros / saugos valdymas ir perjungti Prieiga per mažiau saugias programas į. Programoje naudojate savo siuntėjo adresą ir atitinkamą slaptažodį, smtp.gmail.com Bitė server_host ir vartai 465 Bitė server_port.

Kodo paaiškinimas

Kodas prasideda įterpiant dvi bibliotekas: ESP8266WiFi.h ir sendaimas.h. Pirmasis tvarko ryšį su belaidžiu tinklu ir tvarko žiniatinklio srautą. Šios programos dėka modulį galima prijungti prie tinklo keliomis kodo eilutėmis ir naudoti kaip interneto klientą. Antroji biblioteka kontroliuoja ryšį su pašto serveriu, leidžiant programai siųsti pranešimus.

Mes skelbiame kai kurias konstantas ir kintamuosius, iš kurių svarbiausi jau buvo aptarti aukščiau esančiose pastraipose. Apdorojant duomenis šviesos diodai išjungiami ir modulis prisijungia prie „WiFi“. Sėkmingai užsidegs žalias šviesos diodas.

Duomenų apdorojimas

Funkcija gauti informaciją () yra programos esmė. Čia gaunamas ir analizuojamas tinklalapis su lentele. Kintamasis perspėjimas apie žiedadulkes gauna vertę melagingas ir i gauna vertę 0. Tol, kol žiedadulkių įspėjimas yra klaidingas, tinklalapis skaitomas eilutė po eilutės ir žiūrimas arba eilutė vienu metu žiedadulkių iš viso pasitaiko joje. Tai yra paskutinis lentelės stulpelis, kuriame išvardyti visi augalo žiedadulkių grūdai, kurie buvo suskaičiuoti per praėjusią savaitę. Kintamas i yra padidintas vienu ir dabar turi vertę 1. Ši kilpa kilpa per lentelės eilutes. Kintamasis j yra deklaruojama ir suteikiama vertė 0. Tai yra antrosios kilpos, pašalinančios visus elementus, dalis Flora [] ir slenkstis[] būti baigtas.

Dabar elementai pašalinami iš eilės Flora [] po vieną, palyginti su i nustatyti, kurie augalai yra susiję. Joje teigiama flora [0] pirmajam elementui eilutėje, taigi, jei yra 1 narė (lentelėje lazdynas) šiame pavyzdyje, visos sąlygos buvo įvykdytos. Tada perskaitoma kita eilutė, kurioje yra skaičiai. Funkcija toInt () filtruoja tarpus ir kitas šiukšles, paliekant tik kintamosioms žiedadulkėms priskirtą skaičių. Jei šis skaičius yra didesnis už atitinkamą eilutės vertę slenkstis[] (šiuo atveju pirmoji toje eilutėje reikšmė) žiedadulkių pavojaus signalas išsijungia ir funkcija nustoja veikti. Jei ne, tada j padidėjo vienu ir šie elementai yra išjungti Flora [] ir slenkstis[] palyginti su i kol nebeliks elementų. Tada i padidintos viena, o iš lentelės nuskaitomos šios eilutės. Apdorojus visą lentelę, būsenos kintamieji duomenys bus teisingi ir užsidegs žalias šviesos diodas.

Aliarmas ar ne?

Funkcijos signalizacija () ir nėra žadintuvo () yra naudojami tik laiškams siųsti, pirmasis tai daro su nauju pavojaus signalu. Funkcija email.send () grąžina vertę tiesa atgal, jei siuntimas buvo sėkmingas ir vertė melagingas jei kas ne taip. Konstrukcija tam naudojo bandymus ir pateikia kintamąjį aliarmas išsiųstas statusas tiesa. Išvalius žadintuvą, funkcija tampa nėra žadintuvo () atliekamas tokiu pat būdu. Jei jis bus sėkmingas, jis gaus aliarmas išsiųstas statusas melagingas. Tai reiškia, kad el. Laiškas siunčiamas tik pasikeitus būsenai, neatsižvelgiant į tai, kaip dažnai atliekama ši funkcija.

Pažvelkite kas valandą

Nubėgus gauti informaciją () ši funkcija žiūri į kintamuosius perspėjimas apie žiedadulkes, duomenų per ir aliarmas išsiųstas. Jei pirmieji du yra teisingi, yra pavojaus signalas. Įsižiebs raudonas šviesos diodas ir, jei tai dar nepadaryta, bus išsiųstas aliarmo el. Paštas. Po to seka vienos valandos pertrauka. Turi duomenų per vertė tiesa ir žiedadulkių aliarmo vertė melagingas, tada nėra pavojaus signalo ir užgęsta raudonas šviesos diodas. Turi aliarmas išsiųstas vertė tiesa (išsiųstas aliarmo el. laiškas), tada e. laiškas apie aliarmo atšaukimą seka ir gaukite aliarmas išsiųstas statusas melagingas. Po to daroma vienos valandos pertrauka. Turi duomenų per statusas melagingas, gaunant duomenis kažkas ne taip. Užges žalias šviesos diodas, rodantis, kad sistema (laikinai) neveikia, o po to eina vienos valandos pauzė, po kurios kilpa () perkrauti.

Įkelkite ir išbandykite programinę įrangą

Jei byla pollen_mail.ino modifikuota „Arduino“ kūrimo aplinkoje, kaip norima, ir prijungtas „NodeMCU“ modulis, įkėlimas gali prasidėti. Norėdami patikrinti, ar jis veikia, galite laikinai pridėti augalą (ar medį), kurio lentelėje tuo metu tikrai yra žiedadulkių. Atidarykite nuoseklųjį monitorių naudodami „Ctrl“ + „Shift“ + M ir įkelkite programą naudodami „Ctrl“ + U.

Baigę įkelti, turėtumėte pamatyti, kaip modulis pirmiausia prisijungia prie belaidžio tinklo ir tada prie interneto serverio. Tada seka pirmasis įrenginys, taikoma ribinė vertė ir išmatuota vertė. Tada šių augalų vertės. Jei viena iš išmatuotų verčių viršija tam įrenginiui nustatytą ribą, pasirodo pranešimas Įspėjimas dėl žiedadulkių!, po kurio seka Laiškas išsiųstas su įspėjimu apie žiedadulkes. Jei visos vertės lieka žemiau nustatytų ribų, matysite tik Nėra pavojaus žiedadulkėms. Ar visa tai veikia iki šiol? Tada galite atjungti modulį.

Norėdami išbandyti, galite laikinai pridėti augalą, kurio lentelėje yra žiedadulkių

Paruošimas

Norėdami pradėti, išgręžkite tris skyles korpuse: dvi iš 5 milimetrų šviesos diodams ir vieną iš 10 milimetrų - įtempimui pašalinti. Jūs taip pat galite padaryti skylę mažesnę naudodami failą. Įdiekite įtempimo reljefą ir patikrinkite, ar šviesos diodai tinka. Klijuokite juos į korpusą superklijais. Taip pat lituokite laidus prie šviesos diodų, kad galėtumėte juos lituoti prie PCB.

Sukurkite grandinę

Kaip jau minėta, šio projekto techninė įranga yra ribota. „NodeMCU“ modulis, du rezistoriai ir varžto gnybtas dedami ant PCB. Norėdami pradėti, išgręžkite 5 milimetrų skylutes PCB kampuose, kad jos tilptų virš korpuso varžtų skylių.

Sumaniai dedant komponentus, jie gali būti tarpusavyje sujungti su lydmetaliu. Atminkite, kad (atsižvelgiant į plokštės juostas) modulis gali įstrigti korpuse ir yra tik nedaug atsargų! Todėl pirmiausia tęskite modulį ant PCB ir pažiūrėkite, ar jis tilps į korpusą. Tada pritvirtinkite modulį, šiek tiek išlenkdami kaiščius kiekviename kampe apačioje, pavyzdžiui, plokščiu atsuktuvo galu. Po to uždėkite rezistorius šalia kaiščių D5 ir D6 galiausiai varžto gnybtas kitoje modulio pusėje. Šiame pavyzdyje jis turi keturis ryšius, tačiau reikia tik dviejų. Rezistoriai ir varžto gnybtas taip pat geriausiai išlieka vietoje, jei šiek tiek sulenkiate kojas. Dabar nupjaukite visas kojas (įskaitant modulio kojas) maždaug dviejų milimetrų ilgiu su poromis užtrauktukų ir sulituokite sujungtinas dalis ir kaiščius. Taip pat lituokite keturis modulio kampinius kaiščius, iš kurių tik vienas bus prijungtas prie varžto gnybto. Patarimų dėl litavimo žr. Šiame išsamiame vadove.

Jungiasi

Apdaila dabar yra lengviau nei bet kada, nes dėka paruošto naudoti būsto viskas jau yra vietoje. Liko tik prijungti tinklo adapterį ir šviesos diodus. Norėdami pradėti, nupjaukite apvalų kištuką iš kabelio. Jei naudojate USB maitinimo adapterį, atjunkite „micro USB“ jungtį iš USB kabelio. Nuimkite atskirus laidus maždaug pusės centimetro ilgio ir galus. Jei turite multimetrą, galite patikrinti jungčių poliškumą (pliusą ir minusą). Jei jo neturite, galite patikrinti, ar ant (vieno) laido nėra atspaudo. Kitas variantas yra prijungti šviesos diodą su 220 omų rezistoriumi vienoje iš kojų. Prijunkite vieną iš adapterio laidų prie rezistoriaus, o kitą laidą - prie laisvos šviesos diodo kojos. Prie ilgosios šviesos diodo kojos prijungta viela yra pliusas. Pažymėkite šią laidą. Skarda dengtus galus įkiškite per įtempimo reljefą iš išorės ir pritvirtinkite juos PCB varžto gnybte, kai teigiamas laidas yra įjungtas. FIN ateina ir atsiranda minčių lenta BND.

Galiausiai prijunkite šviesos diodus su vielos gabalėliais, kurių galai yra konservuoti. Prijunkite abiejų šviesos diodų katodus (trumpas kojeles) BND, prijunkite žalios šviesos diodo anodą (ilgą koją) prie varžos prie kaiščio D5 o raudonos spalvos anodas vedė ant rezistoriaus D6.

Eksploatacijos pradžia

Grandinė ir programa jau išbandytos, todėl adapterį galima prijungti prie lizdo. Dabar nėra serijinio monitoriaus, todėl iš pradžių nieko nematysite. Žalias šviesos diodas turėtų užsidegti per kelias sekundes. Jei ne po minutės, tikriausiai kyla problemų dėl „Wi-Fi“ ir turėsite perkelti grandinę šiek tiek arčiau prieigos taško.

Jei viršijamas kode nurodytas žiedadulkių standartas, taip pat užsidegs raudonas šviesos diodas ir gausite įspėjamąjį el. Laišką. Nors programa duomenis renka kas valandą, gera suvokti, kad kol kas LUMC juos atnaujina tik kartą per savaitę (antradienio popietę). Kitomis dienomis statusas lieka nepakitęs, deja, tai nesiskiria. Jau vien dėl šios priežasties, patartina, kad slenkstis nebūtų per didelis, kad laiku gautumėte įspėjimą.

Tikėkimės, kad bus mažai žiedadulkių metų su keletu el. Laiškų!

$config[zx-auto] not found$config[zx-overlay] not found