This shows you the differences between two versions of the page.
iothings:proiecte:2022sric:weatherly-local-station [2023/06/01 20:58] andreea.miu [Android application] |
iothings:proiecte:2022sric:weatherly-local-station [2023/06/01 21:45] (current) andreea.miu [Introduction] |
||
---|---|---|---|
Line 8: | Line 8: | ||
The purpose of this project is to provide a proof-of-concept for adding local weather stations to standard weather applications, in order to have a more granular approach on weather based on customizable location and measured data. | The purpose of this project is to provide a proof-of-concept for adding local weather stations to standard weather applications, in order to have a more granular approach on weather based on customizable location and measured data. | ||
+ | I have also uploaded this project on [[https://github.com/miuAndreea/Weatherly|Github]], for easier access to the full code and to provide the possibility of testing and reproducing the application. | ||
+ | |||
+ | ===== Project demo ===== | ||
+ | |||
+ | A demo video of the application running can be found at the following [[https://drive.google.com/file/d/1CsQ8dCcg7jKgNMY-_ueiRhcQsAjqJyS8/view|link]]. | ||
===== Hardware Setup ===== | ===== Hardware Setup ===== | ||
Line 24: | Line 29: | ||
* SDI/SDA of BME280 - IO21 / GPIO pin 21 of ESP32 (default GPIO ppin for I2C SDA) | * SDI/SDA of BME280 - IO21 / GPIO pin 21 of ESP32 (default GPIO ppin for I2C SDA) | ||
+ | ==== Physical setup ==== | ||
+ | The physical setup is easily reproducible. This allows for scalability if creating multiple local weather stations is desired. The BME280 sensor used comes with female-to-male jumper wires that form a connection port suitable for the sensor. The female end of each wire can be connected to the ESP32 board pins, according to the schematics described above. | ||
+ | |||
+ | {{weatherly-fizic.jpeg?500 |}} | ||
===== Software Setup ===== | ===== Software Setup ===== | ||
Line 29: | Line 38: | ||
==== Arduino code ==== | ==== Arduino code ==== | ||
- | The Arduino code consists of a few key elements used, from both a Firebase connection perspective, and a BME280 sensor perspective. The full code can be found at the Github link provided in the references section. | + | The Arduino code consists of a few key elements used, from both a Firebase connection perspective, and a BME280 sensor perspective. The full code can be found on [[https://github.com/miuAndreea/Weatherly/|this]] Github repository. |
In order to measure altitude correctly, BME280 needs a reference pressure for sea level: | In order to measure altitude correctly, BME280 needs a reference pressure for sea level: | ||
Line 138: | Line 147: | ||
</code> | </code> | ||
- | The full application can be viewed using the link in references. Below are some screenshots that illustrate how to navigate the app for viewing information from the local weather station. | + | The full application can be viewed using [[https://github.com/miuAndreea/Weatherly/|this link]]. Below are some screenshots that illustrate how to navigate the app for viewing information from the local weather station. |
{{ weatherly-app-1.png?500 |}} | {{ weatherly-app-1.png?500 |}} | ||
Line 146: | Line 155: | ||
===== References ===== | ===== References ===== | ||
* https://easyeda.com/editor | * https://easyeda.com/editor | ||
+ | * https://github.com/miuAndreea/Weatherly/ | ||
+ | * https://www.waveshare.com/bme280-environmental-sensor.htm | ||
+ | * https://ocw.cs.pub.ro/courses/iothings/laboratoare/2022/lab4 | ||
+ | * https://ocw.cs.pub.ro/courses/smd | ||
+ | * https://firebase.google.com/docs/database/android/read-and-write | ||