Inhoudsopgave:

ESP32 zonne-weerstation: 4 stappen (met afbeeldingen)
ESP32 zonne-weerstation: 4 stappen (met afbeeldingen)

Video: ESP32 zonne-weerstation: 4 stappen (met afbeeldingen)

Video: ESP32 zonne-weerstation: 4 stappen (met afbeeldingen)
Video: Arduino voor de radioamateur deel 2 2024, Juli-
Anonim
ESP32 zonne-weerstation
ESP32 zonne-weerstation

Voor mijn eerste IoT-project wilde ik een weerstation bouwen en de gegevens naar data.sparkfun.com sturen.

Kleine correctie, toen ik besloot mijn account in Sparkfun te openen, accepteerden ze geen verbindingen meer, dus koos ik voor een andere IoT-gegevensverzamelaar thingspeak.com.

Doorgaan…

Het systeem komt op mijn balkon te staan en haalt temperatuur, luchtvochtigheid en luchtdruk op. De microcontroller die voor dit project is geselecteerd, is de FireBeetle ESP32 IOT-microcontroller van DFRobot.

Raadpleeg de DFRobot-wikipagina voor meer informatie over deze microcontroller en hoe u de code kunt uploaden met Arduino IDE.

Alle fysieke parameters worden gegeven door de BME280-sensor. Kijk ook op de wiki-pagina voor wat meer info.

Om het systeem volledig "draadloos" te maken wordt de benodigde stroom geleverd door twee 6V zonnepanelen die 2W vermogen kunnen leveren. De cellen worden parallel geschakeld. De geproduceerde energie wordt vervolgens opgeslagen in een 3.7V Polymeer Lithium Ion Batterij met +/- 1000mAh capaciteit.

De Solar Lipo Charger module van DFRobot zal verantwoordelijk zijn voor het energiebeheer.

Stap 1: Componenten

Componenten
Componenten
Componenten
Componenten
Componenten
Componenten

Voor dit project heb je nodig:

  • 1x - DFRobot FireBeetle ESP32 IOT
  • 1x - DFRobot Zwaartekracht - I2C BME280
  • 1x - DFRobot 3.7V Polymeer Lithium Ion
  • 1x - DFRobot Solar Lipo-oplader
  • 2x - 6V 1W zonnepaneel
  • 1x - Perfboard
  • 1x - Vrouwelijke kop
  • 1x - Behuizing/doos
  • Draden
  • Schroeven

Verder heb je de volgende tools nodig:

  • Heet lijmpistool
  • Soldeerbout
  • Dril machine

Stap 2: Montage

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

De FireBeetle ESP32 IOT-microcontroller wordt gevoed door de 3.7V-batterij die is aangesloten op de Solar Lipo-oplader in de batterij-invoerpoort. De zonnecellen worden aangesloten in de PWR In poorten. De Vcc- en GND-poorten van de FireBeetle ESP32 IOT Microcontroller zijn verbonden met Vout-poorten van de Solar Lipo Charger.

De BME280-stroom wordt geleverd door de 3.3V-poort in de FireBeetle ESP32 IOT-microcontroller. De communicatie verloopt via de I2C lijnen (SDA/SCL).

Om alle componenten in de doos te bevestigen heb ik een perfboard, enkele headers en draden gebruikt.

Voor de zonnecellen heb ik gewoon hete lijm gebruikt om ze in de bovenklep van de doos te bevestigen. Omdat de doos al gaten had, hoef je niet meer te doen:)

Let op: Diodes dienen in de zonnepanelen te worden geplaatst om beschadiging en ontlading van de accu te voorkomen.

U kunt er meer over lezen in:

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

Stap 3: Coderen

Code
Code
Code
Code
Code
Code

Om mijn code te gebruiken, zijn enkele wijzigingen nodig.

De eerste is het definiëren van uw wifi-netwerknaam en wachtwoord. De tweede is het verkrijgen van een API-sleutel van Thingspeak.com. Ik zal het hieronder uitleggen. Ook kunt u desgewenst een nieuw slaapinterval definiëren.

Thingspeak.comAls je geen Thingspeak-account hebt, moet je naar www.thingspeak.com gaan en jezelf registreren.

Nadat je e-mailadres is geverifieerd, kun je naar Kanalen gaan en een nieuw kanaal maken. Voeg de variabelen toe die u wilt uploaden. Voor dit project, Temperatuur, Vochtigheid en Druk.

Scroll naar beneden en druk op "Kanaal opslaan". Hierna kunt u in API Keys klikken. En haal de API-schrijfsleutel op. Voeg het dan toe aan je codebestand.

Als alles correct is, kan uw weerstation beginnen met het verzenden van gegevens naar uw kanaal.

Stap 4: Conclusie

Conclusie
Conclusie

Zoals altijd in mijn projecten zal ik ruimte geven voor toekomstige verbeteringen, dit is niet anders.

Tijdens de ontwikkeling begin ik me zorgen te maken over het energieverbruik van het systeem. Ik heb de ESP32 en BME280 al in slaapstand gezet en toch heb ik een verbruik van rond de 2mA!!! Omdat de BME280 hier de grote verantwoordelijke voor is, zal ik waarschijnlijk een schakelaar nodig hebben om de module volledig uit te schakelen tijdens de slaapstand.

Een andere interessante functie zou zijn om de batterijspanning op te halen. Na wat onderzoek en testen van enkele interne functies van de ESP32 werkte niets. Dus waarschijnlijk zal ik een spanningsdeler toevoegen en deze aansluiten op een analoge ingang en direct de spanning uitlezen. Laat het me weten als je met een betere oplossing komt.

Schrijf me alsjeblieft als je een fout hebt gevonden of als je een suggestie/verbetering of vragen hebt. "Verveel je niet, doe iets"

Aanbevolen: