ESP32 Solarna stacja pogodowa: 4 kroki (ze zdjęciami)
ESP32 Solarna stacja pogodowa: 4 kroki (ze zdjęciami)
Anonim
ESP32 Solarna stacja pogodowa
ESP32 Solarna stacja pogodowa

W moim pierwszym projekcie IoT chciałem zbudować Stację Pogodową i wysłać dane do data.sparkfun.com.

Mała poprawka, gdy zdecydowałem się otworzyć konto w Sparkfun, nie przyjmowali większej liczby połączeń, więc wybieram inny kolektor danych IoT thingspeak.com.

Kontynuacja…

System zostanie umieszczony na moim balkonie i będzie pobierał temperaturę, wilgotność i ciśnienie powietrza. Mikrokontroler wybrany do tego projektu to mikrokontroler FireBeetle ESP32 IOT dostarczany przez firmę DFRobot.

Sprawdź stronę wiki DFRobot, aby uzyskać więcej informacji na temat tego mikrokontrolera i sposobu wgrywania kodu za pomocą Arduino IDE.

Wszystkie parametry fizyczne podaje czujnik BME280. Sprawdź również stronę wiki, aby uzyskać więcej informacji.

Aby system był całkowicie „bezprzewodowy”, potrzebną moc zapewniają dwa panele słoneczne o napięciu 6 V, które mogą dostarczyć 2 W mocy. Ogniwa zostaną połączone równolegle. Wyprodukowana energia jest następnie przechowywana w polimerowej baterii litowo-jonowej 3,7 V o pojemności +/- 1000 mAh.

Za zarządzanie energią odpowiadać będzie moduł Solar Lipo Charger firmy DFRobot.

Krok 1: Komponenty

składniki
składniki
składniki
składniki
składniki
składniki

Do tego projektu będziesz potrzebować:

  • 1x - DFRobot FireBeetle ESP32 IOT
  • 1x - DFRobot Gravity - I2C BME280
  • 1x - DFRobot 3,7 V polimerowy litowo-jonowy
  • 1x - Ładowarka słoneczna do liposukcji DFRobot
  • Panel słoneczny 2x - 6V 1W
  • 1x - Płyta perforowana
  • 1x - Żeński nagłówek
  • 1x - Obudowa/pudełko
  • Przewody
  • Śruby

Potrzebne będą również następujące narzędzia:

  • Pistolet na gorący klej
  • Lutownica
  • Wiertarka

Krok 2: Montaż

montaż
montaż
montaż
montaż
montaż
montaż

Mikrokontroler FireBeetle ESP32 IOT jest zasilany baterią 3,7 V, która jest podłączona do ładowarki Solar Lipo w porcie wejściowym baterii. Ogniwa słoneczne są podłączone w portach PWR In. Porty Vcc i GND mikrokontrolera FireBeetle ESP32 IOT są połączone z portami Vout ładowarki Solar Lipo.

Zasilanie BME280 dostarczane jest przez port 3.3V w mikrokontrolerze FireBeetle ESP32 IOT. Komunikacja odbywa się liniami I2C (SDA/SCL).

Aby naprawić wszystkie elementy w pudełku, użyłem płyty perforowanej, kilku nagłówków i przewodów.

W przypadku ogniw słonecznych po prostu użyłem gorącego kleju, aby przymocować je do górnej pokrywy pudełka. Ponieważ pudełko miało już dziury, nie trzeba robić więcej:)

Uwaga: Diody należy umieszczać w panelach słonecznych, aby uniknąć ich uszkodzenia i rozładowania akumulatora.

Więcej na ten temat przeczytasz w:

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

Krok 3: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Abyś mógł korzystać z mojego kodu, konieczne są pewne zmiany.

Pierwszym z nich jest zdefiniowanie nazwy i hasła do sieci Wi-Fi. Drugi to uzyskanie klucza API z Thingspeak.com. Wyjaśnię to poniżej. Możesz także zdefiniować nowy odstęp snu, jeśli chcesz.

Thingspeak.comJeśli nie masz konta Thingspeak, musisz wejść na stronę www.thingspeak.com i zarejestrować się.

Po zweryfikowaniu adresu e-mail możesz przejść do Kanałów i utworzyć nowy kanał. Dodaj zmienne, które chcesz przesłać. W tym projekcie temperatura, wilgotność i ciśnienie.

Przewiń w dół i naciśnij „Zapisz kanał”. Następnie możesz kliknąć Klucze API. I pobierz klucz zapisu API. Następnie dodaj go do pliku kodu.

Jeśli wszystko jest w porządku, Twoja Stacja Pogodowa może zacząć wysyłać dane na Twój kanał.

Krok 4: Wniosek

Wniosek
Wniosek

Jak zawsze w moich projektach będę zostawiał miejsce na przyszłe ulepszenia, nie jest inaczej.

Podczas opracowywania zaczynam martwić się zużyciem energii przez system. Uśpiłem już ESP32 i BME280, a mimo to mam zużycie około 2mA!!! Będąc za to dużym odpowiedzialnym BME280, prawdopodobnie będę potrzebował przełącznika, aby całkowicie wyłączyć moduł w trybie uśpienia.

Inną interesującą funkcją byłoby odzyskanie napięcia baterii. Po kilku badaniach i testach niektórych wewnętrznych funkcji ESP32 nic nie działało. Więc pewnie dodam dzielnik napięcia i podłączę go do wejścia analogowego i odczytam bezpośrednio napięcie. Daj mi znać, jeśli znajdziesz lepsze rozwiązanie.

Proszę napisz do mnie, jeśli znalazłeś jakiś błąd lub masz jakieś sugestie/poprawki lub pytania."Nie nudź się, zrób coś"

Zalecana: