Kazalo:

Še ena vremenska postaja (Y.A.W.S.): 18 korakov (s slikami)
Še ena vremenska postaja (Y.A.W.S.): 18 korakov (s slikami)

Video: Še ena vremenska postaja (Y.A.W.S.): 18 korakov (s slikami)

Video: Še ena vremenska postaja (Y.A.W.S.): 18 korakov (s slikami)
Video: Свобода от аллергии 2024, Julij
Anonim
Še ena vremenska postaja (Y. A. W. S.)
Še ena vremenska postaja (Y. A. W. S.)

Ta projekt je moj pogled na vedno priljubljeno vremensko postajo. Moj temelji na ESP8266,.96 -palčnem OLED -zaslonu in nizu okoljskih senzorjev BME280. Zdi se, da so vremenske postaje zelo priljubljen projekt. Moj se razlikuje od drugih z uporabo niza senzorjev BME280 namesto priljubljenega senzorja temperature in vlažnosti DHT22. BME280 ima senzor temperature, vlažnosti in zračnega tlaka. Uporablja tudi vmesnik I2C..96 -palčni OLED zaslon je tudi I2C. Lahko ga kupite kot I2C ali SPI ali oboje. Za poenostavitev ožičenja sem šel z različico I2C. Z zaslonom OLED in BME280 z I2C in 3.3V je bilo zelo enostavno narediti kabel „Y“za povezavo obeh naprav z ESP8266. Pri razvoju tega projekta sem na internetu naletel na več projektov vremenskih postaj, ki uporabljajo ESP8266, isti zaslon OLED in BME280. Torej to ni izvirna ideja, ampak je izvirna izvedba.

BME280 zagotavlja notranje podatke o okolju. Zunanje vremenske informacije dobite na spletnem mestu OpenWeatherMap.org. Če želite dobiti ključ za dostop do vremenskih podatkov, se morate prijaviti z OpenWeatherMap.org. Ponujajo brezplačno storitev, kar sem uporabil. Za navodila, kako pridobiti ključ, glejte korak Kako do ključa OpenWeatherMap.

Časovni strežnik NTP se uporablja za določanje časa dneva in dneva v tednu.

Podatki o vremenu, času in okolju so prikazani na zaslonu OLED. Vsak podatek ima svoj oblikovan zaslon. Zasloni so prikazani pet sekund, preden preklopite na drugega. Dostop do OpenWeatherMap.org je vsakih petnajst minut za osvežitev vremenskih podatkov. BME280 se bere vsakih petinpetdeset sekund. Pisava, uporabljena na vsakem zaslonu, se samodejno prilagodi, da prikaže vse podatke v največji možni pisavi.

ESP8266 je nastavljen tudi kot spletni strežnik. Do vseh vremenskih informacij lahko dostopate z brskalnikom v telefonu, tabličnem računalniku. Eden od prikazanih zaslonov prikazuje naslov IP spletnega strežnika.

ESP8266 je na voljo v različnih oblikah in velikostih. Izberem GEEKCREIT DoIt ESP12E Dev Kit V2. Ta je popolnoma združljiv s standardom NodeMCU za samostojne module ESP8266. Ima vgrajen regulator 3.3V, CH340 kot most USB-to-Serial in vezje za samodejno ponastavitev NodeMCU. Prosto lahko uporabite kateri koli modul ESP8266-12, ki ga imate. Zavedajte se le, da boste za njegovo programiranje morda morali dodati 3.3V regulator ali druga vezja. Zgradil sem ga tudi z uporabo Witty Cloud ESP8266. To mi je omogočilo, da sem vse zapakiral v 1,5 -palčno kocko. Spodnja premostitvena plošča USB se po programiranju odklopi. V luknjo 3,3 V na plošči Witty sem dodal pravokotni zatič glave. Pas je bil izdelan iz dveh štirih zatičev, enega z dvema zatičema in dveh z enim zatičem.

Na zgornji fotografiji je plošča, na katero je priključen modul ESP8266, vezje, ki sem ga razvil kot odklopno ploščo za ESP8266 in ESP32. Sprejel bo plošče ESP8266, združljive z NodeMCU, ploščo Witty Cloud ESP8266 ali ploščo ESP32 podjetja GEEKCREIT. Vsi razpoložljivi zatiči GPIO so razdeljeni na glave za lažji dostop. Ugotovil sem, da večina razvojnih plošč nikoli nima dovolj moči in ozemljitvenih zatičev. Vsakič, ko želite nekaj priključiti, potrebujete vsaj ozemljitveni zatič in največkrat zatič za napajanje naprave. Vsako vrsto zatičev GPIO spremljata napajalni pin 3,3 V in ozemljitveni zatič. Uporabljam isto postavitev, ki jo uporablja First Robotics, moč na sredini. Ta postavitev mi je všeč, ker če nekaj priklopite nazaj, ne sprostite čarobnega dima. Plošča ima nekaj dodatkov, IR senzor, stikalo in tribarvno LED. Skakače lahko uporabite za povezavo s katero koli od teh funkcij. Če vas zanima ena od teh plošč ESPxx, me kontaktirajte.

1. korak: Kaj boste potrebovali:

Kaj boste potrebovali
Kaj boste potrebovali
Kaj boste potrebovali
Kaj boste potrebovali
Kaj boste potrebovali
Kaj boste potrebovali

1 - Plošča senzorja temperature, vlažnosti in tlaka BME280 I2C

Jaz sem svojega kupil na Ebayu s Kitajske za približno 1,25 USD z brezplačno dostavo. Na voljo tudi pri Adafruit ali Sparkfun

1 -.96”, 128x64, I2C OLED zaslon z gonilnikom SSD1306

Jaz sem svojega kupil na Ebayu s Kitajske za približno 4,00 USD. Moj je bel. Najdete lahko modro in belo z rumeno površino na vrhu. Nekatere se prodajajo kot SPI in I2C. Za izbiro delovanja I2C boste morda morali premakniti nekaj uporov. Pomemben del je, da uporablja gonilniški čip SD1306. Na voljo tudi pri Adafruit.

1-NodeMCU ESP8266-12 s CH340

Uporabite lahko kateri koli modul ESP8266-12, ki ga želite. Najraje imam tiste s CH340 USB-to-Serial Bridge. Pred nekaj leti je prišlo do izpuščajev lažnih FTDI in SI mostov, zato ne zaupam več ničesar razen CH340.

2 - 4 -polne DuPont lupine s premerom 0,14 palca (2,54 mm)

2 - 2 -polni DuPont lupini s premerom 0,14 palca (2,54 mm)

12-Ženske stiskalnice DuPont za žico 22-28 awg

Svojega dobim na Ebayu. Uporabite lahko tudi Molex ali katero koli blagovno znamko, ki vam je ljubša. Stisnjeni zatiči ali IDC Izbira je vaša. Pazite, da kupite ustrezne zatiče za svoje lupine. Ne mešajo se in ne ujemajo. Prav tako lahko samo spajkate žice na plošče in odstranite priključke. Če uporabljate stisnjene zatiče, boste potrebovali stiskalnico. Ne poskušajte stisniti s kleščami. Ne deluje.

1 - 5V, 1A minimalni stenski napajalnik.

Te so poceni in so na voljo na Ebayu. Pridobite enega s priključkom mikro USB ali karkoli drugega, kar je povezano z vašo ploščo ESP8266.

Potrebovali boste tudi osem kosov 22-28 awg žice, da vse povežete skupaj. Ali pa vse skupaj preprosto povežete na kos perf plošče. Odvisno je od tebe.

Priložil sem sliko o tem, kaj je bilo uporabljeno za izgradnjo vremenske postaje z uporabo Witty Cloud ESP8266. Na eni sliki je podrobno opisano, kje na dvig 3.3V dodati čep glave pod pravim kotom. Eno od dveh zatičev zamenjamo z dvema enojnima. Ozemljitvene in 3,3 V žice so vstavljene v enojne lupine.

Sledite tej povezavi, da dobite datoteke izvorne kode iz skladišča GitHub; ESP8266-Vremenska postaja. Mapa zip ali klonirana mapa bo imela mapo WeatherStation, ki vsebuje WeatherStation.ino in BME280.h. To so datoteke izvorne kode. Obstaja tudi več datotek pdf. Datoteke PDF imajo podobne podatke kot ta navodila.

2. korak: Orodja:

Orodja
Orodja
Orodja
Orodja

Ko sem preizkusil številne blagovne znamke stiskalnic, sem ugotovil, da japonski inženir PA-21 ali PA-09 najbolje deluje pri moških in ženskih stiskalnicah DuPont. Na voljo je na Ebayu ali Amazonu. Oboje bo delovalo za zatiče DuPont. PA-09 bo izvedel tudi nožice za priključke JST, ki se običajno uporabljajo na LiPo baterijah. Tukaj je povezava do videoposnetka o tem, kako uporabljati stiskalnice Engineer s stiskalnicami DuPont; Kako uporabljati stiskalnice PA-21

Instructables so pred kratkim imeli odlično vadnico o uporabi stiskalnic Weierli Tools SN-28B z zatiči in lupinami DuPont. Ogledate si ga lahko tukaj; VSAK ČAS naredite dober Dupont Pin-Crimp!

3. korak: Naredite jermen:

Naredite jermen
Naredite jermen
Naredite jermen
Naredite jermen

Kabelski snop je ključ do tega projekta. To je osnovni štirižični "Y" kabel. Zgoraj je slika pasu, ki sem ga naredil. Zaslon OLED in niz senzorjev BME280 imata enak pinout. To pomeni, da sta po vstavitvi stisnjenih žic obe štirje zatiči enaki. Svoj pas sem naredil z dvojno stisnjenimi žicami, ki gredo v dve lupini, ki sta pritrjeni na ploščo ESP8266. Namesto tega se lahko odločite, da boste dvojno stisnjene žice vtaknili v eno od štirih polžastih lupin, tako da bo kot verižna povezava marjetice. Ali bo delovalo.

  1. Odrežite vse svoje žice po dolžini. Za vsako žico rad uporabljam različne barve; rdeča za 3.3V, črna za maso, rumena za SCL in zelena za SDA.
  2. Odstranite en konec vsake žice približno 0,1 palca.
  3. Zvite pramene skupaj in dodajte žensko stiskalnico.
  4. Ko se vse žice na enem koncu stisnejo, odstranite vse žice približno 0,2 palca.
  5. Zvite dve žici iste barve skupaj.
  6. Ko se zvije, obrežite na približno 0,1 palca in dodajte žensko stiskanje.
  7. Ko so vsi pari žic stisnjeni, je čas, da stisnjene konce vstavite v lupine.
  8. Dve štirinožni lupini sta polnjeni, od leve proti desni, z rdečo, črno, rumeno, zeleno ali 3,3 V, Gnd, SCL, SDA.
  9. Eden od dveh zatičev ima rdečo in črno žico.
  10. Druga dva pin pin ima rumene in zelene žice.

4. korak: Nasvet:

Nasvet
Nasvet
Nasvet
Nasvet
Nasvet
Nasvet

Ugotovil sem, da pri uporabi 28 awg žice s stiskalnimi zatiči ponavadi odpadejo. To storim, da konec žice odlepim dvakrat dlje kot običajno. Odkrijte izpostavljene žice skupaj. Nato zvite žice prepognite, da se debelina podvoji. Ko ga stisnem, je žica dovolj debela, da jo lahko trdno drži.

5. korak: Povežite vse skupaj:

Povežite vse skupaj
Povežite vse skupaj
Povežite vse skupaj
Povežite vse skupaj
Povežite vse skupaj
Povežite vse skupaj
  1. Štiri pin -lupine priključite na zaslon OLED in plošče BME280.
  2. Rdečo žico poravnajte z zatiči Vcc in 3V3.
  3. Priključite rdečo/črno lupino z dvema nožicama na par 3V3 (3.3V) in GND zatičev na plošči ESP8266. Na plošči so tri mesta, kjer so stiki 3V3 in GND. Izogibajte se vtičama Vin (5V) in GND, saj bosta s plošč OLED in BME280 sprostila čarobni dim. Prepričajte se, da je rdeča žica priključena na zatič 3V3.
  4. Rumeno/zeleno dvopolno lupino priključite na D1 in D2 na plošči ESP8266. Rumena žica (SCL) mora biti na D1.

Dvakrat preverite svoje povezave. Če je vse v redu, ste pripravljeni na vklop plošče ESP8266.

6. korak: Kako do ključa OpenWeatherMap

Kako do ključa OpenWeatherMap
Kako do ključa OpenWeatherMap

Za dostop do spletnega mesta OpenWeatherMap.org boste potrebovali ključ API za pridobitev trenutnih vremenskih informacij. Naslednjih nekaj korakov podrobno opisuje, kako se prijaviti z OpenWeatherMap.org in pridobiti ključ API.

Sledite tej povezavi do OpenWeatherMap.org.

Kliknite API na sredini zgornjega dela spletne strani.

7. korak: Kako do ključa OpenWeatherMap, Naročite se

Kako do ključa OpenWeatherMap, Naročite se
Kako do ključa OpenWeatherMap, Naročite se

Na levi strani pod Trenutni vremenski podatki kliknite gumb Naroči se.

8. korak: Kako do ključa OpenWeatherMap, Pridobite ključ API

Kako do ključa OpenWeatherMap, Pridobite ključ API
Kako do ključa OpenWeatherMap, Pridobite ključ API

V stolpcu Brezplačno kliknite Get APIkey and Start.

9. korak: Kako do ključa OpenWeatherMap, prijava

Kako do ključa OpenWeatherMap, prijava
Kako do ključa OpenWeatherMap, prijava

Kliknite na gumb Prijava pod Kako do ključa API (APPID).

10. korak: Kako do ključa OpenWeatherMap, ustvarite račun

Kako pridobiti ključ OpenWeatherMap, ustvariti račun
Kako pridobiti ključ OpenWeatherMap, ustvariti račun

Izpolnite vsa polja. Ko končate, potrdite polje Strinjam se s pogoji storitve in politiko zasebnosti. Nato kliknite gumb Ustvari račun.

Poiščite sporočilo na spletnem mestu OpenWeatherMap.org. V e -poštnem sporočilu bo vaš ključ API. Ključ API -ja boste morali kopirati v izvorno kodo vremenske postaje, da dobite trenutno vreme.

Brezplačna storitev OpenWeatherMap.org ima nekatere omejitve. Predvsem to, da do njega ne morete dostopati pogosteje kot enkrat na deset minut. To ne bi smelo biti problem, ker se vreme ne spreminja tako hitro. Druge omejitve so povezane z razpoložljivimi informacijami. Vsaka od plačanih naročnin bo zagotovila podrobnejše vremenske informacije.

11. korak: Namestite Arduino IDE:

Nastavite Arduino IDE
Nastavite Arduino IDE

Razvoj programa je bil izveden z uporabo Arduino IDE različice 1.8.0. Najnovejšo Arduino IDE lahko prenesete tukaj; Arduino IDE. Spletno mesto Arduino ima odlična navodila za namestitev in uporabo IDE. Podporo za ESP8266 lahko namestite v Arduino IDE po navodilih na tej povezavi: ESP8266 Addon v Arduino. Na spletni strani kliknite gumb »Kloniraj ali prenesi« in izberite »Prenesi Zip«. Datoteka ReadMe.md ima navodila za dodajanje podpore ESP8266 v IDE Arduino. To je navadna besedilna datoteka, ki jo lahko odprete s katerim koli urejevalnikom besedila.

Plošče ESP8266 so na voljo v vseh velikostih, oblikah in uporabljajo različne USB-serijske čipe. Raje imam plošče, ki uporabljajo čip za most CH340. Pred nekaj leti so se FTDI, SI in drugi naveličali poceni klonov, ki so trdili, da so njihovi deli. Proizvajalci čipov so spremenili svojo kodo gonilnika, da bi delali samo z lastnimi originalnimi deli. To je povzročilo veliko razočaranje, saj so ljudje odkrili, da mostovi USB-to-Serial ne delujejo več. Zdaj se le držim mostov USB-to-Serial, ki temeljijo na CH340, da se izognem nakupu plošč, ki bi lahko delovale ali pa tudi ne. V vsakem primeru boste morali najti in namestiti ustrezen gonilnik za mostni čip, ki se uporablja na plošči. To je povezava do uradne strani gonilnikov CH340; CH341SER_EXE.

ESP8266 nima namenske strojne opreme I2C. Vsi gonilniki I2C za ESP8266 temeljijo na bitnem udarjanju. Ena boljših knjižnic ESP8266 I2C je knjižnica hitro_I2C. Za najhitrejšo hitrost je bil napisan v zbirnem jeziku za ESP8266. Knjižnica zaslona OLED, ki jo uporabljam, uporablja knjižnico hitro_I2C. Dodal sem kodo za dostop do matrike senzorjev BME280 s knjižnico hitro_I2C.

Knjižnico OLED lahko dobite tukaj: Knjižnica ESP8288-OLED-SSD1306.

Knjižnico hitro_I2C dobite tukaj: Knjižnica Brzo_I2C.

Obe knjižnici bosta morali namestiti v vaš Arduino IDE. Spletno mesto Arduino ima navodila za namestitev knjižnic zip v IDE tukaj: Kako namestiti knjižnice Zip.

Nasvet: Ko namestite paket plošč ESP8266 in knjižnice, zaprite Arduino IDE in ga znova odprite. To bo zagotovilo, da bodo plošče in knjižnice ESP8266 prikazane v IDE.

12. korak: Izberite svojo tablo:

Izberite svoj odbor
Izberite svoj odbor

Odprite Arduino IDE. Če tega še niste storili, namestite dodatek ESP8266, knjižnico hitro_i2c in knjižnico gonilnikov OLED.

V zgornji menijski vrstici kliknite »Orodja«. Pomaknite se navzdol po spustnem meniju do mesta, kjer piše "Board:". Pomaknite se do spustnega menija "Upravitelj upravnega odbora" in se pomaknite navzdol do; "NodeMCU 1.0 (modul ESP-12E)". Kliknite nanjo, da jo izberete. Vse druge nastavitve pustite na privzeti vrednosti.

Korak: Izberite serijska vrata:

Izberite serijska vrata
Izberite serijska vrata

V zgornji menijski vrstici kliknite »Orodja«. Pomaknite se navzdol po spustnem meniju do mesta, kjer piše "Vrata". Izberite vrata, ki ustrezajo vašemu računalniku. Če se vaša vrata ne prikažejo, vaša plošča ni priključena ali niste naložili gonilnika za svoj mostni čip ali pa plošča ni bila priključena, ko ste odprli Arduino IDE. Preprosta rešitev je, da zaprete Arduino IDE, priključite ploščo, naložite vse manjkajoče gonilnike in nato znova odprete Arduino IDE.

14. korak: WeatherStation.ino

Za pridobitev izvorne kode lahko uporabite zgornje gumbe za prenos ali sledite tej povezavi do GitHub -a; ESP8266-Vremenska postaja.

Datoteki WeatherStation.ino in BME280.h morata biti v isti mapi. Ime mape se mora ujemati z imenom datoteke.ino (brez razširitve.ino). To je zahteva Arduina.

Korak 15: Uredite WeatherStation.ino

V zgornji menijski vrstici kliknite »Datoteka«. Kliknite na "Odpri". V pogovornem oknu Odpiranje datoteke poiščite mapo WeatherStation in jo izberite. Videti bi morali dva zavihka, enega za WeatherStation in enega za BME280.h. Če nimate obeh zavihkov, ste odprli napačno mapo ali niste prenesli obeh datotek ali jih niste shranili v pravo mapo. Poskusi ponovno.

Če želite dodati SSID in geslo za omrežje WiFi, morate urediti datoteko WeatherStation.ino. poglejte po vrstici 62 za naslednje;

// tukaj vnesite SSID in geslo za svoje omrežje WiFi

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

Zamenjajte "yourssid" s SSID vašega omrežja WiFi.

Zamenjajte "geslo" z geslom za omrežje WiFi.

Dodati boste morali tudi ključ OpenWeatherMap in poštno številko, kjer živite. Oglejte si naslednje vrstice 66;

// sem vnesite svoj ključ OpenWeatherMap.com in poštno številko

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

Zamenjajte "vaš ključ" s ključem, pridobljenim iz OpenWeatherMap.org.

Zamenjajte "yourzip, država" z poštno številko in državo. Poštni številki mora slediti vejica in vaša država ("10001, mi").

Nato morate nastaviti časovni pas in omogočiti/onemogočiti poletni čas (DST). Oglejte si naslednje vrstice 85;

// Vrnjeni surovi čas je v sekundah od leta 1970. Za prilagoditev časovnih pasov odštejte

// število sekund razlike za vaš časovni pas. Negativna vrednost bo // odštela čas, pozitivna vrednost bo dodala čas #define TZ_EASTERN -18000 // število sekund v petih urah #define TZ_CENTRAL -14400 // število sekund v štirih urah #define TZ_MOUTAIN -10800 // število sekund v tri ure #define TZ_PACIFIC -7200 // število sekund v dveh urah

// Prilagodite čas za svoj časovni pas tako, da spremenite TZ_EASTERN na eno od drugih vrednosti.

#define TIMEZONE TZ_EASTERN // spremenite to v svoj časovni pas

Obstaja skupina stavkov #define, ki določajo časovni zamik za različne časovne pasove. Če je vaš časovni pas tam, zamenjajte "TZ_EASTERN" v definiciji "TIMEZONE". Če vaš časovni pas ni na seznamu, ga morate ustvariti. Strežnik NTP daje čas kot Greenwich Mean Time. Če želite prispeti do lokalnega časa, morate dodati ali odšteti določeno število ur (v sekundah). Preprosto kopirajte eno od stavkov "#define TZ_XXX", nato spremenite ime in število sekund. Nato spremenite »TZ_EASTERN« v nov časovni pas.

Odločiti se morate tudi za poletni čas ali ne. Če želite onemogočiti poletni čas, zamenjajte "1" z "0" v naslednji vrstici;

#define DST 1 // nastavite na 0, da onemogočite poletni čas

Ko je omogočeno, bo DST samodejno pomaknil ali zaviral čas za eno uro, kadar je to primerno.

Korak: Naložite kodo na svoj ESP8266

Naložite kodo na svoj ESP8266
Naložite kodo na svoj ESP8266

Kliknite na krožno desno puščico, ki je tik pod "Uredi" v zgornji menijski vrstici. To bo kodo zbralo in naložilo na vašo tablo. Če se vse pravilno zbere in naloži, se mora po nekaj sekundah zasvetiti zaslon OLED in prikazati povezovalno sporočilo.

Korak 17: Kako si ogledate spletno stran vremenskih podatkov

Kako si ogledate spletno stran vremenskih podatkov
Kako si ogledate spletno stran vremenskih podatkov

Na zgornji sliki je prikazana spletna stran vremenske postaje. Do njega lahko dostopate z računalnikom, telefonom ali tabličnim računalnikom. Preprosto odprite brskalnik in kot URL vnesite naslov IP vremenske postaje. Naslov IP vremenske postaje je prikazan na enem od zaslonov vremenske postaje. Kliknite Osveži stran, da posodobite podatke.

18. korak: Čestitamo, končali ste

To je to. Zdaj bi morali imeti delujočo vremensko postajo. Vaš naslednji korak je lahko oblikovanje in izdelava ohišja za namestitev vaše vremenske postaje. Ali pa morda želite dodati še nekaj zaslonov, ki prikazujejo ohladitev vetra, rosišče, čas vzhoda ali sončnega zahoda ali graf sprememb barometričnega tlaka ali napovedujejo vreme z uporabo barometričnega tlaka. Lepo se imejte in uživajte.

Priporočena: