Indholdsfortegnelse:

ESP8266 Vejrstationur: 4 trin
ESP8266 Vejrstationur: 4 trin

Video: ESP8266 Vejrstationur: 4 trin

Video: ESP8266 Vejrstationur: 4 trin
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, November
Anonim
ESP8266 Vejrstationur
ESP8266 Vejrstationur

Dette projekt er en god måde at vise tid og vejr i en lille praktisk pakke. Jeg vil forklare projektet, hvordan det fungerer og vise koden her.

Du kan trykke på forskellige knapper for at vise det aktuelle vejr på et bestemt sted samt temperatur og tryk. Standardvisningen er den tid, der trækkes fra en NTP -server.

Det er ikke nødvendigt at indstille tiden, da tiden er synkroniseret fra NTP -serveren og er meget præcis. I denne konfiguration har jeg tiden og den lokale IP -adresse. Du kan ændre koden til at inkludere dato, vejr, tryk og temperatur, der skal vises på hovedskærmen eller på knapperne.

Trin 1: Skematisk

Det skematiske
Det skematiske
Det skematiske
Det skematiske

Skematikken er relativt ligetil og let at

følge efter. Der er en gerber -fil, hvis du vil spinde dit eget printkort. Hele kredsløbet drives af 5V fra en mikro -USB -forbindelse. Dette gør kredsløbet enkelt og let at drive. 5V tilføres en LM 3940 til en Low Dropout 3.3V -regulator, som giver 3.3V til ESP8266. Der er et USB -stik på ESP8266, men jeg valgte ikke at bruge det generelt, fordi 5V også driver LCD'en.

3.3V skal bruges med ESP8266, du kan ikke køre det direkte med 5V, da det vil dræbe brættet.

De to taktile switches er forbundet til D5 og D6 og er konfigureret i koden til at vise forskellige oplysninger på skærmen. Jeg har disse indstillet til temperatur/tryk og prognose.

Alle komponenter er let håndloddet på perfboard eller gerber er tilgængelig i min GitHub på

Trin 2: Koden

github.com/allenelectronics/esp8266weatherstation

Koden er samlet i Arduino IDE og har brug for en vis konfiguration for at fungere

For det første skal du installere ESP8266 -kortet til IDE for at uploade kode til det.

Omfattende instruktioner om, hvordan du gør dette, er her:

For at få vejrfunktionen valgte jeg at bruge RemoteMe, som indsamler vejrdata direkte fra API og genererer kode, som kan indsættes i din kode. Du bliver nødt til at registrere og konfigurere datastrømmen på deres websted:

Dokumentation om RemoteMe findes her:

Der er nogle specifikke definitioner, der er unikke for din opsætning, som du skal fuldføre før upload:

#define WIFI_NAME "SSID GOES HERE"

#define WIFI_PASSWORD "PASSWORD GOES HERE"

#define DEVICE_ID 1

#define DEVICE_NAME "OBTAIN FROM REMOTEME. ORG"

#define TOKEN "HENT FRA REMOTEME. ORG"

Definitionerne her skal angives af dig baseret på dine wifi -detaljer og det token, du får fra RemoteMe.

Du skal sørge for, at alle disse biblioteker er installeret og inkluderet i koden. Jeg har inkluderet links til dem, der er sværere at få.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#omfatte

#omfatte

#omfatte

#omfatte

Den sidste del, der skal ændres, er din placering, da dette projekt ikke bruger GPS. Du skal ændre "LOCATION" -strengen:

ellers hvis (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("LOCATION / n");

Serial.println (fc);

lcd.clear ();

lcd.print ("LOCATION");

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

forsinkelse (5000);

prevButtonState2 = buttonState2;

Trin 3: Bygningen

Bygningen
Bygningen
Bygningen
Bygningen

Bygningen

På det tidspunkt havde jeg ikke adgang til en 3d -printer, dette var mit sidste projekt ved hjælp af en hyldetaske. Jeg brugte en let tilgængelig alarmpanelkasse, der er designet til 16x2 LCD.

Link: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Alt er proppet inde i kabinettet, 16x2 LCD-displayet er limet til frontpanelet med printkortet varmlimet på plads.

Trin 4: Konklusion

Konklusion

Dette er et pænt projekt til et desktop digitalt ur, der ikke behøver justeres eller indstilles, det tager tid fra en NTP -server og viser det på en klar baggrundsbelyst LCD.

Dette er ikke for en komplet nybegynder, da der er en vis konfiguration af den nødvendige kode, og datastrømme også skal konfigureres. Hvis du har spørgsmål eller kommentarer, er du velkommen til at efterlade mig en kommentar.

Anbefalede: