- get information about soil moisture, to drive decision when to water a plant
- deal with variability in placement of sensor within a pot, resulting in differing range of measured values etc.
- monitor soil moisture of multiple pots using one gadget, with a durable sensor stuck in each pot
-
R001
the device has a wireless connection to the home automation system, via WiFi.
Rationale: decide against MySensors RF24 because of range concerns, and because it would not support MQTT-
R001.1
when using Wifi, the SSID and password are configurable in source code
-
-
R002
the device communicates via MQTT-
R002.1
the MQTT broker name and port are configurable in source code
-
-
R003
the device supports over-the-air software updates - `R004' device behavior can be configured over-the-air (details below, in configuration section)
-
R005
the device receives runtime configuration instructions via MQTT-
R005.1
it is acceptable that the device polls for runtime configuration instructions only when it wakes up for measurements. This means that the configuration instructions must be published as retained messages. -
R005.2
the device acknowledges receipt of runtime configuration information by deleting the MQTT topic
-
-
R010
the device runs on batteries -
R011
if non-rechargeable batteries are used, they must last for at least a year -
R012
if rechargeable batteries are used, they must be rechargeable via a solar panel
-
R020
the device connects to at least 4 soil sensors -
R021
the device is compatible with capacitive soil sensors -
R022
the device measures the absolute voltage output by each sensor, in millivolts -
R023
the device detects when a sensor is disconnected-
R023.1
when a sensor is disconnected, the device resets the range of observed voltages -
R023.2
while a sensor is disconnected, measurement values do not contribute to the "observed range
-
-
R024
while a meaningful range of sensor voltages has been observed, the device also calculates relative moisture.-
R024.1
Design decision: "meaningful" range is 5% of the maximum ADC -
R024.2
relative moisture is calculated as a fraction of the observed voltage range, with smaller values indicating dry soil, and vice versa
-
-
R025
the device measures the battery voltage, which may be up to 4.7V
-
R030
all reports are made as MQTT messages, in a format the can be easily parsed by OpenHAB -
R031
the device reports absolute voltage measurements of sensor outputs, in millivolts -
R032
the device reports relative moisture measurements (see above), on a scale of 0 to 1000 (i.e.promille of observed range) -
R033
the device reports relevant parameters of its internal status -
R034
the device reports the battery voltage -
R035
the device reports Wifi connection quality ("RSSI") on a scale of 0 to 100, with 100 being the best quality -
R036
the device reports the number of times it has woken up from deep sleep -
R037
the device reports the total time it has been operational since power-up, including sleep times -
R038
the device reports the time it was awake to make a measurement, in milliseconds, after each wake period -
R039
the device reports the time it took to connect to Wifi, in milliseconds, after each wake period
-
R040
the interval between measurement reports is configurable in source code, between 1 min and 1 hour -
R041
the interval between device status reports is configurable in source code, between the measurements report interval and 24h -
R042
the interval between measurement reports can be changed at runtime -
R043
the interval between device status reports can be changed at runtime -
R044
the range for relative moisture calculation can be reset at runtime-
R044.1
the range for relative moisture calculation can be reset independently for each channel
-
-
R101
the device uses cheap Aliexpress sourced capacitive soil moisture sensors based on a 555 oscillator -
R102
the device uses a Wifi-capable processor, i.e. ESP32.
Rationale: ability to work outside MySensors range -
R102
the device uses 2 AAA batteries.
Rationale: only way to satisfy battery life requirements
-
R103
the connection from sensor to device can be up to 60cm long. Rationale: balcony flower boxes are 60cm wide, and a device can sit between 2 flower boxes -
R104
the connection from sensor to device is easy to disconnect "in the field" -
R105
the connection from sensor to device uses cheap (<0.5€) connectors.
Solution: RJ12 6P4C connectors -
R106
the connector from sensor cable to device need not be waterproof.
Rationale: rain protection is achieved by other means, protecting the entire device.