Skip to content

Commit

Permalink
Rebase because I'm a shitty dev
Browse files Browse the repository at this point in the history
  • Loading branch information
FauconSpartiate committed Jun 7, 2022
0 parents commit 2cec286
Show file tree
Hide file tree
Showing 12 changed files with 2,055 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch
src/authentication.h
resources
10 changes: 10 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}
55 changes: 55 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"files.associations": {
"string": "cpp",
"string_view": "cpp",
"array": "cpp",
"deque": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"vector": "cpp",
"initializer_list": "cpp",
"*.tcc": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"fstream": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"istream": "cpp",
"limits": "cpp",
"memory": "cpp",
"new": "cpp",
"ostream": "cpp",
"numeric": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"cinttypes": "cpp",
"utility": "cpp",
"typeinfo": "cpp"
},
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.dimInactiveRegions": false,
"search.exclude": {
".pio": true,
".vscode": true,
"include": true,
"lib": true,
"test": true
}
}
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<div align='center'>
<img src="https://user-images.githubusercontent.com/49079695/172239606-01d727ac-17bc-4d49-90ee-4558da8448fe.svg" height="200"/>

# OmniWeather

A simple weather station, powered by an Adafruit ESP32 Feather. The measured results are uploaded every hour to a SSH server.

</div>

## Measured Data

- Temperature
- Humidity
- Barometric pressure
- Wind speed
- Wind direction
- Rainfall
- UV index

## Features

- Periodic data upload on a SSH server (default is 1h)
- WI-FI connection / reconnection on signal loss

## Usage/Examples

[Here's a page](https://foxi.ltam.lu/2CI/pirda350/public/OmniWeather/Weather_Reports/) that shows the output of this code. It should still be running, and new reports are added every hour.

We also created [an UI in Vue.js](https://foxi.ltam.lu/2CI/collo939/public/OmniWeather/) that goes through the latest hourly report and shows it in an user friendly way. You may take a look at it, it should also be updating every hour.

## Tech Stack

**Microcontroller:** PlatformIO

**Server:** Simple SSH storage server

## Deployment

You'll first need some sensors :

- BME280 sensor for temperature, humidity and pressure
- VEML6070 sensor for UV light

The wind speed, wind direction and rain sensors were 3D printed from this awesome project :
[LTB Weather Station by RobWLakes](https://www.thingiverse.com/thing:2849562). He also explains how to mount the whole thing, and I also took some code from there. Massive thanks to him for that!

## Optimizations

Everything was programmed with my ass, the code is kinda fucked, but it works and that's the only thing that matters. Every optimization is welcome!

## Authors

- [@fauconspartiate](https://github.com/FauconSpartiate)
- [@xavion-lux](https://github.com/xavion-lux)
- [@aiglespartiate](https://github.com/AigleSpartiate)

## License

[GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/)
24 changes: 24 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino
monitor_speed = 115200
lib_deps =
beegee-tokyo/DHT sensor library for ESPx@^1.18
bblanchon/ArduinoJson@^6.19.4
ewpa/LibSSH-ESP32@^2.2.0
adafruit/DHT sensor library@^1.4.3
adafruit/Adafruit BMP280 Library@^2.6.2
adafruit/Adafruit BME280 Library@^2.2.2
adafruit/Adafruit VEML6070 Library@^1.0.6
adafruit/Adafruit AM2320 sensor library@^1.2.2
Loading

0 comments on commit 2cec286

Please sign in to comment.