Solar Station Project

Autor: Macarie Razvan-Cristian 332CB

Project Description

Solar station este o statie meteo autonoma incarcata de la soare. Datele sunt preluate, ingerate de influxDB si afisate in Grafana intr-un dashboard. Temperatura, presiunea atmosferica si umiditatea sunt esalonate o data la 30 de secunde. Microcontroller-ul sta in sleep intre esantionari pentru a pierde cat mai putina energie.

Hardware Description

Statia meteo primeste energia de la baterii lithium ion incarcate de la soare, informatia de la senzori si posteaza prin internet rezultatele. Am pus microcontroller-ul in sleep mode majoritatea timpului, pentru ca in mod realistic nu se schimba temperatura atat de mult in cateva secunde. Pana si 30 secunde s-ar putea sa fie prea putin timp intre esantionari. Am pus tot montajul electric intr-o cutie in care am dat gauri in zona senzorilor pentru a primi aer de afara si am izolat cat am putut de bine montajul de influenta soarelui. Am ridicat sistemul de la sol ca sa nu faca contact termic cu suprafata pe care sta, am acoperit cu folie de staniol toate suprafetele care stau la soare ca sa nu ajungem la un fel de sera si am inclinat panoul solar intr-un unghi ca sa fie mai eficienta capturarea energiei de la soare. Mult timp a fost petrecut in testarea sistemului si sa ma asigur ca fiecare componenta functioneaza corect (ca bateriile se incarca de la soare, ca supravietuieste pe balcon fara sa moara etc.).

Componente necesare:

  • Lolin32 microcontroller esp32
  • Panou solar 3W
  • Doua baterii lithium ion ICR18650 3.7V de 2600mAh
  • Lithium ion battery charger TP4056
  • Senzor temperatura si presiune atmosferica BMP280
  • Senzor de temperatura si umiditate DHT11

Software Description

Pentru ingerarea datelor folosim InfluxDB si pentru afisare folosim Grafana.

Modul de functionare al proiectului poate fi descris in pseudocod in felul urmator:

init_wifi()
init_influx()
init_sensors()

while true:
      read_sensors()
      send_influxDB()
      hibernate(30s)

In grafana folosim flux pentru querry-uri din influx:

from(bucket: "esp")
  |> range(start: -1d)
  |> filter(fn: (r) =>
    r._measurement == "wifi_status" and (
      r._field == "dht temp" or
      r._field == "mbe temp"
    )
  )

InfluxDB

Grafana

Bibliografie

iothings/proiecte/2022sric/solarstation.txt · Last modified: 2023/06/02 03:38 by razvan.macarie
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0