Giter Site home page Giter Site logo

jasonacox / weatherstationwifi Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 0.0 685 KB

ESP8266 NodeMCU Based Solar Powered WiFi Weather Station - Record Temperature (x2), Humidity, Pressure, Rain, and Voltage

License: MIT License

C++ 96.80% C 3.20%
esp8266 nodemcu weather-station solar-power temperature-sensor humidity-sensor pressure-sensor bme280 tp4056 anemometer rain-sensor wifi

weatherstationwifi's Introduction

WeatherStationWiFi

ESP8266 NodeMCU Based Solar Powered WiFi Weather Station

Description

This project builds a solar powered Weather Station to return wather data via WiFi. The project uses:

  • ESP8266 NodeMCU - Arduino controller with WiFi
  • BME280 module to measure Temperature, Humidity, and Pressure
  • (optional) DS18B20 One-Wire bus temperature sensor for secondary measurement.
  • 2N2222 NPN transitor powered water detector circuit to detect Rain.
  • 5V Solar cell, 3.7V lithium ion battery and a TP4056 constant-current/constant-voltage linear charger to charge the battery during the day.

Circuit

Note: Currently the circuit prototype is being tested.

Schematic

Circuit Board

List of Materials

Microcontroller

  • 1 x ESP8266 NodeMCU - Amazon

Sensors

  • 1 x BME280 module - Amazon
  • 1 x DS18B20 (optional) - Amazon
  • 1 x 2N2222 NPN (rain detector) - Amazon
  • 1 x KY-003 / A3144E Hall Sensor - Amazon

Solar Power Supply

  • 1 x 2.5W 5V/500mAh Solar Cell - Amazon
  • 1 x 5V Micro USB 1A TP4056 Lithium Battery Charging Board with Protection Charger Module Amazon
  • 1 x 3.7V 3000mAh 755068 Battery Rechargeable Lithium Polymer ion Battery Pack - Amazon
  • 1 x 3.3V Linear Regulator 250MA MCP1700-3302E/TO - DigiKey

Misc

  • 1 x GK1007 Solder-able Breadboard Amazon
  • 1 x 440 Ohm Resistor
  • 1 x 1k Ohm Resistor
  • 1 x 5.1k Ohm Resistor (Optional for DS18B20)
  • 1 x 51k Ohm Resistor
  • 1 x 100k Ohm Resistor
  • 1 x Red LED
  • 1 x 100uF Electrolytic Capacitor DigiKey
  • 1 x 220uF Electrolytic Capacitor
  • 1 x 0.1uF Ceramic Capactior - Amazon

Testing

I tested the prototpye for over a week. The solar cell is able to charge the battery sufficiently to last through the night with very little drop in voltage. The following demonstrates the voltage plotted over several days. This data came directly from the ESP8266 as polled on the analog (A0) input every 5 minutes.

Voltage over Time

3D Printed Parts

ANEMOMETER: An anemometer to detect wind speed can be 3D printed from here. I inserted a small 5x1mm cylinder magnet in the cover and added a KY-003 module (a tiny circut board with an A3144E Hall Sensor) in the post to measure the rotation. I removed the built-in LED by cutting the circuit trace from the LED to the signal line in order to save power (and keep the anemometer from flashing all night).

BOX: To house the ESP8266 circuit board, battery and sensors, I create a project box with vents (for the sensor). It can be downloaded here.

SOLAR CELL HOLDER: A designed a simple solar panel bracket with TinkerCad and it can be downloaded here.

References

weatherstationwifi's People

Contributors

jasonacox avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.