Një tjetër stacion moti IoT: 8 hapa
Një tjetër stacion moti IoT: 8 hapa
Anonim
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT
Një tjetër stacion moti IoT

Më poshtë ishte një dhuratë për ditëlindjen për babanë tim; i frymëzuar nga një Udhëzues tjetër që pashë dhe fillimisht synova t'i provoja atij si një çantë vetë-ndërtimi. Sidoqoftë, kur fillova të punoja në këtë projekt me të, shumë shpejt kuptova se mësimi fillestar që frymëzoi dhuratën ishte i vjetëruar dhe se shumë nga mësimet e tjera në internet kishin boshllëqe të konsiderueshme në shpjegimet e tyre. Prandaj, vendosa të botoj edhe një stacion të motit IoT, i cili shpresojmë se do të jetë i lehtë për t'u ndjekur nga fillimi në fund.

Për më tepër, ky udhëzues ju tregon se si të përdorni Blynk, Google Sheets ose të dyja për të monitoruar dhe regjistruar leximet e sensorëve. Për më tepër, shënimet e Fletëve të Google shkruhen drejtpërdrejt në fletë (pa pasur nevojë të kaloni përmes një shërbimi të palëve të treta).

Lidhur me ekranin Stevenson, ka shumë në dispozicion në internet që mund të printohen 3D p.sh. https://www.thingiverse.com/thing:1718334. Unë do të ndërtoj mbi këtë për këtë Udhëzues.

Një ekran Stevenson është një "strehë instrumentesh është një strehë ose një mbyllje për instrumentet meteorologjike kundër reshjeve dhe rrezatimit të drejtpërdrejtë të nxehtësisë nga burimet e jashtme, duke lejuar akoma që ajri të qarkullojë lirshëm rreth tyre." (Wikipedia).

Pjesët

  • Wemos LolIn - NodeMCU v3 (1.43 USD)
  • BME280 (Sensori i temperaturës, presionit dhe lagështisë) (2.40 USD)
  • Panele Diellore 6V 1000mA (9.96 USD)
  • 5V 1A Micro USB 18650 Moduli i karikimit të baterisë litium të karikimit+Mbrojtja Funksionet e dyfishta TP4056 (0.99 USD)
  • Bateri 4x 1.2V NiMH të ringarkueshme
  • Mbajtës i baterisë (4x AA, krah për krah dhe nga fundi në fund)
  • Priza e lidhësit Micro USB Mashkull
  • Lidhjet e kabllove
  • 3x Arra krahu
  • Shkop ose shkop fshesë
  • Epoxy dhe/ose super-zam (në të ardhmen, silic mund të ketë punuar më mirë)

Softuer

  • Aplikacioni Blynk
  • Fletët Google (nëse dëshironi të keni qasje në të dhënat historike)
  • EasyEDA (për vizatimin skematik)
  • Arduino IDE

Mjetet

  • Makine per ngjitjen e metalit
  • Saldator
  • Tub i tkurrjes së nxehtësisë
  • Printer 3D
  • Armë ngjitëse

Hapi 1: Shtypja 3D - Ekrani Stevenson

Shtypja 3D - Ekrani Stevenson
Shtypja 3D - Ekrani Stevenson
Shtypja 3D - Ekrani Stevenson
Shtypja 3D - Ekrani Stevenson
Shtypja 3D - Ekrani Stevenson
Shtypja 3D - Ekrani Stevenson

Siç është përmendur tashmë, shkarkoni skedarët nga https://www.thingiverse.com/thing:1718334 dhe printoni pjesët e kërkuara. Udhëzimet e montimit gjenden gjithashtu në lidhjen e mësipërme. Unë vërtet bëra disa modifikime (shiko shënimet më poshtë).

Pjesët e shtypura janë:

  • Top_Cover_for_m3_tapping.stl
  • Unaza e Mesme.stl (x5)
  • Middle_Ring_bottom.stl (x1, STL bashkangjitur më lart)
  • Solid_Plate.stl (x1)
  • Solid_Plate_Base.stl (x1)
  • Pole_Mount_1in_Round.stl
  • Sensor_Grid.stl
  • Elektronikë_Mount.stl
  • My_Solar_Cell_Mount.stl (x2, STL bashkangjitur më lart)

Rendi i montimit është:

  • Vidhosni vrimat
  • Vidhosni shiritat M3 në bazat e filetuara
  • Mbulesa e sipërme
  • Pllakë e ngurtë
  • Unazat_ e Mesme
  • Rrëshqit në Sensor_Grid
  • Elektronikë_Mali
  • Pllaka e ngurtë_Poshtë
  • Mount_Pole
  • My_Solar_Cell_Mounts janë epoxied në krye të Top_Cover

Kam shpuar vrima në pllakat e ngurta për të lejuar që kablloja e karikimit nga Paneli Diellor të lidhet me ngarkuesin dhe më pas një për të lejuar që kablli të kalojë nga kontrolluesi në sensorin në Sensor_Grid.

Pasi të përfundojë, sensori u programua që të merrte leximet e mëposhtme çdo 60 minuta:

  • Temperatura
  • Lagështia
  • Presioni

Shënime

  • I personalizova montimet e qelizave diellore që të jenë më të përshtatshme për të mbajtur qelizën time diellore.
  • I instalova pajisjet elektronike midis Pole_Mount dhe Solid_Plate. Kjo nuk dukej se siguronte mbrojtje të mirë për pajisjet elektronike. Prandaj unë ndryshova në Solid_Plate në mënyrë që të kishte një skaj i cili më pas do të mbyllte hendekun dhe në këtë mënyrë do të siguronte mbrojtje më të mirë për pajisjet elektronike. Disa nga fotot e mësipërme janë marrë para se të bëja këtë ndryshim.
  • Epoksi im u ul duke mos mbajtur panelin diellor të cilin më pas e bashkova përsëri me super zam. Unë mendoj se do të zbres duke pasur nevojë të përdor silikon.

Hapi 2: Qarku

Qarku
Qarku
Qarku
Qarku

Lidhni qarkun siç tregohet në skemë, duke montuar LoLin dhe BME280 në rrjetën e printuar 3D siç tregohet në foto.

BME280 -> LiLon

  • VCC -> 3.3V
  • GND -> GND
  • SCL -> D1
  • SDA -> D2

LiLon -> LiLon

D0 -> RST (kjo është e nevojshme për të zgjuar kontrolluesin nga gjumi i thellë, por duhet të lidhet vetëm pasi kodi të jetë ngarkuar në kontrollues)

SHËNIM

Kisha sfida për të marrë një bateri të përshtatshme LiLon. Gjithashtu për disa arsye nuk kam pasur sukses në fuqizimin përmes VIN. Prandaj unë mundësova si më poshtë:

  • Dalja nga TP4056 u lidh me lidhësin Male USB i cili më pas u fut në prizën USB të bordit për ta fuqizuar atë.
  • B- dhe B+ në TP4056 ishte lidhur me mbajtësen e baterisë AA e cila mbante bateritë NiMH.

Hapi 3: IoT - Blynk

IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk

"Blynk është një platformë agnostike e IoT me harduer me aplikacione të personalizueshme për celularë, cloud privat, motor rregullash dhe pult të analizës së menaxhimit të pajisjeve". Në thelb, kjo ju lejon të menaxhoni dhe monitoroni me siguri sensorë të largët nga kudo në botë përmes internetit. Ndërsa një shërbim tregtar, secila llogari vjen me 2000 kredite falas. Kreditë ju mundësojnë të lidhni matës të ndryshëm, ekrane, njoftime etj me sensorin ose sensorët tuaj. Ndërsa çmimi i abonimit është jashtë kufirit të buxhetit të një hobiisti, kreditë falas janë të mjaftueshme për një projekt të thjeshtë si ky.

Për të filluar përdorimin e shërbimit, së pari do të duhet të shkarkoni Aplikacionin Blynk në telefonin/pajisjen tuaj, të krijoni dhe llogari (ose të regjistroheni me llogarinë ekzistuese) dhe më pas të krijoni një projekt të ri si më poshtë:

  • Zgjidhni pajisjen tuaj
  • Jepni një emër projektit tuaj (në këtë rast kam përdorur "Stacioni i motit".
  • Kliko "Krijo"
  • Ju pastaj merrni një kod autori me email për ju.

Nuk do të keni nevojë të shtoni widget -et e kërkuar. Me 2000 kreditet e mia falas shtova sa vijon:

  • 3 matësa
  • 1 Super Grafik

Matësit dhe tabelat u vendosën sipas fotove të bashkangjitura, secilit iu caktua kunja e tij virtuale që do të përdorej më vonë në kod.

Pasi të keni përfunduar me cilësimet, butoni i luajtjes në të djathtën e sipërme mund të shtypet për të filluar mbledhjen e datës.

Për më shumë informacion shikoni

docs.blynk.cc/#getting-started.

Hapi 4: Kodi - Përgatitja e Arduino IDE

Bibliotekat e mëposhtme do të duhet të shtohen në Arduino IDE për të përfunduar këtë projekt:

  • https://github.com/adafruit/Adafruit_BME280_Library (nevoja për sensorin e temperaturës, presionit dhe lagështisë)
  • https://github.com/adafruit/Adafruit_Sensor
  • https://github.com/esp8266/Arduino (kjo ju jep qasje në bordin ESP8266)
  • https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (biblioteka e Blynk)
  • https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (HTTPSRedikim i nevojshëm për t'u lidhur me Google Sheets)

Për udhëzime mbi instalimin e bibliotekave për Arduino IDE, vizitoni

Cilësimet e mia të harduerit janë si më poshtë:

  • Bordi: NodeMCU 1.0 (Moduli ESP-12E)
  • Shpejtësia e ngarkimit: 115200

Kur përdorni kodin e bashkangjitur në hapat e mëposhtëm, ju lutemi referojuni gjithmonë komenteve në kod në lidhje me shtimin e mëposhtëm:

  • SID Wifi
  • Fjalëkalimi Wifi
  • Çelësi i autorizimit të Blynk
  • ID e Skriptit të Google
  • Çelësi i ndarjes së Fletës Google

Hapi 5: Kodi - Blynk

Kam luftuar për shekuj për të vënë në funksion sensorin tim BME280 derisa gjeta një shembull që përmbante rreshtin e mëposhtëm.

statusi = bme.filloj (0x76); // Adresa I2C e sensorit që përdor është 0x76

Duket se më duhej të vendosja adresën e sensorit. Pasi e bëra këtë, gjithçka funksionoi mirë.

Blynk ka një ndërfaqe të bukur përdoruesi për celularin, megjithatë ka kufizimet e mëposhtme:

  • Vetëm 2000 kredite falas, projekte që kërkojnë më shumë se sa kërkojnë një abonim mujor të shtrenjtë (përveç nëse ju mbani dhe mirëmbani serverin tuaj Blynk).
  • Nëse nuk mbani serverin tuaj Blynk, nuk mund të eksportoni të dhëna historike.

Për arsyet e mësipërme unë shikova se si mund të integroja procesin e mbledhjes së të dhënave të mia në një Fletë Google. Kjo është e mbuluar në pjesën tjetër.

Hapi 6: Kodi - Fletët Google

Kodi - Fletët e Google
Kodi - Fletët e Google
Kodi - Fletët e Google
Kodi - Fletët e Google
Kodi - Fletët e Google
Kodi - Fletët e Google

Për të regjistruar leximet tuaja në mënyrë që të mund të analizoni të dhënat historike në një datë të mëvonshme, duhet t'i shkruani ato në një lloj baze të dhënash. Biblioteka HTTPSRedirect na lejon ta bëjmë këtë duke i shkruar të dhënat tona në një Fletë Google.

Kufizimet kryesore me këtë qasje janë si më poshtë:

  • Asnjë ndërfaqe e bukur e përdoruesit për celular
  • Një Fletë Google mund të ketë një maksimum prej 400 000 qelizash. Për këtë projekt kjo nuk është një çështje e madhe pasi do të duhen pak më shumë se 11 vjet para se të arrihet ky kufi.

Fleta e Google është konfiguruar si më poshtë.

Krijoni një Fletë Google me dy fletë.

Fleta 1: Të dhënat

Fleta e të dhënave ka nevojë për 4 kolona dmth Data/Ora, Temperatura, Lagështia, Presioni (kolonat A deri D). Formatoni kolonat në mënyrë të përshtatshme p.sh. Kolona A të jetë "Koha e datës" në mënyrë që data dhe koha të shfaqen në qeliza.

Fleta 2: Paneli i kontrollit

Krijoni fletën e Panelit sipas fotografive të bashkangjitura, duke futur formulat e listuara më poshtë:

  • B2: = counta (Të dhënat! B: B) -1
  • B3: = B1+KOHSORE (KONKATENOJ ("00:", Teksti (G7, "0")))
  • B6: = pyetje (Të dhëna! A2: D, "Zgjidhni rendin B sipas kufirit A të përshkrimit 1")
  • C6: = pyetje (Të dhënat! A2: D, "Zgjidhni rendin C sipas kufirit A të përshkrimit 1")
  • D6: = pyetje (Të dhëna! A2: D, "Zgjidhni rendin D sipas kufirit të përshkrimit 1")
  • B8: = pyetje (Të dhëna! A2: D, "Zgjidhni një porosi sipas B desc limit 1")
  • C8: = pyetje (Të dhënat! A2: D, "Zgjidhni një porosi sipas kufirit C desc 1")
  • D8: = pyetje (Të dhënat! A2: D, "Zgjidh një porosi sipas D desc limit 1")
  • B9: = pyetje (Të dhëna! A2: D, "Zgjidh rendin B sipas B desc limit 1")
  • C9: = pyetje (Të dhëna! A2: D, "Zgjidhni rendin C sipas kufirit C desc 1")
  • D9: = pyetje (Të dhënat! A2: D, "Zgjidhni rendin D sipas D desc limit 1")
  • B11: = pyetje (Të dhënat! A2: D, "Zgjidh A ku B nuk është rendi null sipas B asc limit 1")
  • C11: = pyetje (Të dhënat! A2: D, "Zgjidh A ku C nuk është rendi null sipas C asc limit 1")
  • D11: = pyetje (Të dhënat! A2: D, "Zgjidh A ku D nuk është rendi null sipas D asc limit 1")
  • B12: = pyetje (Të dhënat! A2: D, "Zgjidh B ku B nuk është rendi null sipas B asc limit 1")
  • C12: = pyetje (Të dhënat! A2: D, "Zgjidh C ku C nuk është rendi null sipas C asc limit 1")
  • D12: = pyetje (Të dhënat! A2: D, "Zgjidh D ku D nuk është rendi null sipas D asc limit 1")
  • G3: = 4+B2*4+29+17
  • G4: = (G2-G3)/G2
  • G6: = G2/4 G8: = G7*G6
  • G9: = (G8/60)/24
  • G10: = G9/365
  • G11: = ((((((G2-G3)/4)*G7)/60)/24/365)

Fletët Google mund të kenë një maksimum prej 400, 000 qelish. Kjo përdoret, së bashku me faktin se çdo lexim përdor 4 qeliza, për të llogaritur sa hapësirë ka mbetur dhe kur do të mbarojë.

Mund të jetë e mundur të përmirësohen këto formula. Unë po bëja dy gjëra këtu, domethënë mësova për formulën e pyetjes dhe më pas gjithashtu shkruaja disa formula në mënyrë të tillë që të më ndihmonte të kujtoja logjikën që qëndron pas tyre.

Pamja e ekranit "Redaktuesi i grafikut" tregon konfigurimin bazë për grafikun e Temperaturës. Grafikët e tjerë u krijuan duke përdorur të njëjtin konfigurim. Dallimi i vetëm midis grafikëve ishte vlerat minimale të boshtit vertikal (gjenden nën skedën e personalizuar). Skeda e personalizuar gjithashtu ka cilësimet e tjera si emrat e aksesit, titujt e grafikut, etj.

Ne tani kemi nevojë për një Script të Google që do të na lejojë të shkruajmë të dhënat tona duke thirrur një URL.

Krijimi i skenarit

Në URL -në e Fletës së Google, shënoni çelësin midis "d /" dhe " / edit". Ky është çelësi juaj -Fleta-Ndarëse-Google-i juaj- dhe do të jetë i nevojshëm në kodin më poshtë.

Tjetra shkoni te Tools> Script Editor dhe krijoni Google App Script, duke ngjitur kodin në skedarin GS të bashkangjitur. Përditëso var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit"); për të pasqyruar çelësin tuaj të ndarjes.

Tani publikoni skenarin duke shkuar te Publish> Deploy as Web App.

Kopjoni URL-në aktuale të aplikacionit në internet dhe ruajeni diku ashtu siç do t'ju nevojitet për nxjerrjen e GScriptID (-Your-Google-Script-ID–). GScriptID është vargu midis "s /" dhe " / exec?". Sigurohuni që "Çdokush, edhe anonim" të ketë qasje në aplikacion. Gjatë këtij procesi do t'ju kërkohet të jepni disa leje. Importantshtë e rëndësishme që t'i jepni këto.

Shënim: Sa herë që modifikoni kodin tuaj, duhet të krijoni një version të Projektit "të Ri" dhe ta publikoni atë, përndryshe do të vazhdoni të godisni të njëjtin kod të vjetër.

Tani mund ta provoni skriptin duke shfletuar në https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12. Sa herë që rifreskoni këtë lidhje, një hyrje e re duhet të shtohet në Fletën e Google.

Kjo më sipër është marrë nga tutoriali i mëposhtëm: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/. Ky tutorial është megjithatë i vjetëruar dhe kështu kodi i lidhur Arduino në seksionin tjetër është ndryshuar për të akomoduar bibliotekat më të fundit

Kodi Arduino

Shikoni kodin e bashkangjitur.

Hapi 7: Kodi - Blynk & Google Sheets

Për të marrë më të mirën nga të dy botët, mund të kombinoni kodin si për Blynk ashtu edhe për Google Sheets.

Shikoni kodin e bashkangjitur.

Hapi 8: Komentet përfundimtare

Komentet Përfundimtare
Komentet Përfundimtare
Komentet Përfundimtare
Komentet Përfundimtare

Asnjë nga sa më sipër nuk është ideja ime, por më tepër ky është një projekt i ndërtuar mbi idetë dhe punën e të tjerëve. Më ka pëlqyer ta tërheq krejt në një vend. duke përdorur teknologji dhe mjete të ndryshme për një projekt argëtues dhe praktik. Më pëlqeu veçanërisht të mësoja se si t'i ruaja leximet e mia në një Fletë Google. Për këtë dua të falënderoj ElectronicsGuy (Sujay Phadke).

Përditëso

Pas përfundimit të këtij projekti më duhej të ndryshoja cilësimet e mia pa tel. Tani po punoja në një kompjuter tjetër. Pas ngarkimit të ndryshimeve, projekti ndaloi së punuari. Pas disa problemeve unë arrita në përfundimin se funksioni i gjumit të thellë po dështonte. E mora projektin në shtëpi dhe e ngarkova atje (duke përdorur të njëjtin kod) dhe ai funksionoi. Prandaj kam arritur në përfundimin se diçka duhet të ketë ndryshuar në bibliotekat që shtova. Prandaj, i kam bashkangjitur kësaj pjese bibliotekat që janë aktualisht në kompjuterin tim në shtëpi; vetëm në rast se dikush tjetër has në këtë çështje.

Recommended: