58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
# Imperial College London
|
|
# Sensing and IoT Coursework Project
|
|
#### Reducing water waste by automatically dispensing lower bound water amounts, calculated using a ML Model using present weather data
|
|
|
|
## About
|
|
About
|
|
|
|
## Project diagram
|
|
```TODO```
|
|
|
|
## File Structure
|
|
|
|
<!-- <details> -->
|
|
<summary>This part is long, click to expand</summary>
|
|
|
|
- `data_collector/` Main data collector and uploader module
|
|
- `secrets/` Private API keys
|
|
- `icl-iot-weather-firebase-adminsdk.json` Firebase key for database access
|
|
- `weather_api_key.txt` OpenWeather API key
|
|
- `data_colelctor.py` Python script for data collection
|
|
- `Dockerfile` Containerizing the application
|
|
- `requirements.txt` Python requirements for running the script
|
|
- `data_processor/` ML on demand data processing module
|
|
- `firebase_python_image/` Since building a tf image takes ages, we build it once and use it for testing the ml script later
|
|
- `Dockerfile` Building a tensorflow image for armv7l
|
|
- `secrets/` Private API keys
|
|
- `icl-iot-weather-firebase-adminsdk.json` Firebase key for database access
|
|
- `watering_model.model/` Saved ML modelfor water predicitons
|
|
- `Dockerfile` Containerizing the application
|
|
- `water_predictor.py` On demand, real time watering predictor script
|
|
- `Diagrams/` Process and block diagrams
|
|
- `block_and_process_diagrams.drawio` TODO
|
|
- `lora_nodes/` Scripts running on the Pi Zero nodes
|
|
- `master/` Scripts running on the primary, internet connected Pi
|
|
- `irrigator/` Daily watering module
|
|
- `Dockerfile` Containerizing the application
|
|
- `irrigator.py` Daily watering script
|
|
- `requirements.txt` Python requirements for running the script
|
|
- `Dockerfile` Containerizing the application
|
|
- `main.py` Main data server, collects data from satellite over LoRa and returns over http
|
|
- `requirements.txt` Python requirements for running the script
|
|
- `satellite/` Data reading and sending module for the sensor Pi
|
|
- `Dockerfile` Containerizing the application
|
|
- `main.py` LoRa commend listener, temperature reader and pump controller
|
|
- `requirements.txt` Python requirements for running the script
|
|
- `manual_data_processing/` iPython notebooks used for data processing and model training
|
|
- `datasets/*` Various datasets used for processing and training
|
|
- TODO
|
|
- `site/*` Monitoring website, HTML+CSS+JS, hosted on Firebase
|
|
- `.gitignore` Gitignore file preventing all my API keys from showing up online...
|
|
- `README.md` See `README.md`
|
|
|
|
<!-- </details> -->
|
|
|
|
## Maintainers and Contributors
|
|
Max Hunt (me@maxhunt.design)
|
|
-
|