Transcript Slide 1

Abstract
Overview
Home gardening is still largely more art than science. While sensor
solutions exist for professional farmers, few cheap and convenient
devices exist for the home gardener. The competition that does exist is
either not robust enough or too expensive. Our project aims to create a
cheap, robust, and wireless sensor platform that can be run on battery
power for multiple years. This platform will remain outside in the field,
communicating with a base station. Our prototype demonstrates the
viability of such a platform while also demonstrating the ability to use
cheap sensors and create a relatively disposable and simple platform.
Prototype
We chose sensors based on two criteria; price and user
desirability. Relevant metrics for plants include ambient light, humidity, soil
moisture, soil pH, temperature, and soil composition. Price is an
extremely important issue, as this product will be considered a toy/gadget
and not a necessity (as a professional product would be). Sensors for
certain environmental attributes were simply too expensive to implement
in our consumer product (the soil composition and soil pH sensors). Our
product also does not require a high degree of measurement
accuracy. This has the benefit of allowing us to use cheaper, lower
accuracy, lower power sensors. We do not require much processing
power for the sensor array as we are simply taking measurements and
pushing them over RF. This allows us to use cheap, low power, and slow
processors.
RF was also selected over Wi-Fi or other wireless
technologies for its simplicity and cost effectiveness.
Power Considerations
Transmitter
Humidity
sensor
Light sensor
Temperature
sensors
Soil Moisture
sensor
Sensor Assembly: The five sensors indicated above are queried by
the Arduino Uno prototyping board, which then sends brief messages
with the readings via the transmitter.
Receiver
Receiver Assembly: The receiver translates the message for the sister
Arduino Uno platform and prints them for the user.
Data Acquisition
Our prototype contains five sensors; two temperature sensors (surface and
ground), one humidity sensor, one light sensor, and one soil moisture
sensor. Our two temperature sensors are both DS18B20 one wire digital
sensors. While these sensors are convenient and digital (highly accurate),
in a shipping commercial product we would most likely use simple
thermistors because they draw less power (the settling time for the current
temperature sensors is ~750ms), are cheaper, and can run at lower
voltages. The accuracy of the current sensors is not required for our
application. The humidity sensor we used was an analog HIH-4030
sensor. This sensor would be replaced by a cheaper, less accurate
sensor capable of operating at a lower voltage in our final design. Our
light sensor is a cheap generic photoresistor, and something similar would
likely remain in the final design. Finally, our soil moisture sensor is a
simple resistive soil moisture sensor. This type of sensor would likely be
built in-house/aesthetically designed as it is exposed, but we would most
likely continue using a resistivity type sensor because of cost and design
reasons.
We use an Arduino based processor to acquire data. We go through each
sensor, turn it on (they are powered by the processors digital output pins),
take the measurement, and then turn it off again. Overall, this procedure
lasts approximately 3.5 seconds. Once the raw data is acquired it is
stored along with the previous four readings, and sent via the
transmitter. In our final product we plan to acquire and send data once per
hour.
Data Processing and Transmission
Left: A single transmission packet, sending the 36 bit preamble, 12 bit
start symbol, 1 byte message length, the message itself, and 2 bytes for
the check sum.
Right: The transmitter data is depicted in white, with the receiver data
in red, shown in real time.
We send raw sensor data over RF to a base station. We chose RF
because it was cheap, on unlicensed spectrum, and is simple to
implement. In future revisions we may choose to use Wi-Fi or a similar
technology negating the need for a base station. We transmit raw values
because they are small (integer read values are smaller than the float
values that are the result of calculations). We also transmit a history of
values as a way to ensure that missed data is eventually received (we
only use one way communication). For transmission we use an Arduino
protocol which sends data out using OOK. The protocol starts with
“training bits” of alternating 1’s and 0’s followed by a known start
sequence, the length of the transmission, the data itself, and then a
checksum. The data packages split bytes into two 6 bit symbols sent high
to low. The 4 bit sequences are mapped to 6 bit symbols that have a
balance of 1’s and 0’s, which helps ensure that the averaging of the signal
(i.e. distinguishing high from low) happens properly.
The raw data is received and decoded at the base station. The raw
sensor data is then turned into meaningful outputs (e.g. temperature, lux,
moisture level, % humidity). Some values are temperature dependent
(specifically % humidity), and therefore this is processed first. An added
value of transmitting raw values is that changes in calculation can be
made even after the sensors are already in the field, meaning accuracy,
speed, and bug fixes can continue without purchasing a new sensor
array. The calculations necessary for these conversions is relatively low,
meaning a similarly cheap/low power processor can be used at the base
station. In the future, we would like to connect the base station (or sensor
array itself) to the internet, allowing for data storage, processing, and
analysis beyond what the capabilities of the microprocessors.
Results
Our working prototype has confirmed that our idea is viable. Going
forward, we would continuing our search for cheap, low-power sensors,
work on industrial design, potentially change wireless protocols,
implement internet connectivity and a lower power processor such as
the ATmega328 utilized by the Arduino board (running at 32Khz as
opposed to the current 16MHz), and do more data processing to
recommend plants, and alert users to adverse conditions..