Talaan ng mga Nilalaman:

Tweerstationneke A.k.a. Dutch WeatherStation: 4 na Hakbang
Tweerstationneke A.k.a. Dutch WeatherStation: 4 na Hakbang

Video: Tweerstationneke A.k.a. Dutch WeatherStation: 4 na Hakbang

Video: Tweerstationneke A.k.a. Dutch WeatherStation: 4 na Hakbang
Video: Очередной рейс (1958) фильм 2024, Hulyo
Anonim
Tweerstationneke A.k.a. Dutch WeatherStation
Tweerstationneke A.k.a. Dutch WeatherStation

Ang aking ama ay palaging interesado sa pinakabagong balita at ang pinakabagong impormasyon sa panahon. Kaya't dinala ako sa perpektong regalo sa kaarawan nang siya ay naging 76: Isang maliit na istasyon ng panahon na palaging walang kalokohan, tahimik lang itong nakaupo sa isang sulok buong araw at nagbibigay ng buod ng pinakabagong mga hula.

Ito ay dinisenyo sa paligid ng dalawang mga website ng Dutch. Marahil maaari mong makita iyon sa nakakatawang lokal na pamagat ng paksang ito! Binibigyan ng isa ang lokal na pagtataya bawat lungsod bawat 10 minuto sa json format. Ang isa pa ay nagbibigay ng forecast ng ulan para sa susunod na dalawang oras sa payak na format ng teksto na laging madaling gamitin. Sigurado ako kung hindi ka nakatira sa Netherlands madali mong maiakma ang paksang ito sa anumang iba pang serbisyo.

Mga gamit

  • Isang board na ESP8266; iminumungkahi na gumamit ng isang Wemos D1 mini
  • Isang 1.8 inch TFT na screen na may 128 * 160 tuldok; 16 bit na kulay
  • Ilang kable
  • Ang programa ay mayroon o upang magsimula upang lumikha ng iyong sarili
  • Isang magandang kahon upang pagsamahin ang lahat. Gumamit ng isang pamantayan o i-print ang iyong sarili na may kalakip na disenyo

Hakbang 1: Gawin ang Prototype

Gawin ang Prototype
Gawin ang Prototype

Kumokonekta sa screen at controller

Gumamit ng isang maliit na flat cable at maghinang ng board at ang TFT screen na magkasama. Gamitin ang listahan upang ikonekta ang mga bahagi ng ion sa tamang paraan

TFT SCREEN ------------------ WEMOS

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

Bilang kahalili maaari mong ilagay ang LED sa 3v3 sa halip na pin D8. Gumamit ako ng pin D8 upang magkaroon ng aparato upang makatulog sa paligid ng 23:00 ng gabi at gisingin muli nang 07:00. Epektibo ito ang magiging unang sandali na binabasa nito ang bulletin ng panahon pagkatapos ng oras na iyon, dahil binabasa nito ang header upang suriin ang oras. Walang real time na orasan sa aparatong ito.

Kung ang lahat ng ito ay gumagana plugin ang iyong usb cable sa Wemos at i-load ang software. Kung gumagana ang lahat maaari mong simulan ang pagbuo ng kahon.

Hakbang 2: Disenyo ng Programa

Disenyo ng Programa
Disenyo ng Programa

Ang aking mga ideya ng aparatong ito ng panahon kung saan

  • Madaling madaling ibagay sa isa pang kapaligiran sa wifi
  • Ipakita ang pagtataya ng panahon at pagtataya ng ulan
  • Walang mga pindutan
  • Walang tunog, simpleng qui, walang fuzz

Sa pag-iisip na iyon lumikha ako ng isang programa na nagsisimula sa WifiManager code kapag hindi nito matuklasan ang isang kilalang Wifi network. Lumilikha ito ng sarili nitong network at ipinapakita ang pangalan sa display. Binibigyan ka nito ng pagkakataon na maitakda ang mga parameter ng Wifi sa iyong sariling home network.

Matapos ang pag-set up na ito ipinapakita ang taya ng panahon at ang pag-iingat ng ulan sa pagliko, bawat 20 segundo. Kung sa ilang kadahilanan ay hindi posible na basahin ang susunod na pagtataya, isang maliit na numero ng error ang ipapakita sa kanang bahagi ng display; at ang nakaraang imahe ay ipapakita. Sa susunod na pagpapatakbo isang bagong pagtatangka ay tapos na upang makuha ang impormasyon.

Ang impormasyon sa panahon ay natanggap mula sa site sa isang mensahe ng istilong json. Ang impormasyon sa loob nito ay na-convert at nai-save sa mga pandaigdigang variable. Sa ganitong paraan maaari naming mai-decouple ang pagkuha ng impormasyon mula sa pagpapakita nito. Walang dahilan upang makuha ang panahon nang mas mabilis nang isang beses bawat 10 minuto.

Ang pagkuha ng paanan sa ulan ay mas simple. Hinahain ito sa simpleng format ng teksto, na may dami ng ulan na inaasahan bilang isang halaga na 0..255; isang patayong bar; isang oras sa bawat linya. Ito para sa bawat 5 minuto para sa susunod na 2 oras. Ang rainvalue ay naihatid sa isang matalinong paraan kung saan ang maliliit na halaga ay nagbibigay ng mas maraming silid upang maipakita ang pagkakaiba bilang mas malalaking halaga. Ang ginamit na pormula ay ang mga sumusunod:

mmhour = bilog (pow (10, (rainvalue - 109) / 32) * 10) / 10;

Tandaan na ang "beses 10, hatiin ng 10" ay trick upang matiyak na mayroon kaming 1 decimal sa likod ng tuldok. Nakasalalay sa maximum na dami ng ulan na inaasahan na darating na 2 oras mayroong 3 kaliskis na ginagamit para sa grap;

  1. Inaasahan ang maximum na 5 mm / oras
  2. Inaasahan ang maximum na 20 mm / oras
  3. Ang Max ay kinuha mula sa pinakamataas na halaga sa forecast

Dito sa Netherlands ang all-time-high na ang aming halaga ay namamalagi sa paligid ng 80 mm / oras; kaya ang sukatang ito ay ganap na magagawa. Para sa ibang mga bansa maaaring maging matalino na baguhin ito.

Hakbang 3: Code ng Programa

Code ng Programa
Code ng Programa

Mga setting ng editor

Ang software para sa aparatong ito ng panahon ay nilikha sa kapaligiran ng programa ng Arduino. Mahahanap mo itong nakakabit dito para sa iyong kaginhawaan. Gamitin ito tulad ng dati; o baguhin ito upang umangkop sa iyong mga pangangailangan. Ang lahat ng teksto na maaaring ipakita sa TFT screen ay DEFINEd sa tuktok ng programa; na nangangahulugang madali mong mababago ito sa iyong sariling wika kung nais mo. Ginamit ko ang Wemos D1 mini, ngunit gagana rin ang mga katulad na board.

Sa kapaligiran ng Arduino ginamit ko ang mga sumusunod na setting;

  • Lupon: LOLIN (WEMOS) D1 RA & Mini
  • Bilis ng Pag-upload: 115200
  • CPU freq: 80 MHz
  • Laki ng Flash: 4M (Walang SPIFFS) V2 Mababang Memorya na Hindi pinagana

Ginagamit ang mga timer ng software upang gawing mas madali at mas madaling mabasa ang loop (). Ang pagpapakita ng impormasyon ay nahiwalay mula sa pag-download ng impormasyon. Sa ganitong paraan maaari naming magamit ang iba pang mga laki ng screen atbp nang hindi kinakailangang baguhin ang buong programa.

Gamitin ang.ino file at i-load ito sa arduino editor. I-setup ang iyong board sa editor. Ikabit ang header file na tinitiyak ang kinakailangang mga C-style PROGMEM arrays ay kasama sa programa.

SD card

Tandaan na ang karamihan sa mga magagamit na 1.8 inch display ay mayroong slot ng SD card sa likuran ng screen. Ito ay isang magandang tampok na makakatulong sa iyong itago ang malalaking mga imahe sa card. Karamihan sa mga micro-Controller ay walang masyadong memorya sa board upang makakatulong iyon.

Bagaman gumugugol ako ng maraming oras sa pagsubok upang makuha ang SD card upang gumana kasama ang display ay hindi ako magkaroon ng isang maisasagawa na sitwasyon. Maaari kong gamitin ang display; makuha nang matagumpay ang isang file mula sa SD card, ngunit pagkatapos nito ay hindi ko na naabot ang TFT screen. Ang pagpapalit ng mga aklatan, pagbabago ng pagkakasunud-sunod ng mga aklatan, at "paghubaran" ng programa sa pinakamaliit na katawan upang maalis ang iba pang mga posibilidad ay hindi nakatulong sa akin.

Upang idagdag sa aking pagkabigo; maraming tonelada ng mga halimbawa sa internet ng mga taong gumagawa ng mga katulad na bagay na may positibong resulta, hmmm. Maaaring maging isang isyu sa hardware sa aking TFT screen? O isang bagay na hindi ko naisip? Anumang mga mungkahi ay malugod na tinatanggap para sa isang susunod na pagtatangka. Sa pagtatapos pagkatapos gumastos ng ilang gabi dito; Nagpasiya akong iwanan ang landas na iyon. Dahil ang mga larawan ay 50x50 pixel lamang (na nagreresulta sa 5000 bytes bawat isa sa 16 bit na kulay) may kakayahang iimbak ito ng ESP sa PROGMEM nang madali. Kaya't iyon ang trick na ginamit ko.

Ang pagpipiliang ito ay nagresulta sa isa pang hamon. Paano makukuha ang larawan ng BMP na mayroon ako sa isang nababasa na format. Matapos ang ilang paghahanap ay natuklasan ko ang site mula kay Henning Karlsen na malutas ang puzzle na ito nang mas maaga. Lumikha siya ng isang programa na nagko-convert ng mga-p.webp

Hakbang 4: Lumikha ng Kahon

Lumikha ng Kahon
Lumikha ng Kahon
Lumikha ng Kahon
Lumikha ng Kahon
Lumikha ng Kahon
Lumikha ng Kahon

Hindi ito ang unang kahon na kailangan ko. Maraming pamantayang mga kahon ang magagamit mula sa mga tagapagtustos. Gamit ang isang maliit na lagari, isang kutsilyo, drill atbp madali itong lumikha ng isang butas para sa display sa kahon. Ngunit hindi ko nagawa na gumawa ng isang eksaktong magandang rektanggulo. Marahil ay hindi sapat ang mga kasanayan at / o pasensya;-)

Ang solusyon: Napalad ako. Mayroon akong isang kolehiyo na tulad ng superman kung tungkol sa paghawak sa mga teknikal na bagay. Kasama rito ang disenyo at pag-print ng 3D. Kaya't nagpasya siyang mag-alok ng maraming libreng oras upang sukatin ang display ng TFT at ang micro controller at lumikha ng isang kahon sa paligid nito. Ang lahat ng ito ay umaangkop nang maayos, tingnan ang mga larawan. Naglalaman din ito ng mga snap on para sa display, isang butas para sa konektor ng USB, at isang lugar upang ayusin ang micro controller.

Salamat Arjan para sa sobrang trabahong ginawa !!! Kahit na mas mahusay, siya ay napakabait na bigyan ang lahat ng acces sa kanyang trabaho, kaya kung i-download mo ang kanyang mga file mula sa link at gamitin ito para sa iyong sariling 3D printer maaari kang lumikha ng parehong kahon na may nilalaman.

Inirerekumendang: