Innholdsfortegnelse:

ESP32 Solar Weather Station: 4 trinn (med bilder)
ESP32 Solar Weather Station: 4 trinn (med bilder)

Video: ESP32 Solar Weather Station: 4 trinn (med bilder)

Video: ESP32 Solar Weather Station: 4 trinn (med bilder)
Video: DIY WiFi Solar Powered Weather Station with ESPHome 2024, November
Anonim
ESP32 solværsstasjon
ESP32 solværsstasjon

For mitt første IoT -prosjekt ønsket jeg å bygge en værstasjon og sende dataene til data.sparkfun.com.

Liten korreksjon, da jeg bestemte meg for å åpne kontoen min i Sparkfun, godtok de ikke flere tilkoblinger, så jeg velger en annen IoT -datainnsamler thingspeak.com.

Fortsetter…

Systemet vil bli plassert på balkongen min og vil hente temperatur, fuktighet og lufttrykk. Mikrokontrolleren som er valgt for dette prosjektet er FireBeetle ESP32 IOT mikrokontroller levert av DFRobot.

Sjekk DFRobot wiki -siden for mer informasjon om denne mikrokontrolleren og hvordan du laster opp koden ved hjelp av Arduino IDE.

Alle de fysiske parametrene er gitt av BME280 -sensoren. Sjekk også wikisiden for mer informasjon.

For å gjøre systemet helt "trådløst" er nødvendig strøm levert av to 6V solcellepaneler som kan levere 2W strøm. Cellene kobles parallelt. Energiproduktene lagres deretter i et 3,7V polymer litiumionbatteri med +/- 1000mAh kapasitet.

Solar Lipo Charger -modulen fra DFRobot vil være ansvarlig for energiledelsen.

Trinn 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter

For dette prosjektet trenger du:

  • 1x - DFRobot FireBeetle ESP32 IOT
  • 1x - DFRobot Gravity - I2C BME280
  • 1x - DFRobot 3.7V Polymer litiumion
  • 1x - DFRobot Solar Lipo -lader
  • 2x - 6V 1W solcellepanel
  • 1x - Perfboard
  • 1x - Kvinneoverskrift
  • 1x - Kapsling/eske
  • Ledninger
  • Skruer

Du trenger også følgende verktøy:

  • Varm limpistol
  • Loddejern
  • Drill maskin

Trinn 2: Montering

montering
montering
montering
montering
montering
montering

FireBeetle ESP32 IOT mikrokontroller drives av et 3,7 V batteri som er koblet til Solar Lipo Charger i batteriinngangsporten. Solcellene er koblet til PWR In -portene. Vcc- og GND -portene på FireBeetle ESP32 IOT -mikrokontrolleren er koblet til Vout -portene på Solar Lipo Charger.

BME280 -strømforsyningen leveres av 3,3V -porten i FireBeetle ESP32 IOT mikrokontroller. Kommunikasjonen gjøres gjennom I2C -linjene (SDA / SCL).

For å fikse alle komponentene i esken brukte jeg et perfboard, noen hoder og ledninger.

For solcellene brukte jeg bare varmt lim for å fikse dem i toppdekselet på esken. Siden boksen allerede hadde hull, trenger du ikke gjøre mer:)

Merk: Dioder bør plasseres i solcellepanelene for å unngå å skade dem og tømme batteriet.

Du kan lese mer om det i:

www.instructables.com/community/Use-of-diodes-when-connecting-solar-panels-in-para/

Trinn 3: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Noen endringer er nødvendige for at du skal bruke koden min.

Den første er å definere wifi -nettverksnavn og passord. Den andre er å få en API -nøkkel fra Thingspeak.com. Jeg vil forklare det nedenfor. Du kan også definere et nytt soveintervall, hvis du ønsker det.

Thingspeak.com Hvis du ikke har en Thingspeak -konto, må du gå til www.thingspeak.com og registrere deg selv.

Etter at e -posten din er bekreftet, kan du gå til Kanaler og opprette en ny kanal. Legg til variablene du vil laste opp. For dette prosjektet, temperatur, fuktighet og trykk.

Rull ned og trykk "Lagre kanal". Etter dette kan du klikke i API -nøkler. Og hent API -skrive -nøkkelen. Legg den deretter til i kodefilen din.

Hvis alt er riktig, kan værstasjonen begynne å sende data til kanalen din.

Trinn 4: Konklusjon

Konklusjon
Konklusjon

Som alltid i mine prosjekter vil jeg gi rom for fremtidige forbedringer, dette er ikke annerledes.

Under utviklingen begynner jeg å bli bekymret for energiforbruket til systemet. Jeg har allerede lagt ESP32 og BME280 i dvale, og likevel har jeg et forbruk på rundt 2mA !!! Siden BME280 er den store ansvarlige for dette, trenger jeg sannsynligvis en bryter for å slå av modulen helt i hvilemodus.

En annen interessant funksjon ville være å hente batterispenningen. Etter noen undersøkelser og tester av noen interne funksjoner i ESP32 fungerte ingenting. Så sannsynligvis vil jeg legge til en spenningsdeler og koble den til en analog inngang og lese spenningen direkte. Gi meg beskjed hvis du finner en bedre løsning.

Skriv til meg hvis du har funnet noen feil eller hvis du har forslag/forbedringer eller spørsmål. "Ikke kjed deg, gjør noe"

Anbefalt: