Sadržaj:

Još jedna meteorološka stanica (Y.A.W.S.): 18 koraka (sa slikama)
Još jedna meteorološka stanica (Y.A.W.S.): 18 koraka (sa slikama)

Video: Još jedna meteorološka stanica (Y.A.W.S.): 18 koraka (sa slikama)

Video: Još jedna meteorološka stanica (Y.A.W.S.): 18 koraka (sa slikama)
Video: I Went to a RUSSIAN WHISKEY & SPIRITS FAIR: Spiritory 2023 2024, Srpanj
Anonim
Još jedna meteorološka stanica (Y. A. W. S.)
Još jedna meteorološka stanica (Y. A. W. S.)

Ovaj projekt je moj osvrt na uvijek popularnu meteorološku postaju. Moj se temelji na ESP8266,.96”OLED zaslonu i nizu senzora okoliša BME280. Čini se da su meteorološke postaje vrlo popularan projekt. Moj se razlikuje od ostalih korištenjem niza senzora BME280 umjesto popularnog senzora temperature i vlažnosti DHT22. BME280 ima senzor temperature, vlažnosti i tlaka zraka. Također koristi I2C sučelje..96”OLED zaslon koji se koristi također je I2C. Može se kupiti kao I2C ili SPI ili oboje. Otišao sam s verzijom I2C kako bih pojednostavio ožičenje. S OLED zaslonom i BME280 pomoću I2C i 3,3 V bilo je vrlo jednostavno napraviti "Y" kabel za spajanje oba uređaja na ESP8266. Tijekom razvoja ovog projekta naišao sam na više projekata meteoroloških stanica na internetu koji koriste ESP8266, isti OLED zaslon i BME280. Dakle, ovo nije izvorna ideja, ali je izvorna implementacija.

BME280 pruža unutarnje podatke o okolišu. Vanjske vremenske informacije dobivaju se s OpenWeatherMap.org. Morat ćete se prijaviti na OpenWeatherMap.org da biste dobili ključ za pristup vremenskim podacima. Nude besplatnu uslugu, što sam i ja koristio. Pogledajte korak Kako dobiti ključ OpenWeatherMap za upute o tome kako dobiti ključ.

NTP poslužitelj vremena koristi se za dobivanje doba dana i dana u tjednu.

Podaci o vremenu, vremenu i okolišu prikazuju se na OLED zaslonu. Svaki podatak ima vlastiti formatirani zaslon. Zasloni se prikazuju pet sekundi prije prelaska na drugi. OpenWeatherMap.org pristupa se svakih petnaest minuta radi osvježavanja vremenskih podataka. BME280 se čita otprilike svakih pedeset i pet sekundi. Font koji se koristi na svakom zaslonu automatski se prilagođava tako da prikazuje sve informacije najvećim mogućim fontom.

ESP8266 je također postavljen za web poslužitelj. Svim vremenskim podacima možete pristupiti pomoću preglednika s telefona, tableta ili računala. Jedan od prikazanih zaslona prikazuje IP adresu web poslužitelja.

ESP8266 dolazi u različitim oblicima i veličinama. Odabirem GEEKCREIT DoIt ESP12E Dev Kit V2. Ovaj je potpuno kompatibilan sa „standardom“NodeMCU za samostalne module ESP8266. Ima integrirani regulator od 3,3 V, CH340 kao USB-na-serijski most i sklop za automatsko resetiranje NodeMCU. Možete koristiti bilo koji ESP8266-12 modul koji imate. Samo imajte na umu da ćete za programiranje možda morati dodati regulator od 3,3 V ili druge krugove. Također sam napravio jedan koristeći Witty Cloud ESP8266. To mi je omogućilo da sve spakiram u kocku od 1,5 inča. Donja USB premosna ploča odspojena je nakon programiranja. Dodao sam pin zaglavlja pod pravim kutom u rupu od 3,3 V na Witty ploči. Oprez je napravljen s dvije četiri iglene školjke, jednom s dvije igle i dvije s jednom iglom.

Na gornjoj fotografiji ploča na koju je priključen modul ESP8266 je tiskana ploča koju sam razvio kao probojnu ploču za ESP8266 i ESP32. Prihvatit će ploče kompatibilne s NodeMCU ESP8266, uske ploče ESP8266 ili ploče ESP32 tvrtke GEEKCREIT. Svi dostupni GPIO pinovi raščlanjeni su na zaglavlja radi lakšeg pristupa. Otkrio sam da većina razvojnih ploča nikada nema dovoljno napajanja i uzemljenja. Svaki put kad želite priključiti nešto, potreban vam je barem pin za uzemljenje, a najčešće pin za napajanje uređaja. Svaki red GPIO pinova prati pin za napajanje od 3,3 V i pin za uzemljenje. Koristim isti raspored koji koristi First Robotics, snaga u sredini. Sviđa mi se ovaj raspored jer ako uključite nešto unatrag, ne oslobađate čarobni dim. Ploča ima nekoliko dodataka, IC senzor, prekidač i LED u tri boje. Džemperi se mogu koristiti za povezivanje s bilo kojom od ovih značajki. Ako ste zainteresirani za jednu od ovih ESPxx ploča za razbijanje, kontaktirajte me.

Korak 1: Ono što će vam trebati:

Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati

1 - Ploča osjetnika temperature, vlažnosti i tlaka BME280 I2C

Ja sam svoj kupio na Ebayu iz Kine za oko 1,25 USD uz besplatnu dostavu. Također dostupno na Adafruit ili Sparkfun

1 -.96”, 128x64, I2C OLED zaslon s upravljačkim programom SSD1306

Ja sam svoj kupio na Ebayu iz Kine za oko 4,00 USD. Moja je bijela. Možete pronaći plavo -bijelo s žutom površinom na vrhu. Neki se prodaju kao SPI i I2C. Možda ćete morati pomaknuti neke otpornike da biste odabrali I2C rad. Važan dio je da koristi upravljački čip SD1306. Također dostupno na Adafruit -u.

1-NodeMCU ESP8266-12 sa CH340

Možete koristiti bilo koji ESP8266-12 modul koji želite. Više volim one s CH340 USB-to-Serial mostom. Prije nekoliko godina došlo je do osipa lažnih FTDI i SI mostova pa ne vjerujem više ništa osim CH340.

2 - DuPont 4 -polne, 0,15 -inčne (2,54 mm) koračne školjke

2 - DuPont 2 -pinske, 0,15 -inčne (2,54 mm) koračne školjke

12-DuPont ženski presovi za 22-28 awg žicu

Ja svoje dobivam na Ebayu. Također možete koristiti Molex ili bilo koju drugu marku koju želite. Uvijene igle ili IDC Izbor je vaš. Pazite da kupite ispravne igle za svoje školjke. Oni se ne miješaju i ne podudaraju. Također možete samo lemiti žice na ploče i ukloniti konektore. Ako koristite presovane igle, trebat će vam presa. Ne pokušavajte presavijati kliještima. Ne radi.

1 - 5V, 1A minimalno zidno napajanje.

Oni su jeftini i dostupni na Ebayu. Nabavite onu s mikro USB priključkom ili bilo čime drugim što odgovara vašoj ploči ESP8266.

Također će vam trebati osam komada 22-28 awg žice za povezivanje svega. Ili možete sve to jednostavno spojiti žicom na komad perf ploče. Na tebi je.

Uključio sam sliku onoga što je korišteno za izgradnju meteorološke postaje pomoću Witty Cloud ESP8266. Jedna slika prikazuje gdje dodati pin zaglavlja pod pravim kutom na pickup 3.3V. Jedna od dvije iglene školjke zamjenjuje se s dvije jednoslojne. Uzemljene i žice od 3,3 V ugurane su u kućište s jednim pinom.

Slijedite ovu vezu za preuzimanje datoteka izvornog koda iz spremišta GitHub; ESP8266-Vremenska postaja. Zip mapa ili klonirana mapa imat će mapu WeatherStation koja sadrži WeatherStation.ino i BME280.h. Ovo su datoteke izvornog koda. Postoji i nekoliko pdf datoteka. Datoteke u pdf -u imaju približno iste podatke kao i ove upute.

2. korak: Alati:

Alati
Alati
Alati
Alati

Nakon što sam isprobao mnoge marke krimpera, otkrio sam da japanski inženjer PA-21 ili PA-09 najbolje funkcionira za DuPont muške i ženske krimpe. Dostupan je na Ebayu ili Amazonu. Oba će raditi za DuPont pinove. PA-09 će također raditi pinove za JST konektore koji se obično koriste na LiPo baterijama. Ovdje je veza na video zapis o tome kako koristiti inženjerske krimpele s DuPont prešama; Kako koristiti krimpe PA-21

Instructables je nedavno imao izvrstan vodič o korištenju krilca Weierli Tools SN-28B s DuPont iglama i školjkama. Možete ga pogledati ovdje; Svaki put napravite dobar Dupont Pin-Crimp!

Korak 3: Napravite pojaseve:

Napravite pojaseve
Napravite pojaseve
Napravite pojaseve
Napravite pojaseve

Ožičenje je ključ ovog projekta. To je osnovni četverožilni 'Y' kabel. Gore je slika remena koji sam napravio. OLED zaslon i niz senzora BME280 imaju isti pinout. To znači da su dvije četiri iglice identične nakon umetanja presavijenih žica. Napravio sam svoj uprtač s dvostrukim presovanim žicama koje ulaze u dvije dvije igle koje se pričvršćuju na ploču ESP8266. Umjesto toga, mogli ste odlučiti ugurati dvostruko uvijene žice u jednu od četiri igle, čineći je poput lančane veze tratinčice. Ili će uspjeti.

  1. Prerežite sve svoje žice po duljini. Volim koristiti različite boje za svaku žicu; crvena za 3.3V, crna za masu, žuta za SCL i zelena za SDA.
  2. Skinite jedan kraj svake žice oko 0,1 inča.
  3. Uvijte pramenove zajedno i dodajte ženski pregib.
  4. Nakon što sve žice imaju umotavanje na jednom kraju, skinite sve žice oko 0,2 inča.
  5. Uvijte niti dvije žice iste boje zajedno.
  6. Kad se zavrne, obrežite je na otprilike 0,1 inča i dodajte ženski presavijač.
  7. Kad su svi parovi žica presavijeni, vrijeme je da umetnete uvijene krajeve u ljuske.
  8. Dvije školjke sa četiri pina napunjene su, s lijeva na desno, crvenom, crnom, žutom, zelenom ili 3,3 V, Gnd, SCL, SDA.
  9. Jedna od dvije čahure dobiva crvenu i crnu žicu.
  10. Druga dva pin pin -a dobivaju žute i zelene žice.

Korak 4: Savjet:

Savjet
Savjet
Savjet
Savjet
Savjet
Savjet

Otkrio sam da kad koristim 28 awg žicu s presavijenim iglama, one mogu otpasti. Ono što činim da to spriječim je da ogolim kraj žice dvaput duže od uobičajenog. Uvijte izložene žice zajedno. Zatim presavijenu uvrnutu žicu preklopite da udvostruči debljinu. Kad ga presovam, žica je dovoljno debela da se čvrsto drži.

Korak 5: Povežite sve zajedno:

Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno
  1. Priključite četiri igle na OLED zaslon i ploče BME280.
  2. Poravnajte crvenu žicu s pinovima Vcc i 3V3.
  3. Priključite dvopolnu crvenu/crnu ljusku na par 3V3 (3.3V) i GND pinova na ploči ESP8266. Postoje tri mjesta na ploči na kojima se nalaze pinovi 3V3 i GND. Izbjegavajte Vin (5V) i GND igle jer će one osloboditi čarobni dim s vaših OLED i BME280 ploča. Provjerite je li crvena žica spojena na 3V3 pin.
  4. Priključite žuto/zelenu ljusku s dva pina na D1 i D2 na ploči ESP8266. Žuta žica (SCL) trebala bi biti na D1.

Dvaput provjerite svoje veze. Ako sve izgleda dobro, spremni ste za uključivanje ploče ESP8266.

Korak 6: Kako dobiti ključ OpenWeatherMap

Kako dobiti ključ OpenWeatherMap
Kako dobiti ključ OpenWeatherMap

Za pristup web stranici OpenWeatherMap.org potreban vam je API ključ za dobivanje trenutnih vremenskih podataka. Sljedećih nekoliko koraka detaljno opisuje kako se prijaviti putem OpenWeatherMap.org i dobiti API ključ.

Slijedite ovu vezu na OpenWeatherMap.org.

Kliknite na API pri sredini vrha web stranice.

Korak 7: Kako dobiti ključ OpenWeatherMap, pretplatite se

Kako dobiti ključ OpenWeatherMap, pretplatite se
Kako dobiti ključ OpenWeatherMap, pretplatite se

Na lijevoj strani, pod Trenutni vremenski podaci, kliknite gumb Pretplati se.

Korak 8: Kako nabaviti ključ OpenWeatherMap, nabaviti API ključ

Kako dobiti ključ OpenWeatherMap, nabaviti API ključ
Kako dobiti ključ OpenWeatherMap, nabaviti API ključ

Pritisnite Get APIkey and Start u stupcu Besplatno.

Korak 9: Kako dobiti ključ OpenWeatherMap, registracija

Kako dobiti ključ OpenWeatherMap, registracija
Kako dobiti ključ OpenWeatherMap, registracija

Pritisnite gumb za prijavu u odjeljku Kako dobiti API ključ (APPID).

Korak 10: Kako nabaviti ključ OpenWeatherMap, stvoriti račun

Kako dobiti ključ OpenWeatherMap, stvoriti račun
Kako dobiti ključ OpenWeatherMap, stvoriti račun

Ispunite sva polja. Kad završite, potvrdite okvir Slažem se s Uvjetima usluge i Politikom privatnosti. Zatim kliknite gumb Kreiraj račun.

Potražite poruku e -pošte na OpenWeatherMap.org. E -poruka će imati vaš API ključ. Morat ćete kopirati API ključ u izvorni kôd meteorološke postaje kako biste dobili trenutno vrijeme.

Besplatna usluga OpenWeatherMap.org ima neka ograničenja. Najvažnije je da mu ne možete pristupiti češće od jednom u deset minuta. To ne bi trebao biti problem jer se vrijeme ne mijenja tako brzo. Ostala ograničenja odnose se na raspoložive informacije. Bilo koja od plaćenih pretplata pružit će detaljnije podatke o vremenu.

Korak 11: Postavite Arduino IDE:

Postavite Arduino IDE
Postavite Arduino IDE

Razvoj programa obavljen je pomoću Arduino IDE verzije 1.8.0. Ovdje možete preuzeti najnoviji Arduino IDE; Arduino IDE. Arduino web mjesto ima izvrsne upute o tome kako instalirati i koristiti IDE. Podrška za ESP8266 može se instalirati u Arduino IDE slijedeći upute date na ovoj vezi: ESP8266 Addon za Arduino. Na web stranici kliknite gumb "Kloniraj ili preuzmi" i odaberite "Preuzmi Zip". Datoteka ReadMe.md ima upute kako dodati podršku ESP8266 u Arduino IDE. To je obična tekstualna datoteka koju možete otvoriti bilo kojim uređivačem teksta.

ESP8266 ploče dolaze u svim veličinama, oblicima i koriste različite USB-na-serijske mostove. Više volim ploče koje koriste CH340 bridge čip. Prije nekoliko godina FTDI, SI i drugi umorni su od jeftinih klonova koji su tvrdili da su njihovi dijelovi. Proizvođači čipova promijenili su šifru upravljačkog programa kako bi radili samo sa svojim originalnim dijelovima. To je rezultiralo velikom frustracijom jer su ljudi otkrili da mostovi USB-to-Serial više ne rade. Danas se samo držim mostova USB-to-Serial temeljenih na CH340 kako bih izbjegao kupnju ploča koje mogu, ali i ne moraju raditi. U svakom slučaju morat ćete pronaći i instalirati ispravan upravljački program za čip bridža koji se koristi na vašoj ploči. Ovo je veza na službenu stranicu za upravljačke programe CH340; CH341SER_EXE.

ESP8266 nema namjenski I2C hardver. Svi upravljački programi za I2C za ESP8266 temelje se na bitovanju. Jedna od boljih ESP8266 I2C knjižnica je knjižnica brzo_I2C. Napisano je na asemblerskom jeziku za ESP8266 kako bi bilo što brže. Biblioteka OLED zaslona koju koristim koristi biblioteku brzo_I2C. Dodao sam kôd za pristup nizu senzora BME280 pomoću knjižnice brzo_I2C.

OLED biblioteku možete nabaviti ovdje: ESP8288-OLED-SSD1306 Library.

Knjižnicu brzo_I2C možete nabaviti ovdje: Knjižnica Brzo_I2C.

Obje biblioteke bit će potrebno instalirati u vaš Arduino IDE. Arduino web mjesto ima upute o tome kako instalirati zip biblioteke u IDE ovdje: Kako instalirati Zip knjižnice.

Savjet: Nakon što instalirate paket ploča ESP8266 i knjižnice, zatvorite Arduino IDE i ponovno ga otvorite. To će osigurati da se ploče i knjižnice ESP8266 pojave u IDE -u.

Korak 12: Odaberite svoju ploču:

Odaberite svoju ploču
Odaberite svoju ploču

Otvorite Arduino IDE. Ako to još niste učinili, instalirajte dodatak ESP8266, knjižnicu brzo_i2c i knjižnicu upravljačkih programa OLED.

Kliknite na "Alati" na gornjoj traci izbornika. Pomaknite se prema dolje na padajućem izborniku do mjesta gdje piše "Board:". Prijeđite do padajućeg izbornika "Upravitelj odbora" i pomaknite se dolje do; "NodeMCU 1.0 (ESP-12E modul)". Kliknite na nju da biste je odabrali. Ostale ostale postavke ostavite na zadanu vrijednost.

Korak 13: Odaberite serijski port:

Odaberite serijski port
Odaberite serijski port

Kliknite na "Alati" na gornjoj traci izbornika. Pomaknite se prema dolje na padajućem izborniku do mjesta na kojem piše "Port". Odaberite port koji odgovara vašem računalu. Ako se vaš port ne prikazuje, vaša ploča nije priključena ili niste učitali upravljački program za svoj čip za most ili vaša ploča nije bila priključena kada ste otvorili Arduino IDE. Jednostavno rješenje je zatvaranje Arduino IDE-a, priključivanje ploče, učitavanje svih nedostajućih upravljačkih programa, a zatim ponovno otvaranje Arduino IDE-a.

Korak 14: WeatherStation.ino

Možete koristiti gornje gumbe za preuzimanje ili slijediti ovu vezu na GitHub kako biste dobili izvorni kod; ESP8266-Vremenska postaja.

Datoteke WeatherStation.ino i BME280.h moraju biti u istoj mapi. Naziv mape mora se podudarati s imenom.ino datoteke (bez nastavka.ino). Ovo je zahtjev za Arduino.

Korak 15: Uredite WeatherStation.ino

Kliknite na "Datoteka" na gornjoj traci izbornika. Kliknite na "Otvori". U dijaloškom okviru Otvaranje datoteke pronađite mapu WeatherStation i odaberite je. Trebali biste vidjeti dvije kartice, jednu za WeatherStation i jednu za BME280.h. Ako nemate obje kartice, otvorili ste pogrešnu mapu ili niste preuzeli obje datoteke ili ih niste spremili u ispravnu mapu. Pokušajte ponovno.

Morat ćete urediti datoteku WeatherStation.ino kako biste dodali SSID i lozinku za svoju WiFi mrežu. pogledajte oko retka 62 sljedeće:

// ovdje unesite SSID i lozinku za svoju WiFi mrežu

const char* ssid = "yourssid"; const char* lozinka = "lozinka";

Zamijenite "yourssid" sa SSID -om svoje WiFi mreže.

Zamijenite "lozinku" lozinkom za svoju WiFi mrežu.

Također ćete morati dodati ključ OpenWeatherMap i poštanski broj gdje živite. Pogledajte oko retka 66 sljedeće:

// ovdje stavite svoj ključ OpenWeatherMap.com i poštanski broj

const char* owmkey = "vaš ključ"; const char* owmzip = "yourzip, zemlja";

Zamijenite "svoj ključ" ključem dobivenim s OpenWeatherMap.org.

Zamijenite "yourzip, country" svojim poštanskim brojem i državom. Vaš poštanski broj treba pratiti zarez i vaša država ("10001, mi").

Zatim morate postaviti svoju vremensku zonu i omogućiti/onemogućiti ljetno računanje vremena (DST). Pogledajte oko retka 85 za sljedeće;

// Vraćeno sirovo vrijeme je u sekundama od 1970. Za prilagodbu vremenskim zonama oduzeti

// broj sekundi razlike za vašu vremensku zonu. Negativna vrijednost će // oduzeti vrijeme, pozitivna vrijednost će dodati vrijeme #define TZ_EASTERN -18000 // broj sekundi u pet sati #define TZ_CENTRAL -14400 // broj sekundi u četiri sata #define TZ_MOUTAIN -10800 // broj sekundi u tri sata #define TZ_PACIFIC -7200 // broj sekundi u dva sata

// Podesite vrijeme za svoju vremensku zonu promjenom TZ_EASTERN na jednu od drugih vrijednosti.

#define TIMEZONE TZ_EASTERN // promijenite ovo u svoju vremensku zonu

Postoji skupina izjava #define koje definiraju pomak vremena za različite vremenske zone. Ako postoji vaša vremenska zona, zamijenite "TZ_EASTERN" u definiciji "TIMEZONE". Ako vaša vremenska zona nije navedena, morat ćete je stvoriti. NTP poslužitelj daje vrijeme kao Greenwich Mean Time. Morate dodati ili oduzeti određeni broj sati (u sekundama) da biste stigli do lokalnog vremena. Samo kopirajte jednu od naredbi "#define TZ_XXX", a zatim promijenite naziv i broj sekundi. Zatim promijenite "TZ_EASTERN" u svoju novu vremensku zonu.

Također morate odlučiti koristiti li ljetno računanje vremena ili ne. Da biste onemogućili ljetno računanje vremena, zamijenite "1" s "0" u sljedećem retku;

#define DST 1 // postavljeno na 0 za onemogućavanje ljetnog računanja vremena

Kad je omogućeno, ljetno računanje vremena automatski će pomaknuti ili usporiti vrijeme za jedan sat kada je to prikladno.

Korak 16: Prenesite kôd na svoj ESP8266

Prenesite kôd na svoj ESP8266
Prenesite kôd na svoj ESP8266

Kliknite na kružnu ikonu strelice okrenutu desno koja se nalazi odmah ispod "Uredi" na gornjoj traci izbornika. Ovo će sastaviti kôd i prenijeti ga na vašu ploču. Ako se sve pravilno sastavi i prenese, nakon nekoliko sekundi OLED zaslon bi trebao zasvijetliti i prikazati se poruka o povezivanju.

Korak 17: Kako pregledati web stranicu s vremenskim podacima

Kako pregledati web stranicu s vremenskim podacima
Kako pregledati web stranicu s vremenskim podacima

Gornja slika prikazuje web stranicu koju poslužuje meteorološka stanica. Možete mu pristupiti putem računala, telefona ili tableta. Jednostavno otvorite preglednik i upišite IP adresu meteorološke postaje kao URL. IP adresa meteorološke postaje prikazana je na jednom od zaslona meteorološke postaje. Pritisnite Osvježi stranicu da biste ažurirali podatke.

Korak 18: Čestitamo, gotovi ste

To je to. Sada biste trebali imati meteorološku postaju koja radi. Vaš bi sljedeći korak mogao biti dizajn i izrada kućišta za smještaj vaše meteorološke postaje. Ili možda želite dodati još nekoliko zaslona za prikaz hladnoće vjetra, točke rosišta, vremena izlaska ili zalaska sunca ili grafikon promjena barometrijskog tlaka ili predvidjeti vrijeme pomoću barometrijskog tlaka. Zabavite se i uživajte.

Preporučeni: