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: ČAJ koji zaustavlja ALERGIJE! Uklanja curenje iz nosa, svrbež očiju, kašalj... 2024, Juli
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 stanicu. Moj je zasnovan na ESP8266,.96”OLED ekranu i BME280 nizu senzora okoliša. Čini se da su meteorološke stanice 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 pritiska zraka. Takođe koristi I2C interfejs..96”OLED ekran koji se koristi je takođe I2C. Može se kupiti kao I2C ili SPI ili oboje. Otišao sam s verzijom I2C kako bih pojednostavio ožičenje. I s OLED zaslonom i s BME280 koristeći I2C i 3.3V bilo je vrlo lako napraviti ‘Y’ kabel za povezivanje oba uređaja na ESP8266. Prilikom razvoja ovog projekta naišao sam na više projekata meteoroloških stanica na internetu koji koriste ESP8266, isti OLED ekran i BME280. Dakle, ovo nije originalna ideja, ali je originalna implementacija.

BME280 pruža podatke iz okruženja. 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 nabaviti ključ OpenWeatherMap za upute o tome kako nabaviti ključ.

NTP poslužitelj vremena koristi se za dobijanje doba dana i dana u sedmici.

Podaci o vremenu, vremenu i okruženju prikazuju se na OLED ekranu. Svaki podatak ima vlastiti formatirani ekran. 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 pet sekundi. Font koji se koristi na svakom ekranu automatski se prilagođava tako da prikazuje sve informacije najvećim mogućim fontom.

ESP8266 je takođe podešen da bude veb server. Svim vremenskim podacima možete pristupiti pomoću preglednika sa svog telefona, tableta ili računara. Jedan od prikazanih ekrana prikazuje IP adresu web servera.

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 NodeMCU sklop za automatsko resetiranje. 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 druga kola. Napravio sam i jedan koristeći Witty Cloud ESP8266. Omogućilo mi je da sve spakujem u kocku od 1,5 inča. Donja USB premosna ploča je isključena nakon programiranja. Dodao sam pin zaglavlja pod pravim uglom u rupu od 3.3V na Witty ploči. Oprez je napravljen sa dvije četiri iglene školjke, jednom dvoigličnom školjkom i dvije jednom iglenom školjkom.

Na gornjoj fotografiji ploča na koju je priključen modul ESP8266 je tiskana ploča koju sam razvio kao zaštitnu ploču za ESP8266 i ESP32. Prihvatit će NodeMCU ploče uskog kućišta ESP8266, ploču Witty Cloud ESP8266 ili ESP32 ploču iz GEEKCREIT -a. 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 kada ž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 trobojnu LED diodu. Džemperi se mogu koristiti za spajanje na bilo koju od ovih funkcija. Ako ste zainteresirani za jednu od ovih ESPxx ploča za razbijanje, kontaktirajte me.

Korak 1: Šta će vam trebati:

Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati

1 - BME280 I2C ploča osjetnika temperature, vlažnosti i pritiska

Ja sam svoj kupio na Ebayu iz Kine za oko 1,25 USD uz besplatnu dostavu. Dostupno i na Adafruit -u ili Sparkfun -u

1 -.96”, 128x64, I2C OLED ekran koristeći SSD1306 upravljački program

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

1-NodeMCU ESP8266-12 sa CH340

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

2 - DuPont 4 -polne, 0,15 -inčne (2,54 mm) navojne ljuske

2 - DuPont 2 pin, 0,14 inča (2,54 mm) koraka

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

Ja svoje dobivam na Ebayu. Možete koristiti i Molex ili bilo koju drugu marku koja vam se više sviđa. Presovane 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 jedan sa mikro USB konektorom ili bilo čime drugim sa vašom ESP8266 pločom.

Trebat će vam i osam komada 22-28 awg žice za povezivanje svega. Ili možete sve spojiti žicom na komad perf ploče. O tebi ovisi.

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

Slijedite ovu vezu da biste preuzeli datoteke izvornog koda iz spremišta GitHub; ESP8266-Vremenska stanica. 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 formatu imaju približno iste podatke kao i ove upute.

Korak 2: 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. Evo veze do videa o tome kako koristiti inženjerske krimpele sa DuPont presovima; Kako koristiti krimpe PA-21

Instructables je nedavno imao odličan 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 ekran i niz senzora BME280 imaju isti pinout. To znači da su dvije četiri iglene žice 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. Ili će upaliti.

  1. Odrežite sve svoje žice po dužini. 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 presavijanje na jednom kraju, skinite sve žice oko 0,2 inča.
  5. Uvijte niti dvije žice iste boje zajedno.
  6. Kad se uvije, podrežite na otprilike 0,1 inča i dodajte ženski presavijač.
  7. Kada su svi parovi žica presavijeni, vrijeme je da umetnete uvijene krajeve u ljuske.
  8. Dvije četiri igle su napunjene, slijeva nadesno, crvenom, crnom, žutom, zelenom ili 3,3 V, Gnd, SCL, SDA.
  9. Jedna od dvije igle ima crvene i crne žice.
  10. Druga dva pin pin -a dobijaju žute i zelene žice.

Korak 4: Savjet:

Savjet
Savjet
Savjet
Savjet
Savjet
Savjet

Otkrio sam da kad koristim 28 awg žica sa presovanim iglama, one mogu otpasti. Ono što radim da to spriječim je da ogolim kraj žice dvaput duže od uobičajenog. Uvijte izložene žice zajedno. Zatim presavijte uvijenu žicu 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 za kućište u OLED ekran 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 sa vaših OLED i BME280 ploča. Uvjerite se da je crvena žica spojena na 3V3 pin.
  4. Priključite žuto/zelenu dvopolnu ljusku 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 nabaviti ključ OpenWeatherMap

Kako nabaviti ključ OpenWeatherMap
Kako nabaviti ključ OpenWeatherMap

Za pristup trenutnoj vremenskoj informaciji potreban vam je API ključ za pristup web stranici OpenWeatherMap.org. 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 OpenWeatherMap ključ, nabaviti API ključ

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

Kliknite na Get APIkey and Start u koloni Besplatno.

Korak 9: Kako do ključa OpenWeatherMap, registracija

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

Kliknite na dugme Prijava pod Kako dobiti API ključ (APPID).

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

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

Popunite sva polja. Kada završite, označite polje Slažem se sa Uslovima usluge i Politikom privatnosti. Zatim kliknite na dugme Kreiraj nalog.

Potražite poruku e -pošte na OpenWeatherMap.org. E -pošta će imati vaš API ključ. Morat ćete kopirati API ključ u izvorni kod meteorološke stanice 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 informacije 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: Dodatak ESP8266 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 su se umorili 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 zasnovanih na CH340 baziranim na USB-u kako bih izbjegao kupovinu ploča koje mogu, ali i ne moraju raditi. U svakom slučaju morat ćete pronaći i instalirati odgovarajući upravljački program za čip bridža koji se koristi na vašoj ploči. Ovo je veza do službene stranice za upravljačke programe CH340; CH341SER_EXE.

ESP8266 nema namenski I2C hardver. Svi I2C upravljački programi za ESP8266 zasnovani su na bit-banging-u. Jedna od boljih ESP8266 I2C biblioteka je biblioteka brzo_I2C. Napisano je na asemblerskom jeziku za ESP8266 kako bi bilo što brže. Biblioteka OLED ekrana koju koristim koristi brzo_I2C biblioteku. Dodao sam kôd za pristup nizu senzora BME280 pomoću biblioteke brzo_I2C.

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

Biblioteku brzo_I2C možete nabaviti ovdje: Brzo_I2C biblioteka.

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 biblioteke.

Savjet: Nakon što instalirate paket ploča ESP8266 i biblioteke, zatvorite Arduino IDE i ponovo ga otvorite. Ovo će osigurati da se ploče i biblioteke ESP8266 pojave u IDE -u.

Korak 12: Odaberite svoju ploču:

Odaberite svoj odbor
Odaberite svoj odbor

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

Kliknite na "Alati" na gornjoj traci menija. Pomaknite se prema dolje na padajućem izborniku do mjesta gdje piše "Board:". Pređite do padajućeg menija "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 menija. Pomaknite se prema dolje na padajućem izborniku do mjesta na kojem piše "Port". Odaberite port koji odgovara vašem računaru. Ako se vaš port ne prikazuje, ili vaša ploča nije priključena ili niste učitali upravljački program za svoj bridge čip 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 da biste dobili izvorni kod; ESP8266-Vremenska stanica.

Datoteke WeatherStation.ino i BME280.h moraju biti u istoj mapi. Naziv mape mora odgovarati imenu.ino datoteke (bez.ino nastavka). Ovo je Arduino zahtjev.

Korak 15: Uredite WeatherStation.ino

Kliknite na "Datoteka" na gornjoj traci menija. 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šaj ponovo.

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

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

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

Zamijenite "yourssid" sa SSID vaše 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 za sljedeće;

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

const char* owmkey = "vaš ključ"; const char* owmzip = "yourzip, država";

Zamijenite "vaš ključ" ključem dobivenim sa 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 neobrađeno vrijeme je u sekundama od 1970. Za prilagođavanje vremenskih zona 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 grupa naredbi #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 server 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" sa "0" u sljedećem retku;

#define DST 1 // postavite na 0 da onemogućite ljetno računanje vremena

Kada je omogućeno, ljetno računanje vremena će automatski premašiti ili usporiti vrijeme za jedan sat kada je to prikladno.

Korak 16: Postavite kôd na svoj ESP8266

Otpremite kôd na svoj ESP8266
Otpremite kôd na svoj ESP8266

Kliknite na kružnu ikonu strelice okrenutu desno koja se nalazi odmah ispod "Uredi" na gornjoj traci menija. Ovo će sastaviti kôd i postaviti ga na vašu ploču. Ako se sve pravilno kompilira i učitava, nakon nekoliko sekundi OLED zaslon bi trebao zasvijetliti i prikazati se poruka za povezivanje.

Korak 17: Kako pregledati web lokaciju sa vremenskim podacima

Kako pregledati web lokaciju sa vremenskim podacima
Kako pregledati web lokaciju sa vremenskim podacima

Gornja slika prikazuje web stranicu koju služi meteorološka stanica. Možete mu pristupiti sa računara, telefona ili tableta. Jednostavno otvorite preglednik i upišite IP adresu meteorološke stanice kao URL. IP adresa meteorološke stanice prikazana je na jednom od ekrana meteorološke stanice. Kliknite Osvježi stranicu da biste ažurirali informacije.

Korak 18: Čestitamo, gotovi ste

To je to. Sada biste trebali imati radnu meteorološku stanicu. Vaš sljedeći korak mogao bi biti dizajniranje i izrada kućišta za smještaj vaše meteorološke stanice. Ili možda želite dodati još nekoliko ekrana kako biste prikazali hladnoću vjetra, tačku rose, vrijeme izlaska ili zalaska sunca ili grafikon promjena barometrijskog pritiska ili predvidjeli vrijeme koristeći barometarski pritisak. Zabavite se i uživajte.

Preporučuje se: