About the project
In the world of water resource management, professional monitoring systems are often large, expensive, and disconnected. This hints at two hurdles inhibiting the widespread deployment of hydroclimatic monitoring systems. The first hurdle is the reliance on legacy industrial data loggers as the primary sensor interface. These systems are large, complex, expensive, and power hungry. The second hurdle is the lack of an affordable data collection network. Many systems log data to SD cards or USB sticks which are manually collected. Other systems rely on costly cellular data connections to deliver relatively small amounts of data to proprietary data collection software. Neither of these solutions are ideal for wide-spread watershed research. This project overcomes these obstacles that inhibit the proliferation of watershed monitoring systems.
Hydroclimatic parameters such as temperature, flow, pH, turbidity, etc. change very slowly relative to the data transmission speed of modern computers and computer networks. The sample rate for water quality parameters is typically in the scale of minutes with 15 minutes between samples being commonly used for long-term, continuous monitoring stations. The geographic separation between monitoring stations in a watersheds depends on the study needs. Detailed watershed investigations may place 10 to 20 sensors in a small area (less than 1 km^2) while other projects may aim to cover a complete watershed with several km between sensors.
The HydroSense system is comprised of three pieces of hardware: 1) an open-source 915 MHz long-range radio for communication, 2) Hydroino, an Arduino-based datalogger and, 3) Sonduino, an Arduino-based water sonde. In addition, open-source software libraries for Arduino and RaspberryPi computers. The goal is to enable the creation of a grassroots wide-area wireless network for reporting low sample rate hydroclimatic data. It is important to provide open-access to the system to allow researchers and hobbyists alike to easily publish, query, compare, and download their own sensed data. HydroSense provides the communication and back-end server infrastructure to easily publish sensor data from any Arudino or RaspberryPi computer.
The HydroSense network architecture follows the cellular network model. Each long range 915 MHz radio network cell is managed by a gateway node running on a RaspberryPi computer located near a high-speed internet access point (DSL, cable modem, or cellular). Sensor nodes can be placed anywhere within the coverage cell. To maximize range, the data rate is limited. Many narrow-band channels are utilized in a pseudo-random sequence (FHSS) to minimize the effect of interference. The expected communication range is 2 km – 25+ km depending on antenna height and terrain. A time synchronized network protocol (TDMA) is used to allow efficient use of the limited network bandwidth and reduce the power consumption on each node by allowing very low duty cycles of the radio (<<1%).
The HydroSense radio board combines all of the specialized hardware needed to connect to the open sensor network. This includes a global positioning system (GPS) receiver, real-time clock (RTC), and all radio-frequency (RF) components. The board has a novel dual interface to provide compatibility as an Arduino Shield or a peripheral for a Raspberry Pi (models A/B and generations 1/2). This dual interface allows sensor nodes and gateway nodes to share the same radio module, reducing cost and development time. The network gateway nodes typically use a RaspberryPi to provide connectivity between the 915 MHz network and a WiFi or wired Ethernet internet connection. Low-level hydroclimatic sensing applications are more suited to the Arudino due to its flexible hardware interface, improved timing, and much lower power consumption.
The Hydroino datalogger contains an Arduino Leonardo-compatible microcontroller, SD card, solar charge controller, 12V battery management circuit, SDI-12 network interface, and various general purpose IO ports for connecting various instruments. The It it is fully compatible with the Arduino Integrated Development Environment (IDE) and complies with the Arduino standard shield interface. The HydroSense 915 MHz radio shield is designed specifically to connect to the Hydroino. However, many other Arduino compatible shields could also be used, such as specialized sensor interfaces, cellular data modems, or an XBee radio. To simplify remote deployments, a solar charge controller and battery interface is integrated on board for charging 12 Volt lead acid batteries.
The final hardware component of HydroSense is the Sonduino, a low-cost water quality monitoring sonde. The Sonduino contains an integrated Arduino Leonardo microcontroller, SDI-12 interface, 16 bit sigma-delta analog to digital converter (ADC), and analog signal conditioning circuits for making scientifically-accurate measurements of pH, dissolved oxygen (DO), electrical conductivity (EC), and oxidation-reduction potential (ORP) using standard sensor probes. Additional sensors that do not require signal conditioning, such as temperature, depth (pressure), flow rate, etc. can be interfaced using general purpose input output (GPIO) pins accessible via terminal blocks. The sensor probes are installed in a standard schedule 40 PVC pipe segment with the Sonduino located behind a sealed mounting plate.
The Hydroino communicates to the Sonduino using the SDI-12 protocol. Periodically the Hydroino requests samples from the Sonduino. Once received, the data are stored on on the SD card and simultaneously transmitted to the HydroSense gateway. The gateway can then store sample data in any database system, such as MySQL.
The task of integrating all of these complex sensor interfaces together is greatly simplified by the open-source software libraries. Each sensor interface, the external ADC, and the HydroSense radio is an individually controllable Arduino object. This allows users to easily customize or extend the sensing application to meet their unique needs, using modern open-source tools.