All Projects → EnviroDIY → ModularSensors

EnviroDIY / ModularSensors

Licence: other
An Arduino library to give environmental sensors a common interface of functions for use with Arduino-framework dataloggers, such as the EnviroDIY Mayfly.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ModularSensors

arduino-primo-tutorials
Here some tutorials to explain and show how to make use of the new features of the Arduino Primo and Arduino Primo Core, such as Wifi, BLE, NFC, InfraRed and various sensors. Hope you can find this helpful to create amazing stuff, save the planet or make a cool project to look smart at the dinning table with your uncles.
Stars: ✭ 12 (-80.95%)
Mutual labels:  arduino-library
qp-arduino
QP real-time embedded frameworks/RTOS for Arduino (AVR and SAM)
Stars: ✭ 37 (-41.27%)
Mutual labels:  arduino-library
ServoTimer2
ServoTimer2 is a simple library for Arduino 1.x that does not use Timer1 in case of a conflict.
Stars: ✭ 29 (-53.97%)
Mutual labels:  arduino-library
Arduino BrushlessServo
Arduino library to control precisely a Brushless Motors without an ESC, same interface as Servo library.
Stars: ✭ 17 (-73.02%)
Mutual labels:  arduino-library
Queue
Queue handling library (designed on Arduino)
Stars: ✭ 73 (+15.87%)
Mutual labels:  arduino-library
PMserial
Arduino library for PM sensors with serial interface
Stars: ✭ 41 (-34.92%)
Mutual labels:  arduino-library
ArduinoJoystickWithFFBLibrary
An Arduino Joystick Library With Force Feedback Feature
Stars: ✭ 128 (+103.17%)
Mutual labels:  arduino-library
ps2dev
Arduino library to emulate PS2 keyboard/mouse
Stars: ✭ 67 (+6.35%)
Mutual labels:  arduino-library
Adafruit CCS811
Arduino driver for CCS811 digital gas sensor
Stars: ✭ 60 (-4.76%)
Mutual labels:  arduino-library
library-registry
Arduino Library Manager list
Stars: ✭ 95 (+50.79%)
Mutual labels:  arduino-library
ESP32BleAdvertise
Simple library for BLE advertise using ESP32 in Arduino
Stars: ✭ 39 (-38.1%)
Mutual labels:  arduino-library
SparkFun CCS811 Arduino Library
A library to drive the AMS CCS811 air quality sensor
Stars: ✭ 38 (-39.68%)
Mutual labels:  arduino-library
SparkFun SerLCD Arduino Library
A library to seamlessly control the SparkFun SerLCD over I2C, SPI, and Serial.
Stars: ✭ 18 (-71.43%)
Mutual labels:  arduino-library
CS5490
Arduino / ESP Library for Communication with the Cirrus Logic CS5490 Chip
Stars: ✭ 17 (-73.02%)
Mutual labels:  arduino-library
DCCpp
This is the library version of DCC++ for Arduino, to control railroading DCC devices.
Stars: ✭ 18 (-71.43%)
Mutual labels:  arduino-library
MPU6050 light
Lightweight, fast and simple library to communicate with the MPU6050
Stars: ✭ 73 (+15.87%)
Mutual labels:  arduino-library
SerialTransfer
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, or SPI
Stars: ✭ 273 (+333.33%)
Mutual labels:  arduino-library
max1704x
Arduino library for the MAX17043 and MAX17044 LiPo Battery Fuel Gauge.
Stars: ✭ 16 (-74.6%)
Mutual labels:  arduino-library
Arduino-Shell
RPN Postscript/Forth Command Shell for Arduino
Stars: ✭ 19 (-69.84%)
Mutual labels:  arduino-library
arduino-cereal
Drop-in replacement for Arduino's serial monitor with variable watches.
Stars: ✭ 45 (-28.57%)
Mutual labels:  arduino-library

ModularSensors


The EnviroDIY ModularSensors Library

If you're new to EnviroDIY, I suggest you check out the Just Getting Started section of the documentation!

This Arduino library gives environmental sensors a common interface of functions for use with Arduino-compatible dataloggers, such as the EnviroDIY Mayfly. The ModularSensors library is specifically designed to support wireless, solar-powered environmental data logging applications, that is, to:

  • Retrieve data from many physical sensors;
  • Save that data to a SD memory card;
  • Transmit that data wirelessly to a web server; and
  • Put the processor, sensors and all other peripherals to sleep between readings to conserve power.

The ModularSensors library coordinates these tasks by "wrapping" native sensor libraries into a common interface of functions and returns. These wrapper functions serve to harmonize and simplify the process of iterating through and logging data from a diverse set of sensors and variables. Using the common sensor and variable interface, the library attempts to optimize measurement timing as much as possible to reduce logger "on-time" and power consumption.

Although this library was written primarily for the EnviroDIY Mayfly data logger board, it is also designed to be compatible with a variety of other Arduino-based boards as well.

There is extensive documentation available in the ModularSensors github pages including details of the class structures and example code.

Supported Sensors

For some generalized information about attaching sensors to an Arduino style board, see the Sensor Notes page.

Data Endpoints

Within ModularSensors, the "dataPublisher" objects add the functionality to send data to remote web services. The currently supported services are the Monitor My Watershed data portal, ThingSpeak, and the Ubidots IoT platform.

Supported Cellular/Wifi Modules:

For information common to all modems and for tables of the proper class, baud rate, and pins to uses, see the Modem Notes page.

Contributing

Open an issue to suggest and discuss potential changes/additions. Feel free to open issues about any bugs you find or any sensors you would like to have added.

If you would like to directly help with the coding development of the library, there are some tips here on how to set up PlatformIO so you can fork the library and test programs while in the library repo. Please take time to familiarize yourself with the terminology, classes and data structures this library uses. This library is built to fully take advantage of Objecting Oriented Programing (OOP) approaches and is larger and more complicated than many Arduino libraries. There is extensive documentation on our github pages and an enormous number of comments and debugging printouts in the code itself to help you get going.

License

Software sketches and code are released under the BSD 3-Clause License -- See LICENSE.md file for details.

Documentation is licensed as Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) copyright.

Hardware designs shared are released, unless otherwise indicated, under the CERN Open Hardware License 1.2 (CERN_OHL).

Acknowledgments

EnviroDIY™ is presented by the Stroud Water Research Center, with contributions from a community of enthusiasts sharing do-it-yourself ideas for environmental science and monitoring.

Sara Damiano is the primary developer of the EnviroDIY ModularSensors library, with input from many other contributors.

This project has benefited from the support from the following funders:

  • William Penn Foundation
  • US Environmental Protection Agency (EPA)
  • National Science Foundation, awards EAR-0724971, EAR-1331856, ACI-1339834
  • Stroud Water Research Center endowment
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].