Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
Järgmine oli minu isale sünnipäevakingitus; inspireeritud teisest Instructable'ist, mida ma nägin ja kavatsesin esialgu tõestada talle kui iseehituskomplekti. Kuid alustades koos temaga selle projekti kallal töötamist, mõistsin väga kiiresti, et esialgne õpetus, mis kingitust inspireeris, oli aegunud ja et paljude teiste veebipõhiste õpetuste selgitustes oli olulisi lünki. Seetõttu otsustasin avaldada veel ühe IoT ilmajaama, mida loodetavasti oleks lihtne järgida vormi algusest lõpuni.
Lisaks näitab see juhend, kuidas sensori näitude jälgimiseks ja salvestamiseks kasutada Blynkit, Google'i arvutustabeleid või mõlemat. Veelgi enam, Google'i arvutustabelite kirjed kirjutatakse otse lehele (ilma kolmanda osapoole teenuse kaudu).
Stevensoni ekraani osas on Internetis saadaval palju, mida saab 3D-printida nt. https://www.thingiverse.com/thing:1718334. Ma tugin selle juhendi jaoks sellele.
Stevensoni ekraan on "instrumentide varjualune on meteoroloogiliste instrumentide varjualune või ümbris sademete ja väliste allikate otsese soojuskiirguse eest, võimaldades samal ajal õhul nende ümber vabalt liikuda." (Vikipeedia).
Osad
- Wemos LolIn - NodeMCU v3 (1,43 USD)
- BME280 (temperatuuri-, rõhu- ja niiskusandur) (2,40 USD)
- 6V 1000mA päikesepaneel (9,96 USD)
- 5V 1A Micro USB 18650 liitiumaku laadimisplaadi laadija moodul+kaitse kahefunktsiooniga TP4056 (0,99 USD)
- 4x 1,2 V laetavad NiMH akud
- Akuhoidik (4x AA, kõrvuti ja otsast otsani)
- Micro USB -pistiku pistik
- Kaablisidemed
- 3x tiibmutrid
- Varras või luudapulk
- Epoksü ja/või superliim (tagantjärele mõeldes oleks räni paremini toiminud)
Tarkvara
- Blynk App
- Google'i arvutustabelid (kui soovite juurdepääsu ajaloolistele andmetele)
- EasyEDA (skeemi joonistamiseks)
- Arduino IDE
Tööriistad
- Jootekolb
- Jootma
- Termokahanevad torud
- 3D printer
- Liimipüstol
Samm: 3D -printimine - Stevensoni ekraan
Nagu juba mainitud, laadige failid alla aadressilt https://www.thingiverse.com/thing:1718334 ja printige vajalikud bitid. Paigaldusjuhised leiate ka ülaltoodud lingilt. Tegin mõned muudatused (vt märkusi allpool).
Trükitud osad on:
- Top_Cover_for_m3_tapping.stl
- Middle_Ring.stl (x5)
- Middle_Ring_bottom.stl (x1, STL ülal)
- Solid_Plate.stl (x1)
- Solid_Plate_Base.stl (x1)
- Pole_Mount_1in_Round.stl
- Sensor_Grid.stl
- Electronics_Mount.stl
- My_Solar_Cell_Mount.stl (x2, STL lisatud ülal)
Kokkupaneku järjekord on järgmine:
- Keerake augud
- Keerake M3 vardad keermestatud pistikupesadesse
- Top_Cover
- Solid_Plate
- Keskmised_rõngad
- Libistage Sensor_Grid
- Electronics_Mount
- Solid_Plate_Bottom
- Pole_Mount
- My_Solar_Cell_Mounts epoksitakse Top_Coveri ülaossa
Puurisin tahketesse plaatidesse augud, et päikesepaneelil olev laadimiskaabel saaks ühendada laadijaga ja seejärel üks, et kaabel saaks juhtida kontrollerist Sensor_Gridi andurini.
Pärast valmimist programmeeriti andur iga 60 minuti järel järgmisi näitu:
- Temperatuur
- Niiskus
- Rõhk
Märkused
- Kohandasin päikesepatareide aluseid, et need sobiksid paremini päikesepatarei hoidmiseks.
- Paigaldasin elektroonika Pole_Mount ja Solid_Plate vahele. See ei pakkunud elektroonikale head kaitset. Seetõttu muutsin Solid_Plate'i nii, et sellel oleks seelik, mis seejärel tühimiku sulgeks ja seeläbi elektroonikale paremat kaitset pakuks. Mõned ülaltoodud fotod on tehtud enne selle muudatuse tegemist.
- Minu epoksiid maandus ja ei hoidnud päikesepaneeli, mille seejärel superliimiga uuesti kinnitasin. Ma arvan, et ma pean räni kasutama.
2. samm: vooluring
Ühendage vooluring skeemil näidatud viisil, paigaldades LoLin ja BME280 3D-prinditud võrgule, nagu fotol näidatud.
BME280 -> LiLon
- VCC -> 3.3V
- GND -> GND
- SCL -> D1
- SDA -> D2
LiLon -> LiLon
D0 -> RST (seda on vaja kontrolleri äratamiseks sügavast unest, kuid see tuleb ühendada alles pärast koodi laadimist kontrollerile)
MÄRGE
Mul oli väljakutseid sobiva LiLoni aku hankimisel. Samuti ei õnnestunud mul millegipärast VIN -i kaudu toita. Seetõttu töötasin järgmiselt:
- Väljund TP4056 -st ühendati Male USB -pistikuga, mis seejärel ühendati plaadi toiteks USB -pesasse.
- TP4056 B- ja B+ ühendati AA patareihoidjaga, mis hoidis NiMH akusid.
3. samm: asjade internet - Blynk
"Blynk on riistvaraagnostiline IoT-platvorm, millel on kohandatavad mobiilirakendused, privaatne pilv, reeglite mootor ja seadmehalduse analüüside juhtpaneel." Põhimõtteliselt võimaldab see Interneti kaudu turvaliselt hallata ja jälgida kaugandureid kõikjalt maailmast. Kuigi kommertsteenus, sisaldab iga konto 2000 tasuta krediiti. Krediidid võimaldavad teil anduri või anduritega siduda erinevaid mõõtureid, kuvasid, märguandeid jne. Kuigi tellimuste hinnakujundus jääb harrastaja eelarve eelarvest välja, piisab tasuta krediitidest sellise lihtsa projekti jaoks nagu see.
Teenuse kasutamise alustamiseks peate esmalt oma telefoni/seadmesse alla laadima rakenduse Blynk, looma ja konto (või logima sisse olemasoleva kontoga) ning seejärel looma uue projekti järgmiselt.
- Valige oma riistvara
- Andke oma projektile nimi (antud juhul kasutasin "Ilmajaama").
- Klõpsake "Loo"
- Seejärel saate e-postiga autentimiskoodi.
Te ei pea vajalikke vidinaid lisama. Oma 2000 tasuta krediidiga lisasin järgmise:
- 3 näidikut
- 1 supergraafik
Mõõdikud ja diagrammid seadistati lisatud fotode järgi, igaühele määrati oma virtuaalne tihvt, mida koodis hiljem kasutatakse.
Kui seaded on tehtud, saab kuupäeva kogumise alustamiseks vajutada üleval paremal asuvat esitusnuppu.
Lisateavet vt
docs.blynk.cc/#getting-started.
Samm: kood - Arduino IDE ettevalmistamine
Selle projekti lõpuleviimiseks tuleb Arduino IDE -sse lisada järgmised teegid:
- https://github.com/adafruit/Adafruit_BME280_Library (temperatuuri, rõhu ja niiskuse anduri vajadus)
- https://github.com/adafruit/Adafruit_Sensor
- https://github.com/esp8266/Arduino (see annab teile juurdepääsu ESP8266 tahvlile)
- https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (Blynki raamatukogu)
- https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (Google'i arvutustabelitega ühenduse loomiseks on vaja
Arduino IDE raamatukogude installimise juhised leiate aadressilt
Minu riistvara seaded on järgmised:
- Tahvel: NodeMCU 1.0 (ESP-12E moodul)
- Üleslaadimiskiirus: 115200
Kui kasutate lisatud koodi järgmistes sammudes, vaadake alati koodi lisatud märkuste kohta järgmist.
- Wifi SID
- Wifi parool
- Blynk autoriseerimisvõti
- Google Scripti ID
- Google'i arvutustabeli jagamisvõti
5. samm: kood - Blynk
Ma võitlesin aastaid, et oma BME280 andur tööle saada, kuni leidsin näite, mis sisaldas järgmist rida.
staatus = bme.begin (0x76); // Minu kasutatava anduri I2C aadress on 0x76
Tundub, et mul oli vaja anduri aadress määrata. Kui olin seda teinud, töötas kõik hästi.
Blynkil on tõesti kena mobiilne kasutajaliides, kuid sellel on siiski järgmised piirangud:
- Ainult 2000 tasuta krediiti, projektid, mis nõuavad rohkem kui see, nõuavad kallist igakuist tellimust (kui te ei hostita ega halda oma Blynk -serverit).
- Kui te ei hostita oma Blynk -serverit, ei saa te ajaloolisi andmeid eksportida.
Ülaltoodud põhjustel vaatasin, kuidas saaksin oma andmete kogumise protsessi Google'i lehele integreerida. Seda käsitletakse järgmises osas.
6. toiming: kood - Google'i arvutustabelid
Näitude salvestamiseks, et saaksite hiljem ajaloolisi andmeid analüüsida, peate need kirjutama mingisse andmebaasi. Teek HTTPSRedirect võimaldab meil seda teha, kirjutades oma andmed Google'i lehele.
Selle lähenemisviisi peamised piirangud on järgmised:
- Puudub kena mobiilikasutaja liides
- Google'i arvutustabelis võib olla kuni 400 000 lahtrit. Selle projekti puhul pole see suur probleem, sest selle piiri saavutamiseks kulub veidi üle 11 aasta.
Google'i leht on seadistatud järgmiselt.
Looge kahe lehega Google'i leht.
Leht 1: Andmed
Andmeleht vajab 4 veergu, st kuupäev/kellaaeg, temperatuur, niiskus, rõhk (veerud A kuni D). Vormindage veerud sobivalt nt. Veerg A on "Kuupäeva aeg", nii et kuupäev ja kellaaeg kuvatakse lahtrites.
Leht 2: Armatuurlaud
Looge armatuurlaua leht lisatud fotode järgi, sisestades allpool loetletud valemid:
- B2: = loendus (andmed! B: B) -1
- B3: = B1+TIMEVALUE (CONCATENATE ("00:", tekst (G7, "0"))))
- B6: = päring (andmed! A2: D, "Vali B järjekord A desc limit 1" järgi)
- C6: = päring (andmed! A2: D, "Vali C järjekord A desc limit 1 järgi")
- D6: = päring (andmed! A2: D, "Vali D järjekord A desc limit 1 järgi")
- B8: = päring (andmed! A2: D, "Valige tellimus B -desc limit 1")
- C8: = päring (andmed! A2: D, "Valige tellimus C -desc limit 1 järgi")
- D8: = päring (andmed! A2: D, "Valige tellimus D -desc limit 1")
- B9: = päring (andmed! A2: D, "Vali B -järjekord B -desc limit 1")
- C9: = päring (andmed! A2: D, "Vali C -järjekord C -kirjelduse piirangu 1 järgi")
- D9: = päring (andmed! A2: D, "Vali D järjestus D -piirangu 1 järgi")
- B11: = päring (andmed! A2: D, "Valige A, kus B ei ole nulljärjestus B -ga asc limit 1")
- C11: = päring (andmed! A2: D, "Valige A, kus C ei ole nulljärjestus C asc limiidi 1 järgi")
- D11: = päring (andmed! A2: D, "Valige A, kus D ei ole nulljärjestus D asc limiidi 1 järgi")
- B12: = päring (andmed! A2: D, "Vali B, kus B ei ole nulljärjestus B asc limit 1 järgi")
- C12: = päring (andmed! A2: D, "Valige C, kus C ei ole nulljärjestus C asc limiidi 1 järgi")
- D12: = päring (andmed! A2: D, "Valige D, kus D ei ole nulljärjestus D asc limiidi 1 järgi")
- 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)
Google'i arvutustabelites võib olla kuni 400 000 lahtrit. Seda kasutatakse koos asjaoluga, et igal lugemisel kasutatakse 4 lahtrit, et arvutada, kui palju ruumi on alles ja millal see otsa saab.
Võimalik, et neid valemeid saab parandada. Ma tegin siin kahte asja, st õppisin päringuvalemit tundma ja kirjutasin seejärel ka mõne valemi nii, et see aitaks mul nende taga olevat loogikat meelde jätta.
"Diagrammiredaktori" ekraanipilt näitab temperatuuri graafiku põhiseadistusi. Teised graafikud loodi sama seadistust kasutades. Ainus erinevus graafikute vahel oli vertikaaltelje minimaalsed väärtused (leitavad vahekaardi kohandamine alt). Kohandamiskaardil on ka muud sätted, nagu juurdepääsunimed, graafiku pealkirjad jne.
Vajame nüüd Google'i skripti, mis võimaldab meil oma andmeid URL -i helistades kirjutada.
Skripti loomine
Märkige Google'i lehe lehe URL -i võti märkide „d /” ja „ / edit” vahele. See on teie-teie-Google'i-lehe jagamise võti-ja seda on vaja allolevas koodis.
Järgmisena avage Tööriistad> Skriptiredaktor ja looge Google App Script, kleepides koodi lisatud GS -faili. Värskendage var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit"); teie jagamisvõtme kajastamiseks.
Nüüd avaldage skript, minnes Avalda> Juuruta veebirakendusena.
Kopeerige praeguse veebirakenduse URL ja salvestage see kuhugi, nagu vajate GScriptID (-Your-Google-Script-ID–) ekstraheerimiseks. GScriptID on string "s /" ja " / exec?" Vahel. Veenduge, et rakendusel „Igaüks, isegi anonüümne” oleks juurdepääs rakendusele. Selle protsessi käigus palutakse teil anda mõned õigused. On oluline, et te neid annaksite.
Märkus. Kui muudate oma koodi, peate looma projekti uue versiooni ja selle avaldama, vastasel juhul tabate endiselt sama vana koodi.
Nüüd saate skripti testida, sirvides lehte https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12. Iga kord, kui seda linki värskendate, tuleb Google'i lehele lisada uus kirje.
See ülaltoodud on võetud järgmisest õpetusest: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/. See õpetus on aga aegunud ja seetõttu on järgmises jaotises seotud Arduino koodi muudetud, et see sobiks uusimate HTTPSRedirecti teekidega.
Arduino kood
Vaadake lisatud koodi.
7. samm: kood - Blynk ja Google'i arvutustabelid
Mõlema maailma parimate võimaluste saamiseks võite kombineerida nii Blynk kui ka Google'i arvutustabelite koodi.
Vaadake lisatud koodi.
8. samm: viimased kommentaarid
Ükski ülaltoodutest ei ole minu ideed, vaid pigem projekt, mis põhineb teiste ideedel ja tööl. Mulle on meeldinud see ühte kohta kokku tõmmata. kasutades erinevaid tehnoloogiaid ja tööriistu suurepärase lõbusa ja praktilise projekti jaoks. Eriti meeldis mulle õppida, kuidas oma näiteid Google'i arvutustabelisse salvestada. Selle eest soovin tänada ElectronicsGuyt (Sujay Phadke).
Värskenda
Pärast selle projekti lõpetamist pidin muutma oma traadita ühenduse seadeid. Töötasin nüüd teise arvuti kallal. Pärast muudatuste üleslaadimist lakkas projekt töötamast. Pärast mõningaid tõrkeotsinguid jõudsin järeldusele, et sügava une funktsioon ei tööta. Ma viisin projekti koju tagasi ja laadisin selle sinna (sama koodi kasutades) ja see töötas. Seetõttu olen jõudnud järeldusele, et minu lisatud raamatukogudes peab midagi muutunud olema. Seepärast lisasin käesolevasse jaotisse raamatukogud, mis on praegu minu koduarvutis; juhuks, kui keegi teine selle probleemiga kokku puutub.
Soovitan:
Teine enamasti 3D -trükitud pöördlüliti: 7 sammu (piltidega)
Teine enamasti 3D -trükitud pöördlüliti: mõni aeg tagasi lõin peamiselt 3D -trükitud pöördlüliti spetsiaalselt oma Minivac 601 Replica projekti jaoks. Oma uue Think-a-Tron 2020 projekti jaoks vajan veel ühte pöördlülitit. Otsin paneeli paigalduslülitit SP5T. Lisand
Huvitavad programmeerimisjuhised disainerile-pildistage (teine osa): 8 sammu
Huvitavad programmeerimisjuhised disainerile-pange oma pilt jooksma (teine osa): matemaatika tundub enamiku jaoks kasutu. Meie igapäevaelus kasutatakse kõige sagedamini lihtsalt liitmist, lahutamist, korrutamist ja jagamist. See on aga hoopis teistsugune, kui saate programmiga luua. Mida rohkem teate, seda imelisema tulemuse saate
Makrode teine klaviatuur: 3 sammu
Teine klaviatuur makrode jaoks: kui teil on varuklaviatuur või numbriklahv. Saate seda kasutada makroklaviatuurina. Näiteks klahvi vajutamisel toimub eelprogrammeeritud ülesanne. Näiteks käivitatakse rakendus või käivitatakse automaatse võtme skript
NaTaLia ilmajaam: Arduino päikeseenergial töötav ilmajaam on õigesti tehtud: 8 sammu (piltidega)
NaTaLia ilmajaam: Arduino päikeseenergial töötav ilmajaam on õigesti tehtud: pärast 1 -aastast edukat tegutsemist kahes erinevas kohas jagan oma päikeseenergiaga töötavate ilmajaamade projektiplaane ja selgitan, kuidas see arenes süsteemiks, mis võib pika aja jooksul tõesti ellu jääda perioodid päikeseenergiast. Kui järgite
JAWS: Lihtsalt teine ilmajaam: 6 sammu
JAWS: Lihtsalt teine ilmajaam: mis on selle eesmärk? Alates nooremast aastast olen ilmast väga huvitatud. Esimesed andmed, mille ma kogusin, olid vanast elavhõbedat täis termomeetrist, mis rippus väljas. Kirjutasin iga päev mitu kuud järjest temperatuuri, kuupäeva ja tunni