Skip to content

A Python-Django web application enabling users to upload, share, and display data from their environmental monitoring sites via the app's ODM2 database. Data can either be automatically streamed from Internet of Things (IoT) devices, manually uploaded via CSV files, or manually entered into forms.

License

Notifications You must be signed in to change notification settings

WikiWatershed/monitor-my-watershed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ODM2DataSharingPortal

This repository contains the code for a Python-Django web application enabling users to upload, share, and display data from their environmental monitoring sites. Data can either be automatically streamed from Internet of Things (IoT) devices, manually uploaded via CSV files, or manually entered into forms.

The ODM2 Data Sharing Portal is built on the Observations Data Model Version 2 (ODM2) information model and supporting software ecosystem, includuing an ODM2 database instance in PostgreSQL for data storage in the backend. Any environmental IoT device or computer can upload data to the web app via HTTP POST. Complete documentation is available in our open-access journal article "Low-Cost, Open-Source, and Low-Power: But What to Do With the Data?".

Data Sharing Portal Architecture

The ODM2 Data Sharing Portal was initially designed to support the EnviroDIY community for do-it-yourself environmental science and monitoring and their network of open-source monitoring stations built with Arduino-framework dataloggers such as the EnviroDIY Mayfly Datalogger.

The ODM2 Data Sharing Portal was extended to also support the Leaf Pack Network of teachers, students, and citizen monitors who assess aquatic ecosystem health through aquatic macroinvertebrate surveys using Leaf Pack Experiment stream ecology kits.

The main instance of this application is currently hosted at http://monitormywatershed.org.

Deployment Guide

A guide for deploying the data sharing portal is available here.

Example POST Requests for Streaming Data

The ODM2DataSharingPortal relies on devices that can push data to the web using HTTP POST requests. We've included some documentation where you can view example POST requests to learn the syntax.

EnviroDIY Datalogger Code and Libraries

The source code for the EnviroDIY Mayfly loggers, examples, and libraries are hosted in GitHub at https://github.com/EnviroDIY.

Credits

Funding for this work was provided by the William Penn Foundation under grant 158-15.

The authors gratefully acknowledge the work and contributions of the EnviroDIY community and those who participated in testing and advancing the Monitor My Watershed Data Sharing Portal software.

About

A Python-Django web application enabling users to upload, share, and display data from their environmental monitoring sites via the app's ODM2 database. Data can either be automatically streamed from Internet of Things (IoT) devices, manually uploaded via CSV files, or manually entered into forms.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published