The document summarizes the development of an Internet of Things system by Steve Dawes to automate monitoring and watering of a greenhouse and land located 10 miles from his home. It discusses:
1) Early experiments monitoring temperature in his home and a data center using sensor networks.
2) An initial Arduino-based watering system for a small greenhouse that had issues with wiring, software, and sensor accuracy.
3) The current solar-powered IOT system deployed in 2014 at the land uses a Digispark processor to automate watering and monitoring via wireless sensors to allow absence from the land for weeks.
4) Thoughts on developing the system further with principles of peer-to
2. The pre-cursors
• In 2006 installed a 1-Wire weather station and a network of sensors
(temperature, humidity and lightning) in my house, conservatory and
greenhouse. Monitored with OWW (One Wire Weather) and own s/w
using a small LINUX system.
• Used X10 (signals over mains) for significant home automation
(scripts running under LINUX)
• In 2013 I did some experiments monitoring data-centre temperature
using 1-Wire networks with both LINUX and Arduino based hosts.
• Produced some very useful results
• Showed that we could do significant extra monitoring cheaply
3. The 1st Watering System
• In 2010 decided to manage water and
automatically water my small greenhouse at home.
• Built an Arduino based system to pump water
between 3 tubs … to optimise rainwater
management and to feed drippers in the
greenhouse.
• The watering system worked, but not well. I learnt
some lessons!
4. The lessons
• It required too much wiring!
• The s/w was cumbersome.
• The resistance based depth sensing (measured
full, half full and empty), was prone to error.
• The system was stand alone, hard to track status
and troubleshoot.
5. Unexpected Problems
• Problems are not always the ones you expect!
• My anti-syphoning device whistled at a frequency
above my hearing threshold, unfortunately my
neighbours are slightly younger!
• In 2012 a drunk driver crashed into our house… (in
spite of it being in a quiet cul-de-sac)…… I haven’t
yet reinstated the weather and watering
systems…..
6. The Land
• In 2011 we bought 1 acre of derelict land on May Hill in
Gloucestershire
• Besides being a lovely location intent was to grow
vegetables, both outdoors and under glass
• The location is10 miles from home. We did not want to
visit every day, indeed we wanted to be able to take
significant holidays.
• Solution:- monitoring and automation.... The Internet of
Things in action.
7.
8. 2012 & 2013
• Cleared the land and improved the fencing
• Put in raised beds and planted fruit trees
• In 2013 constructed a 20.5 * 10.5ft and a 6 * 8ft
greenhouse
• Also a cabin with views!
9.
10.
11.
12.
13. 2014
• Built the 1st version of an IOT based watering
and monitoring system
• Powered by 12V battery and solar panels
• Has so far coped with two 3 week absences
• My intent is to develop it significantly further……
17. Sensor Network
CISECO XINORF
(= Arduino UNO + ERF)
1-Wire
Temperature
DS1820B
Humidity
Sensor
DS9490RData Logging Shield
RTC + SD Card * Planning to add Soil Moisture Sensor(s)
* Initially based on the Data Centre work
* Under test in home greenhouse
* May separate logger in due course
19. Issues to date
• Inconsistency of the depth sensor (echoes etc.)
• 1st Relay board and wireless interference
• Program memory in Digispark (6k)
• Plumbing and cases
• Slugs, rabbits, squirrels and mice
• It always takes longer than anticipated!!!!!!!
20. IOT Thoughts
• Although what I have accomplished so far is
simple, some useful ideas and principles are
evolving.
• The next slides share some generic thoughts.
21. Principles
• IOT devices should have a default behaviour and
not be dependent on a master controller
• Peer to Peer communication should be allowed
• Devices should be as simple as possible
22. A Generic IOT Device
Wireless
Processor Sensor
Control
Optional
23. Generic IOT Software
Protocol Engine
Rules Engine
Common Actions
Device Specific Actions
Monitors the wireless and
and actions any relevant
messages
Acts on rules stored in
non-volatile memory
Generic actions for the
rules to use
Device specific actions
for the rules to use
24. The Rules
• Mean that a device can be repurposed without
having to change the code
• Rules loaded from a master controller
• After rules loaded master need not be present
• Needs to support complex conditional statements
25. Example Rule
• IF [Device,Sensor] < 25 THEN {PUMP ON; DELAY
60;PUMP OFF};
• IF = Common Action
• [Device,Sensor] = Common Action, does and RQI to
get the info from the relevant device… in this case
soil moisture.
• PUMP ON/OFF = Device Specific Actions
• DELAY = Common Action
26. My Next Steps
• Finish the current version of the monitor and deploy (by 1/9/14)
• Improve wireless range
• Select a soil moisture sensor and add to the Sensor Network (may not be 1-Wire) (by 1/10/14)
• Build a sensor network for each greenhouse (for 2015)
• May use SODAQ and combine sensor network functionality with the monitor
• Build an IOT fan controller (= water without the depth sensor), (for 2015)
• Change processor … (CISECO RFu 328?)… need more memory
• Use a water system with valve to let gravity top-up the greenhouse tubs (from 1000L tanks at
top of hill), (for 2015 if landslip problem sorted!)
• Finish 1st version of the rules engine
• Define/Adopt a protocol and implement it