Taula de continguts:

Tweerstationneke A.k.a. WeatherStation holandès: 4 passos
Tweerstationneke A.k.a. WeatherStation holandès: 4 passos

Vídeo: Tweerstationneke A.k.a. WeatherStation holandès: 4 passos

Vídeo: Tweerstationneke A.k.a. WeatherStation holandès: 4 passos
Vídeo: Mysterious Mountains and UFOs 2024, Desembre
Anonim
Tweerstationneke A.k.a. WeatherStation holandesa
Tweerstationneke A.k.a. WeatherStation holandesa

Al meu pare sempre li interessen les últimes notícies i la informació meteorològica més recent. Per tant, això em va portar al regal perfecte d’aniversari quan va arribar als 76 anys: una petita estació meteorològica permanent, sense tonteries, que es queda tranquil·la en un racó durant tot el dia i proporciona un resum de les darreres prediccions.

Està dissenyat al voltant de dos llocs web holandesos. Probablement ho podreu veure al divertit títol local d’aquest tema. Un dóna la previsió local per ciutat cada 10 minuts en format json. L’altre proporciona la previsió de pluja per a les dues properes hores en format de text pla, que sempre és útil saber. Estic segur que si no viviu als Països Baixos, podeu adaptar fàcilment aquest tema a qualsevol altre servei.

Subministraments

  • Una placa ESP8266; suggeriu utilitzar un Wemos D1 mini
  • Una pantalla TFT d'1,8 polzades amb 128 * 160 punts; Color de 16 bits
  • Uns quants cables
  • El programa tal qual o per començar per crear el vostre
  • Una bonica caixa per muntar-ho tot. Utilitzeu-ne un d’estàndard o imprimiu el vostre amb el disseny adjunt

Pas 1: feu el prototip

Feu el prototip
Feu el prototip

Connexió de pantalla i controlador

Utilitzeu un petit cable pla i soldeu el tauler i la pantalla TFT junts. Utilitzeu la llista per connectar les parts de la manera correcta

PANTALLA TFT ------------------ WEMOS

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

També podeu posar el LED a 3v3 en lloc del pin D8. He utilitzat el pin D8 perquè el dispositiu pugui dormir cap a les 23:00 de la nit i tornar a despertar cap a les 07:00. Aquest serà el primer moment en què es llegeix el butlletí meteorològic després d'aquest temps, ja que llegeix la capçalera per comprovar l'hora. No hi ha rellotge en temps real en aquest dispositiu.

Si tot això funciona, connecteu el cable USB al Wemos i carregueu el programari. Si tot funciona, podeu començar a construir la caixa.

Pas 2: disseny del programa

Disseny de programes
Disseny de programes

Les meves idees d’aquest dispositiu meteorològic on

  • Fàcilment adaptable a un altre entorn wifi
  • Mostra la previsió meteorològica i la pluja
  • Sense botons
  • Sense so, qui senzill, sense difusió

Amb això en ment, vaig crear un programa que comença amb el codi WifiManager quan no pot descobrir una xarxa Wifi coneguda. Crea la seva pròpia xarxa i mostra el nom a la pantalla. Això us permet establir els paràmetres de Wifi a la vostra pròpia xarxa domèstica.

Després d'aquesta configuració, mostra la predicció del temps i la precipitació de la pluja per torns, cada 20 segons. Si per alguna raó no és possible llegir la següent previsió, es mostrarà un petit número d'error a la part dreta de la pantalla; i es mostrarà la imatge anterior. En la següent execució, es fa un nou intent de recuperar la informació.

La informació meteorològica es rep del lloc en un missatge d'estil json. La informació que conté es converteix i es desa en variables globals. D’aquesta manera podem desvincular la recuperació de la informació de mostrar-la. No hi ha cap raó per recuperar el temps més ràpidament com una vegada cada 10 minuts.

Aconseguir la precipitació de la pluja és encara més senzill. Es serveix en format de text pla, amb la quantitat de pluja prevista com a valor 0..255; una barra vertical; un temps a cada línia. Això per cada 5 minuts durant les properes 2 hores. El valor de pluja s’ofereix d’una manera intel·ligent on els valors petits donen més marge per mostrar la diferència com a valors més grans. La fórmula utilitzada és la següent:

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

Tingueu en compte que el "temps 10, divideix per 10" és un truc per assegurar-nos que tenim 1 decimal darrere del punt. Depenent de la quantitat màxima de pluja prevista per a les properes 2 hores, hi ha 3 escales utilitzades per al gràfic;

  1. Màxima de 5 mm / hora prevista
  2. Màxim de 20 mm / hora previst
  3. El màxim es pren del valor més alt de la previsió

Aquí, als Països Baixos, el nostre valor històric és de 80 mm / hora; per tant, aquesta escala funcionarà perfectament. Per a altres països pot ser aconsellable canviar això.

Pas 3: Codi del programa

Codi del programa
Codi del programa

Configuració de l'editor

El programari d’aquest dispositiu meteorològic es crea a l’entorn de programació Arduino. El trobareu adjunt aquí per a la vostra comoditat. Utilitzeu-lo tal qual; o canvieu-lo segons les vostres necessitats. Tot el text que es pot mostrar a la pantalla TFT es defineix a la part superior del programa; el que significa que podeu canviar-lo fàcilment al vostre propi idioma si voleu. He utilitzat el Wemos D1 mini, però també funcionaran plaques similars.

A l’entorn Arduino he utilitzat la configuració següent;

  • Tauler: LOLIN (WEMOS) D1 RA i Mini
  • Velocitat de càrrega: 115200
  • Freqüència de la CPU: 80 MHz
  • Mida del flaix: 4M (sense SPIFFS) V2 Memòria inferior desactivada

Els temporitzadors de programari s’utilitzen per fer el bucle () més fàcil i més llegible. La visualització de la informació se separa de la descàrrega de la informació. D’aquesta manera podem utilitzar altres mides de pantalla, etc. sense haver de canviar tot el programa.

Utilitzeu el fitxer.ino i carregueu-lo a l'editor arduino. Configureu el tauler a l’editor. Adjunteu el fitxer de capçalera que garanteixi que les matrius PROGMEM d'estil C necessàries s'incloguin al programa.

targeta SD

Tingueu en compte que la majoria de les pantalles disponibles d’1,8 polzades tenen una ranura per a targetes SD a la part posterior de la pantalla. Aquesta és una bona característica que us ajuda a emmagatzemar imatges grans a la targeta. La majoria dels microcontroladors no tenen massa memòria a bord, de manera que això ajuda.

Tot i que passo molt de temps intentant que la targeta SD funcioni amb la pantalla, no vaig poder tenir una situació viable. Podria utilitzar la pantalla; recuperar un fitxer de la targeta SD amb èxit, però després no vaig poder arribar a la pantalla TFT. Canviar les biblioteques, canviar l'ordre de les biblioteques i "despullar" el programa al cos més petit per descartar altres possibilitats no em va ajudar.

Per afegir a la meva frustració; a Internet hi ha molts exemples de persones que fan coses similars amb un resultat positiu, hmmm. Pot ser un problema de maquinari a la pantalla TFT? O alguna cosa que no pensava? Qualsevol suggeriment és benvingut per a un proper intent. Al final després de passar-hi algunes nits; Vaig decidir deixar aquest camí. Atès que les imatges només tenen 50x50 píxels (el que resulta a 5.000 bytes cadascun amb un color de 16 bits), l’ESP és capaç d’emmagatzemar-lo a PROGMEM amb facilitat. Per tant, aquest és el truc que he utilitzat.

Aquesta elecció va suposar un altre repte. Com obtenir la imatge BMP que tenia en un format llegible. Després de fer algunes cerques, vaig descobrir el lloc de Henning Karlsen, que va resoldre aquest trencaclosques abans. Va crear un programa que converteix fitxers de tipus-p.webp

Pas 4: Creeu el quadre

Crea el quadre
Crea el quadre
Crea el quadre
Crea el quadre
Crea el quadre
Crea el quadre

Aquesta no és la primera caixa que necessitava. Hi ha moltes caixes estàndard disponibles als proveïdors. Mitjançant una serra petita, un ganivet, un trepant, és fàcil crear un forat per a la pantalla de la caixa. Però mai no vaig aconseguir fer un rectangle precís. Probablement no hi ha prou habilitats i / o paciència;-)

La solució: vaig tenir sort. Tinc una universitat que és com un superhome si es tracta de jugar amb coses tècniques. Això inclou també el disseny i la impressió 3D. Així que va decidir oferir molt del seu temps lliure per mesurar la pantalla TFT i el microcontrolador i crear una caixa al seu voltant. Tot encaixa bé, mireu les imatges. Fins i tot conté accessoris instantanis per a la pantalla, un forat per al connector USB i un lloc per arreglar el microcontrolador.

Gràcies Arjan per aquest súper treball realitzat !!! Encara millor, va ser tan amable de donar accés a tothom al seu treball, de manera que si descarregueu els fitxers de l’enllaç i l’utilitzeu per a la vostra pròpia impressora 3D podeu crear el mateix quadre amb contingut.

Recomanat: