Taula de continguts:

Encara una altra estació meteorològica (Y.A.W.S.): 18 passos (amb imatges)
Encara una altra estació meteorològica (Y.A.W.S.): 18 passos (amb imatges)

Vídeo: Encara una altra estació meteorològica (Y.A.W.S.): 18 passos (amb imatges)

Vídeo: Encara una altra estació meteorològica (Y.A.W.S.): 18 passos (amb imatges)
Vídeo: Part 5 - Treasure Island Audiobook by Robert Louis Stevenson (Chs 22-27) 2024, Juliol
Anonim
Encara una altra estació meteorològica (Y. A. W. S.)
Encara una altra estació meteorològica (Y. A. W. S.)

Aquest projecte és la meva idea de la sempre popular estació meteorològica. El meu es basa en un ESP8266, una pantalla OLED de 0,96”i un conjunt de sensors ambientals BME280. Les estacions meteorològiques semblen ser un projecte molt popular. El meu es diferencia dels altres mitjançant l’ús d’un conjunt de sensors BME280 en lloc del popular sensor de temperatura i humitat DHT22. El BME280 té un sensor de temperatura, humitat i pressió de l’aire. També utilitza la interfície I2C. La pantalla OLED de.96”que s’utilitza també és I2C. Es pot comprar com a I2C o SPI o ambdós. Vaig anar amb la versió I2C per simplificar el cablejat. Tant amb la pantalla OLED com amb la BME280 que utilitzaven I2C i 3.3V, era molt fàcil fabricar un cable ‘Y’ per connectar tots dos dispositius a l’ESP8266. Mentre desenvolupava aquest projecte, em vaig trobar amb diversos projectes d’estacions meteorològiques a Internet que utilitzen l’ESP8266, la mateixa pantalla OLED i el BME280. Per tant, aquesta no és una idea original, però sí una implementació original.

El BME280 proporciona dades internes de l’entorn. La informació meteorològica exterior s’obté a OpenWeatherMap.org. Haureu de registrar-vos a OpenWeatherMap.org per obtenir una clau per accedir a les dades meteorològiques. Ofereixen un servei gratuït, que era el que feia servir. Consulteu el pas Com obtenir una clau OpenWeatherMap per obtenir instruccions sobre com obtenir una clau.

Un servidor d’hora NTP s’utilitza per obtenir l’hora del dia i el dia de la setmana.

Les dades meteorològiques, horàries i ambientals es mostren a la pantalla OLED. Cada informació té la seva pròpia pantalla formatada. Les pantalles es mostren durant cinc segons abans de canviar a una altra. S'accedeix a OpenWeatherMap.org cada quinze minuts per actualitzar la informació meteorològica. El BME280 es llegeix aproximadament cada cinquanta-cinc segons. El tipus de lletra que s’utilitza a cada pantalla s’ajusta automàticament per mostrar tota la informació amb el tipus de lletra més gran possible.

L'ESP8266 també està configurat per ser un servidor web. Es pot accedir a tota la informació meteorològica mitjançant un navegador des del telèfon, la tauleta de l’ordinador. Una de les pantalles que es mostra mostra l'adreça IP del servidor web.

L'ESP8266 presenta diverses formes i mides. Escull un kit de desenvolupament GEEKCREIT DoIt ESP12E V2. Aquest és totalment compatible amb el ‘estàndard’ NodeMCU per a mòduls independents ESP8266. Té un regulador integrat de 3,3 V, un CH340 com a pont USB-a-sèrie i el circuit de restabliment automàtic NodeMCU. Podeu utilitzar qualsevol mòdul ESP8266-12 que tingueu. Tingueu en compte que potser haureu d’afegir un regulador de 3,3V o altres circuits per programar-lo. També en vaig construir un amb un Witty Cloud ESP8266. Em va permetre empaquetar-ho tot en un cub d’1,5 polzades. La placa de pont USB inferior es desconnecta després de la programació. He afegit un passador de capçalera d’angle recte al forat de 3,3 V del tauler Witty. L’arnès es va fabricar amb dues closques de quatre passadors, una de dos passadors i dues petxines d’un pas.

A la foto superior, la placa on es connecta el mòdul ESP8266 és una placa de circuit que he desenvolupat com a placa de sortida per a l’ESP8266 i l’ESP32. Acceptarà les taules ESP8266 de cos estret i compatibles amb NodeMCU, la placa ESP8266 The Witty Cloud o una placa ESP32 de GEEKCREIT. Tots els pins GPIO disponibles es divideixen en capçaleres per facilitar-ne l'accés. He descobert que la majoria de les plaques de desenvolupament mai tenen prou potència i pins de terra. Cada vegada que vulgueu connectar alguna cosa, necessiteu, com a mínim, un pin de terra i la majoria de vegades un pin per alimentar el dispositiu. Cada fila de pins GPIO s’acompanya d’un pin d’alimentació de 3,3 V i un pin de terra. Faig servir el mateix disseny que utilitza First Robotics, el poder al mig. M'agrada aquest disseny perquè si connecteu alguna cosa cap enrere no deixeu anar el fum màgic. La placa té un parell d’extres, un sensor IR, un interruptor de polsador i un LED tricolor. Els jumpers es poden utilitzar per connectar-se a qualsevol d'aquestes funcions. Si esteu interessats en algun d’aquests taulers ESPxx, poseu-vos en contacte amb mi.

Pas 1: què necessiteu:

Què necessitareu
Què necessitareu
Què necessitareu
Què necessitareu
Què necessitareu
Què necessitareu

1 - Junta de sensor de temperatura, humitat i pressió BME280 I2C

Vaig comprar la meva a Ebay a la Xina per uns 1,25 dòlars amb enviament gratuït. També disponible a Adafruit o Sparkfun

Pantalla OLED 1 -.96”, 128x64, I2C mitjançant controlador SSD1306

Vaig comprar la meva a Ebay a la Xina per uns 4,00 dòlars. El meu és blanc. Podeu trobar blau i blanc amb una zona de groc a la part superior. Alguns es venen com a SPI i I2C. És possible que hàgiu de moure algunes resistències per seleccionar l’operació I2C. L’important és que utilitza el xip del controlador SD1306. També disponible a Adafruit.

1 - NodeMCU ESP8266-12 amb CH340

Podeu utilitzar qualsevol mòdul ESP8266-12 que vulgueu. Prefereixo amb el pont USB-a-sèrie CH340. Fa uns anys hi va haver una erupció de xips ponts FTDI i SI falsos, de manera que ja no confio en res més que el CH340.

2 - carcasses de pas DuPont de 4 pins, 0,1 polzades (2,54 mm)

2 - DuPont 2 pin, 2,54mm (0,11 polzades)

12 - Premses femelles DuPont per a filferro de 22-28 awg

Tinc el meu a Ebay. També podeu utilitzar Molex o qualsevol marca que preferiu. Pins clavats o IDC L'elecció és vostra. Aneu amb compte de comprar els passadors correctes per a les vostres closques. No són combinats. També podeu soldar els cables a les plaques i eliminar els connectors. Si utilitzeu els passadors encreuats, necessitareu un encreuador. No intenteu arrugar amb unes alicates. No funciona.

1 - 5V, 1A paquet de potència mínim a la paret.

Aquests són barats i estan disponibles a Ebay. Aconseguiu-ne un amb un connector micro USB o qualsevol altre aparell amb la vostra placa ESP8266.

També necessitareu vuit trossos de fil de 22-28 awg per connectar-ho tot. O només podeu connectar-ho tot a un tros de tauler de perf. Depèn de tu.

He inclòs una imatge del que es va utilitzar per construir l'estació meteorològica amb un Witty Cloud ESP8266. Una imatge detalla on es pot afegir un pin de capçalera d’angle dret a la captació de 3,3V. Una de les dues carcasses de pin es substitueix per dues carcasses d’un pin. Els cables de terra i de 3,3 V s’omplen a les carcasses d’un passador.

Seguiu aquest enllaç per obtenir els fitxers de codi font del dipòsit de GitHub; ESP8266-Estació meteorològica. La carpeta zip o carpeta clonada tindrà una carpeta WeatherStation que conté WeatherStation.ino i BME280.h. Aquests són els fitxers de codi font. També hi ha diversos fitxers pdf. Els fitxers pdf tenen la mateixa informació que aquesta instrucció.

Pas 2: eines:

Eines
Eines
Eines
Eines

Després d’haver provat moltes marques de crimpadores, vaig trobar que l’enginyer japonès PA-21 o PA-09 funciona millor per a les crimpades masculines i femenines de DuPont. Està disponible a Ebay o Amazon. Qualsevol dels dos funcionarà per als pins DuPont. El PA-09 també farà els pins dels connectors JST que s’utilitzen habitualment a les bateries LiPo. Aquí teniu un enllaç a un vídeo sobre com utilitzar els encunyadors Engineer amb encunyadors DuPont; Com utilitzar PA-21 Crimpers

Instructables ha tingut recentment un gran tutorial sobre l’ús de les sembradores Weierli Tools SN-28B amb pins i carcasses DuPont. Podeu veure-la aquí; Feu un bon pinzell de Dupont CADA VEGADA!

Pas 3: Feu l'arnès:

Feu l'arnès
Feu l'arnès
Feu l'arnès
Feu l'arnès

El cablejat és la clau d’aquest projecte. És un cable bàsic ‘Y’ de quatre fils. A sobre hi ha una imatge de l’arnès que vaig fer. La pantalla OLED i el conjunt de sensors BME280 tenen el mateix pinout. Això significa que les dues carcasses de quatre passadors són idèntiques després d’inserir els cables encreuats. Vaig fer el meu arnès amb els cables dobles encrespats que anaven a les dues carcasses de dos pins que s’uneixen a la placa ESP8266. En lloc d’això, podríeu optar per omplir els cables encastats dobles en una de les carcasses de quatre passadors, cosa que fa que sigui una connexió de cadena de margarida. Qualsevol dels dos funcionarà.

  1. Tallar tots els cables al llarg. M'agrada utilitzar colors diferents per a cada filferro; vermell per a 3,3 V, negre per a terra, groc per a SCL i verd per a SDA.
  2. Tireu un extrem de cada cable d’uns 0,1 polzades.
  3. Gireu els fils junts i afegiu-hi una femella.
  4. Una vegada que tots els cables tinguin un encreuament en un extrem, retireu tots els cables d’uns 0,2 polzades.
  5. Gireu els fils de dos cables del mateix color junts.
  6. Un cop torçat, retalleu-lo fins a aproximadament 0,1 polzades i afegiu-hi una femella.
  7. Quan tots els parells de filferros estan arrugats, és hora d’inserir els extrems arrugats a les closques.
  8. Les dues carcasses de quatre pins estan farcides, d’esquerra a dreta, amb vermell, negre, groc, verd o 3,3 V, Gnd, SCL, SDA.
  9. Una de les dues carcasses de pin obté els cables vermells i negres.
  10. Les altres carcasses de dos pins obtenen els cables grocs i verds.

Pas 4: Consell:

Consell
Consell
Consell
Consell
Consell
Consell

Vaig comprovar que quan utilitzo filferro de 28 awg amb els passadors que solen caure. El que faig per evitar-ho és despullar l’extrem del cable el doble de temps que el normal. Gireu els cables exposats junts. A continuació, doblegueu el fil trenat per doblar el gruix. Ara, quan el prenc, el filferro és prou gruixut com per mantenir-se fort.

Pas 5: connecteu-ho tot junt:

Connecteu-ho tot junt
Connecteu-ho tot junt
Connecteu-ho tot junt
Connecteu-ho tot junt
Connecteu-ho tot junt
Connecteu-ho tot junt
  1. Connecteu les carcasses de quatre pins a la pantalla OLED i a les plaques BME280.
  2. Alineeu el fil vermell amb els pins Vcc i 3V3.
  3. Connecteu els dos pins vermells / negres a un parell de pins de 3V3 (3,3V) i GND a la placa ESP8266. Hi ha tres llocs al tauler on els passadors 3V3 i GND estan adjacents. Eviteu els pins Vin (5V) i GND, ja que alliberaran el fum màgic de les vostres plaques OLED i BME280. Assegureu-vos que el cable vermell està connectat al pin 3V3.
  4. Connecteu la carcassa de dos pins de color groc / verd a D1 i D2 a la placa ESP8266. El cable groc (SCL) hauria d’estar a D1.

Comproveu les connexions. Si tot sembla bo, esteu llest per encendre la placa ESP8266.

Pas 6: Com obtenir una clau OpenWeatherMap

Com obtenir una clau OpenWeatherMap
Com obtenir una clau OpenWeatherMap

Necessitareu una clau API per accedir al lloc web OpenWeatherMap.org per obtenir informació meteorològica actual. Els següents passos detallen com registrar-se amb OpenWeatherMap.org i obtenir una clau API.

Seguiu aquest enllaç a OpenWeatherMap.org.

Feu clic a API a prop de la part superior de la pàgina web.

Pas 7: Com obtenir una clau OpenWeatherMap, subscriviu-vos

Com obtenir una clau OpenWeatherMap, subscriviu-vos
Com obtenir una clau OpenWeatherMap, subscriviu-vos

A la part esquerra, a Dades meteorològiques actuals, feu clic al botó Subscriu-me.

Pas 8: Com obtenir una clau OpenWeatherMap, obtenir la clau API

Com obtenir una clau OpenWeatherMap, obtenir la clau API
Com obtenir una clau OpenWeatherMap, obtenir la clau API

Feu clic a Obtenir la tecla API i Comenceu a la columna Lliure.

Pas 9: Com obtenir una clau OpenWeatherMap, registre

Com obtenir una clau OpenWeatherMap, registre
Com obtenir una clau OpenWeatherMap, registre

Feu clic al botó Registre a Com obtenir la clau API (APPID).

Pas 10: Com obtenir una clau OpenWeatherMap, crear un compte

Com obtenir una clau OpenWeatherMap, crear un compte
Com obtenir una clau OpenWeatherMap, crear un compte

Empleneu tots els camps. Quan hàgiu acabat, marqueu la casella de selecció Accepto les Condicions del servei i la Política de privadesa. A continuació, feu clic al botó Crea un compte.

Consulteu el vostre correu electrònic per obtenir un missatge des d'OpenWeatherMap.org. El correu electrònic tindrà la vostra clau API. Haureu de copiar la clau API al codi font de l’estació meteorològica per obtenir el temps actual.

El servei gratuït OpenWeatherMap.org té algunes limitacions. El més important és que no s’hi pot accedir més d’una vegada cada deu minuts. Això no hauria de ser un problema perquè el temps no canvia tan ràpidament. Les altres limitacions tenen a veure amb la informació disponible. Qualsevol de les subscripcions de pagament proporcionarà informació meteorològica més detallada.

Pas 11: configureu l'IDE Arduino:

Configureu l'IDE Arduino
Configureu l'IDE Arduino

El desenvolupament del programa es va fer amb Arduino IDE versió 1.8.0. Podeu descarregar la versió més recent d'IDE Arduino aquí; IDE Arduino. El lloc web d’Arduino té instruccions excel·lents sobre com instal·lar i utilitzar l’IDE. El suport per a l'ESP8266 es pot instal·lar a l'IDE d'Arduino seguint les instruccions que es donen en aquest enllaç: ESP8266 Addon to Arduino. A la pàgina web, feu clic al botó "Clona o descarrega" i seleccioneu "Descarregar zip". El fitxer ReadMe.md conté instruccions sobre com afegir el suport ESP8266 a l'IDE Arduino. És un fitxer de text pla que podeu obrir amb qualsevol editor de text.

Les plaques ESP8266 són de totes mides, formes i utilitzen diferents xips pont USB-a-sèrie. Prefereixo les taules que utilitzen el xip pont CH340. Fa uns anys, FTDI, SI i altres es van cansar de clons barats que afirmaven ser les seves parts. Els fabricants de xips van canviar el seu codi de control per treballar només amb les seves pròpies peces originals. Això va provocar molta frustració quan la gent va descobrir que els ponts USB-a-sèrie ja no funcionaven. Ara fa uns dies que em limito als ponts USB-a-sèrie basats en CH340 per evitar comprar taules que funcionin o no. En qualsevol cas, haureu de trobar i instal·lar el controlador correcte per al xip pont utilitzat a la vostra placa. Aquest és un enllaç al lloc oficial dels controladors CH340; CH341SER_EXE.

L'ESP8266 no té maquinari I2C dedicat. Tots els controladors I2C de l'ESP8266 es basen en el bit-banging. Una de les millors biblioteques ESP8266 I2C és la biblioteca brzo_I2C. Va ser escrit en llenguatge assemblador per a que l’ESP8266 el fes el més ràpid possible. La biblioteca de pantalla OLED que faig servir fa servir la biblioteca brzo_I2C. He afegit codi per accedir a la matriu de sensors BME280 mitjançant la biblioteca brzo_I2C.

Podeu obtenir la biblioteca OLED aquí: Biblioteca ESP8288-OLED-SSD1306.

Podeu obtenir la biblioteca brzo_I2C aquí: Biblioteca Brzo_I2C.

Les dues biblioteques hauran d’estar instal·lades al vostre IDE Arduino. El lloc web Arduino té instruccions sobre com instal·lar biblioteques zip a l’IDE aquí: Com instal·lar biblioteques Zip.

Consell: Després d’instal·lar el paquet de plaques ESP8266 i les biblioteques, tanqueu l’IDE Arduino i torneu-lo a obrir. D’aquesta manera s’assegurarà que les taules i les biblioteques ESP8266 apareguin a l’IDE.

Pas 12: seleccioneu el tauler:

Seleccioneu el vostre tauler
Seleccioneu el vostre tauler

Obriu l'IDE Arduino. Si encara no ho heu fet, instal·leu el complement ESP8266, la biblioteca brzo_i2c i la biblioteca de controladors OLED.

Feu clic a "Eines" a la barra de menú superior. Desplaceu-vos cap avall al menú desplegable fins on es diu "Tauler:". Desplaceu-vos cap al menú desplegable "Administrador de la junta" i desplaceu-vos cap avall fins a; "NodeMCU 1.0 (mòdul ESP-12E)". Feu-hi clic per seleccionar-lo. Deixeu la resta de paràmetres al valor predeterminat.

Pas 13: seleccioneu el port sèrie:

Seleccioneu el port sèrie
Seleccioneu el port sèrie

Feu clic a "Eines" a la barra de menú superior. Desplaceu-vos cap avall al menú desplegable fins a on diu "Port". Seleccioneu el port adequat per al vostre ordinador. Si el vostre port no apareix, o bé la placa no està endollada o no heu carregat el controlador del vostre xip bridge o la vostra placa no estava connectada quan vau obrir l'IDE Arduino. La solució senzilla és tancar l'IDE Arduino, connectar la placa, carregar els controladors que falten i tornar a obrir l'IDE Arduino.

Pas 14: WeatherStation.ino

Podeu utilitzar els botons de descàrrega anteriors o seguir aquest enllaç a GitHub per obtenir el codi font; ESP8266-Estació meteorològica.

Els fitxers WeatherStation.ino i BME280.h han d’estar a la mateixa carpeta. El nom de la carpeta ha de coincidir amb el nom del fitxer.ino (sense l'extensió.ino). Aquest és un requisit d’Arduino.

Pas 15: Editeu WeatherStation.ino

Feu clic a "Fitxer" a la barra de menú superior. Feu clic a "Obre". Al quadre de diàleg Obrir fitxer, cerqueu la carpeta WeatherStation i seleccioneu-la. Hauríeu de veure dues pestanyes, una per a WeatherStation i una per a BME280.h. Si no teniu les dues pestanyes, heu obert la carpeta incorrecta o no heu descarregat els dos fitxers o no els heu desat a la carpeta correcta. Torna-ho a provar.

Haureu d’editar el fitxer WeatherStation.ino per afegir el SSID i la contrasenya de la vostra xarxa WiFi. mireu al voltant de la línia 62 per obtenir el següent;

// posa aquí el SSID i la contrasenya de la teva xarxa WiFi

const char * ssid = "vostresid"; const char * password = "contrasenya";

Substituïu "yourssid" pel SSID de la vostra xarxa WiFi.

Substituïu "contrasenya" per la clau de contrasenya de la vostra xarxa WiFi.

També haureu d’afegir la vostra clau OpenWeatherMap i el codi postal on viviu. Mireu al voltant de la línia 66 el següent;

// posa aquí la teva clau OpenWeatherMap.com i el codi postal

const char * owmkey = "la vostra clau"; const char * owmzip = "el vostre zip, país";

Substituïu "la vostra clau" per la clau obtinguda d'OpenWeatherMap.org.

Substituïu "yourzip, país" pel vostre codi postal i país. El vostre codi postal hauria d'anar seguit d'una coma i el vostre país ("10001, nosaltres").

A continuació, heu d’establir la zona horària i habilitar / desactivar l’horari d’estiu (DST). Mireu al voltant de la línia 85 el següent;

// El temps restant retornat és en segons des del 1970. Per ajustar les zones horàries, resteu

// el nombre de segons de diferència per a la vostra zona horària. El valor negatiu // restarà el temps, el valor positiu afegirà el temps #define TZ_EASTERN -18000 // nombre de segons en cinc hores #define TZ_CENTRAL -14400 // nombre de segons en quatre hores #define TZ_MOUTAIN -10800 // nombre de segons a tres hores #define TZ_PACIFIC -7200 // nombre de segons en dues hores

// Ajusteu el temps per a la vostra zona horària canviant TZ_EASTERN a un dels altres valors.

#define TIMEZONE TZ_EASTERN // canvieu-ho a la vostra zona horària

Hi ha un grup d’instruccions #define que defineixen el desplaçament horari per a diverses zones horàries. Si hi ha la vostra zona horària, substituïu "TZ_EASTERN" a la definició de "FUS HORA". Si la vostra zona horària no apareix a la llista, haureu de crear-ne una. El servidor NTP dóna temps com a hora mitjana de Greenwich. Cal afegir o restar algunes hores (en segons) per arribar a la vostra hora local. Simplement copieu una de les sentències "#define TZ_XXX" i, a continuació, canvieu el nom i el nombre de segons. A continuació, canvieu "TZ_EASTERN" a la vostra nova zona horària.

També heu de decidir utilitzar l'horari d'estiu o no. Per desactivar DST, substituïu el "1" per un "0" a la línia següent;

#define DST 1 // s'estableix a 0 per desactivar l'hora d'estiu

Quan estigui activat, DST avançarà automàticament o retardarà el temps una hora quan sigui apropiat.

Pas 16: pengeu el codi al vostre ESP8266

Pengeu el codi al vostre ESP8266
Pengeu el codi al vostre ESP8266

Feu clic a la icona de fletxa circular cap a la dreta que hi ha just a sota d '"Edita" a la barra de menú superior. Això compilarà el codi i el penjarà al vostre tauler. Si tot es compila i penja correctament, al cap d’uns segons, la pantalla OLED s’hauria d’il·luminar i hauria d’aparèixer el missatge de connexió.

Pas 17: Com veure el lloc web de dades meteorològiques

Com veure el lloc web de dades meteorològiques
Com veure el lloc web de dades meteorològiques

La imatge superior mostra la pàgina web servida per l'Estació Meteorològica. Podeu accedir-hi des del vostre PC, telèfon o tauleta. Simplement obriu un navegador i escriviu l'adreça IP de l'estació meteorològica com a URL. L'adreça IP de l'estació meteorològica es mostra en una de les pantalles de l'estació meteorològica. Feu clic a Actualitza la pàgina per actualitzar la informació.

Pas 18: Enhorabona, ja està

Això és. Ara hauríeu de tenir una estació meteorològica en funcionament. El següent pas pot ser dissenyar i crear una funda per allotjar la vostra estació meteorològica. O potser voleu afegir algunes pantalles més per mostrar el fred, el punt de rosada, la sortida o la posta del sol o un gràfic de canvis de pressió baromètrica o predir el temps mitjançant la pressió baromètrica. Diverteix-te i gaudeix.

Recomanat: