Kazalo:

Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki
Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki

Video: Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki

Video: Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki
Video: Самый дешевый 7-дневный круиз класса люкс на борту Diamond Princess 2024, Julij
Anonim
Tweerstationneke A.k.a. Nizozemska WeatherStation
Tweerstationneke A.k.a. Nizozemska WeatherStation

Očeta vedno zanimajo najnovejše novice in najnovejše vremenske informacije. To me je pripeljalo do popolnega darila za rojstni dan, ko je dopolnil 76 let: majhna stalna vremenska postaja brez neumnosti, ki ves dan tiho sedi v kotu in daje povzetek najnovejših napovedi.

Zasnovan je okoli dveh nizozemskih spletnih mest. Verjetno to vidite na smešnem lokalnem naslovu te teme! Ena poda lokalno napoved na mesto vsakih 10 minut v formatu json. Drugi podaja napoved dežja za naslednji dve uri v navadnem besedilnem formatu, kar je vedno priročno vedeti. Prepričan sem, da če ne živite na Nizozemskem, lahko to temo enostavno prilagodite kateri koli drugi storitvi.

Zaloge

  • Plošča ESP8266; predlagam uporabo Wemos D1 mini
  • 1,8 -palčni zaslon TFT s 128*160 pikami; 16 -bitna barva
  • Nekaj kablov
  • Program, kakršen je, ali za začetek ustvarite svojega
  • Lepa škatla, da se vse skupaj sestavi. Uporabite standardno ali natisnite svojo s priloženim dizajnom

1. korak: Ustvarite prototip

Naredite prototip
Naredite prototip

Povezovalni zaslon in krmilnik

Uporabite majhen ploski kabel in skupaj spajkajte ploščo in zaslon TFT. S seznamom povežite dele na pravilen način

TFT ZASLON ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0- -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3

Lahko pa LED namestite na 3v3 namesto na pin D8. Uporabil sem pin D8, da je naprava ponoči zaspala okoli 23:00 in se spet zbudila okoli 07:00. Učinkovito bo to prvi trenutek, ko po tem času prebere vremenski bilten, saj prebere glavo, da preveri čas. V tej napravi ni ure v realnem času.

Če vse to deluje, priključite USB kabel na Wemos in naložite programsko opremo. Če vse deluje, lahko začnete graditi škatlo.

2. korak: Oblikovanje programa

Oblikovanje programa
Oblikovanje programa

Moje ideje o tej vremenski napravi kje

  • Enostavno prilagodljiv drugemu WiFi okolju
  • Prikažite vremensko napoved in napoved dežja
  • Brez gumbov
  • Brez zvoka, preprost qui, brez fuzz

S tem v mislih sem ustvaril program, ki se začne s kodo WifiManager, ko ne more odkriti znanega omrežja Wifi. Ustvari lastno omrežje in na zaslonu prikaže ime. To vam daje možnost, da nastavite parametre Wifi v lastno domače omrežje.

Po tej nastavitvi vsakih 20 sekund izmenično prikazuje vremensko napoved in padavine. Če naslednje napovedi iz nekega razloga ni mogoče prebrati, se na desni strani zaslona prikaže majhna številka napake; in prikazala se bo prejšnja slika. V naslednjem zagonu se izvede nov poskus pridobivanja informacij.

Podatki o vremenu so s spletnega mesta prejeti v sporočilu v slogu json. Podatki v njem se pretvorijo in shranijo v globalne spremenljivke. Na ta način lahko ločimo iskanje informacij od prikaza. Ni razloga za hitrejše pridobivanje vremena enkrat na 10 minut.

Dobivanje padavin je še enostavnejše. Postreže se v obliki navadnega besedila, pri čemer je pričakovana količina dežja 0..255; navpična palica; čas v vsaki vrstici. To naredite vsakih 5 minut v naslednjih 2 urah. Deževna vrednost je dobavljena na pameten način, kjer majhne vrednosti dajejo več prostora za prikaz razlike kot večje vrednosti. Uporabljena formula je naslednja:

mm ura = okrogla (pow (10, (vrednost dežja - 109) / 32) * 10) / 10;

Upoštevajte, da je "krat 10, deljeno z 10" zvijača, da zagotovimo, da imamo za piko 1 decimalno mesto. Glede na največjo količino dežja, ki se pričakuje v naslednjih 2 urah, se za graf uporabljajo 3 lestvice;

  1. Pričakovano največ 5 mm/uro
  2. Pričakovano največ 20 mm/uro
  3. Največje je vzeto iz najvišje vrednosti v napovedi

Tu na Nizozemskem je naša največja vrednost okoli 80 mm/uro; tako da bo ta lestvica popolnoma uspela. Za druge države bi bilo pametno to spremeniti.

3. korak: programska koda

Koda programa
Koda programa

Nastavitve urejevalnika

Programska oprema za to vremensko napravo je ustvarjena v programskem okolju Arduino. Za udobje ga boste našli priloženega tukaj. Uporabite ga takšnega, kot je; ali pa ga spremenite tako, da ustreza vašim potrebam. Vse besedilo, ki se lahko prikaže na zaslonu TFT, je DEFINIRANO na vrhu programa; kar pomeni, da ga lahko preprosto spremenite v svoj jezik, če želite. Uporabil sem Wemos D1 mini, vendar bodo delovale tudi podobne plošče.

V okolju Arduino sem uporabil naslednje nastavitve;

  • Plošča: LOLIN (WEMOS) D1 RA & Mini
  • Hitrost nalaganja: 115200
  • Frekvenca procesorja: 80 MHz
  • Velikost bliskavice: 4M (brez SPIFFS) V2 Spodnji pomnilnik onemogočen

Programski časovniki se uporabljajo za lažjo in bolj berljivo zanko (). Prikaz informacij je ločen od prenosa informacij. Na ta način lahko uporabimo druge velikosti zaslona itd., Ne da bi morali spreminjati celoten program.

Uporabite datoteko.ino in jo naložite v urejevalnik arduino. V urejevalniku nastavite svojo ploščo. Priložite datoteko glave, ki zagotavlja, da so v program vključeni potrebni nizi PROGMEM v slogu C.

sD kartice

Upoštevajte, da ima večina razpoložljivih 1,8 -palčnih zaslonov režo za kartico SD na zadnji strani zaslona. To je prijetna funkcija, ki vam pomaga shranjevati velike slike na kartico. Večina mikrokrmilnikov nima preveč pomnilnika, kar pomaga.

Čeprav porabim veliko časa za to, da bi SD -kartica delovala z zaslonom, mi ni uspelo. Uporabil bi lahko zaslon; uspešno naložil datoteko s kartice SD, potem pa nisem mogel več doseči zaslona TFT. Menjava knjižnic, spreminjanje vrstnega reda knjižnic in "slečenje" programa na najmanjše telo, da bi izključili druge možnosti, mi niso pomagali.

Da dodam k svoji frustraciji; na internetu je na stotine primerov ljudi, ki počnejo podobne stvari s pozitivnim rezultatom, hmmm. Je morda težava s strojno opremo na mojem zaslonu TFT? Ali pa na kaj nisem pomislil? Vsak predlog je dobrodošel za naslednji poskus. Na koncu, ko sem nekaj večerov preživel na njem; Odločil sem se, da bom to pot zapustil. Ker so slike le 50x50 slikovnih pik (kar ima za posledico 5000 bajtov pri 16 -bitni barvi), lahko ESP to z lahkoto shrani v PROGMEM. To je torej trik, ki sem ga uporabil.

Ta izbira je povzročila še en izziv. Kako pretvoriti sliko BMP, ki sem jo imel, v berljivo obliko. Po nekaj iskanju sem stran odkril Henning Karlsen, ki je to uganko rešil prej. Ustvaril je program, ki datoteke tipa-p.webp

4. korak: Ustvarite polje

Ustvari škatlo
Ustvari škatlo
Ustvari škatlo
Ustvari škatlo
Ustvari škatlo
Ustvari škatlo

To ni prva škatla, ki sem jo potreboval. Pri dobaviteljih je na voljo veliko standardnih škatel. Z majhno žago, nožem, vrtalnikom itd. Lahko preprosto ustvarite luknjo za zaslon v škatli. Nikoli pa mi ni uspelo narediti natančno lepega pravokotnika. Verjetno ni dovolj spretnosti in/ali potrpljenja;-)

Rešitev: imel sem srečo. Imam fakulteto, ki je kot superman, če se ukvarjam s tehničnimi stvarmi. To vključuje tudi 3D oblikovanje in tiskanje. Zato se je odločil, da bo ponudil veliko svojega prostega časa za merjenje zaslona TFT in mikro krmilnika ter okoli njega ustvaril okvir. Vse lepo pristaja, poglejte slike. Vsebuje celo zaskočke za zaslon, luknjo za priključek USB in mesto za pritrditev mikro krmilnika.

Hvala Arjan za to super delo !!! Še bolje, bil je tako prijazen, da je vsem omogočil dostop do svojega dela, zato če prenesete njegove datoteke s povezave in jih uporabite za svoj lastni 3D tiskalnik, lahko ustvarite isto polje z vsebino.

Priporočena: