Kazalo:
- Zaloge
- 1. korak: Ustvarite prototip
- 2. korak: Oblikovanje programa
- 3. korak: programska koda
- 4. korak: Ustvarite polje
Video: Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
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
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
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;
- Pričakovano največ 5 mm/uro
- Pričakovano največ 20 mm/uro
- 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
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
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:
Ročna vremenska postaja: 4 koraki
Ročna vremenska postaja: V tem navodilu bomo uporabljali Arduino, oled zaslon in kombinacijo okoljskih senzorjev SparkFun s senzorji CCS811 in BME280 na krovu za izdelavo ročne naprave, ki meri temperaturo, vlažnost, ravni TVOC, barometrični tlak,
Mini vremenska postaja z uporabo Arduina in ThingSpeak: 4 koraki
Mini vremenska postaja z uporabo Arduino in ThingSpeak: Pozdravljeni vsi. V tem navodilu vas bom vodil skozi korake za izdelavo prilagojene mini vremenske postaje. Prav tako bomo uporabljali API ThingSpeak za nalaganje vremenskih podatkov na njihove strežnike, ali pa je namen vremenske postaje
Vremenska postaja NaTaLia: Vremenska postaja Arduino s sončno energijo Na pravi poti: 8 korakov (s slikami)
Vremenska postaja NaTaLia: Vremenska postaja na sončni pogon Arduino je ravnala pravilno: Po enem letu uspešnega delovanja na dveh različnih lokacijah delim svoje načrte projektov vremenskih postaj na sončno energijo in razložim, kako se je razvila v sistem, ki lahko resnično preživi dolgo časa obdobja iz sončne energije. Če sledite
Vremenska postaja: ESP8266 z globokim spanjem, SQL, grafikoniranje po steklenici in ploskvi: 3 koraki
Vremenska postaja: ESP8266 z globokim spanjem, SQL, grafikoniranje s pomočjo steklenice in ploskev: Bi bilo zabavno vedeti temperaturo, vlažnost ali jakost svetlobe na vašem balkonu? Vem, da bi. Zato sem naredil preprosto vremensko postajo za zbiranje takih podatkov. Naslednji razdelki so koraki, ki sem jih naredil za izdelavo enega. Začnimo
Vremenska postaja in senzorska postaja DIY: 7 korakov (s slikami)
Vremenska postaja in senzorska postaja DIY: V tem projektu vam bom pokazal, kako skupaj s senzorsko postajo WiFi ustvariti vremensko postajo. Senzorska postaja meri lokalne podatke o temperaturi in vlažnosti ter jih prek WiFi pošlje vremenski postaji. Vremenska postaja nato prikaže t