This is why this project is designed to help adjust our habits: so as to migrate away from being distracted looking at your PC screens- be it work or leisure. Instead, it helps us be distracted looking at a single screen with plants growing just above the screen.
A simple enclosure...… which neatly packages the planting pot w/ plants, an electronics kit and a battery - was developed as part of this project. A convenient compliant button was added to wake up the battery power supply as the overall load of the system is very low and it had a tendency to power off.
The below section view does a fantastic job to illustrate the internals of the whole thing. The planting cup is a reused grocery store cottage cheese container. Its job is to help isolate the electronics from the moist/dry soil and residual water.
The antenna SMA connector screws on nice and snug atop the lid of the base. A small port is open at the top where a grove connector can fit through to connect to the sensor to be inserted into the soil.
How this IoT Planter works is by checking the soil moisture using the Seeed grove resistive soil moisture sensor. Learn more about soil moisture sensors from Seeed here.
The Seeed SenseCap K1100 quick start guide on the use of this sensor, available here: https://wiki.seeedstudio.com/K1111-Quick-Start-Guide/ was very useful here.
The sensor collects moisture data......and sends that data to both the Wio Terminal D51R TFT screen and then over to the nearest connected Helium LoRa 868 MHz gateway. It accomplishes the latter using the most excellent Seeed E5 LoRa grove communication module and a connected antenna.
The antenna was not included with the SenseCAP K1100 kit, which was rather surprising given most radio modules can get damaged fast if an antenna is not connected at run time.
...not just because the Seeed documentation using the E5 module and Wio Terminal is very good, but also because there was no active The Things Network (TTN) gateway in range.
How the above Flow works is quite simple. As a LoRa data packet is received by the Helium network, the purple function node executes a decoding function and then passes the resulting output to the green integration node, which forwards the information to a linked Google Form that then updates the Google Sheet.
From the Helium gateway onwards, the soil moisture data makes its way thru the "cloud", likely travelling a vast distance around the entirety of our planet, until finally making its way back to another screen and updating this simple spreadsheet:
... in the spreadsheet a plot is automatically updated. This plot has a straightforward mission: to illustrate the overall trend of the soil moistness over time. How to interpret this plot? If the soil is wet, the data points will be higher, if the soil is dry then the data points will be lower. In essence, it corresponds with how conductive the soil is over time and assumes the conductivity is relative to soil humidity. The unit we chose to represent this property is 'water fraction by volume', however, no exact process took place to validate this decision thus it remains empirical in nature.
Each "x" corresponds with a single data point and its time of arrival into the datasheet is also logged. A faint, green trendline helps indicate a prediction of when a watering event should take place.
This in turn sprouted the lovely idea of using predictions to indicate when next to water the plant instead of active alerts. If the trend would, however, feature a repetitive pattern, we would then at the very least know that we can simply assign a Google Calendar or similar reminder on when to water the plants and then rely on the predictive trendline to confirm if our estimated watering times need adjusting.
TFT LCDFinal efforts were spent on getting some sort of use out of the TFT panel installed in the Wio Terminal and its amazing array of integrated sensors. We got to implement a basic status display, featuring the actual soil moisture reading (so we can compare with reading that was logged online), LoRa connection status indicator and a useful instruction panel to help guide us when it is time to water the plants. Once again, Seeed studio have provided excellent documentation with lots of useful examples (link).
The compliant button came out great. The battery slot after extensive cleaning of remnant support material could house the battery neatly, however, the USB connector would stick out slightly too far, preventing the front lid from closing.
Additionally, when powered by USB from battery, the Wio Terminal would not boot the uploaded script - a very curious bug or perhaps we missed something obvious. Regardless, the button was removed and the USB cable could fit neatly thru its leftover gap.
The lid of the unit fit the base nice and snug. Both the grove cable to the soil moisture sensor and the antenna work very well even in this naïve configuration.
Overall, the empty cup fit seamlessly into the minimalistic cylindrical retainer. The overall aesthetic genuinely felt somewhat like we were on to something with this enclosure design.
The enclosure after all was merely friction fit and the first iteration as well - a very rushed attempt to make it all come together at the end. A few spots could use some more work but it got the job done just fine with minor post print processing.
Future work?- display can showcase a lot more information, eg: plot the same plot on display
- redesign enclosure: smaller size, access to buttons, no battery slot just USB cable, move antenna and grove connector from the top towards the sides or inside the housing, add proper mounting solution in addition to slot/friction fits, position the Wio Terminal such that the light sensor can be utilised to gauge whether the plant has enough light
- expand hardware to solenoid actuated water pump, add air humidity sensor, temperature sensor, ambient noise measurement, ambient gas measurements and use the vision sensor to capture a timelapse of the plants growth
- enable saving data to SD card
- add a simple menu system
- use capacitive soil moisture sensor
- improve protection against water leakage into circuitry compartments
- fix battery no boot issue, add solar power w/ LiFePo4 18650 cells
- convenient enclosure that uses a grocery store plastic cup as a planter holder w/ integrated battery pack power supply that was left out in the final assembly due to no-boot issue
- a LoRa enabled IoT Planter that logs soil moisture in a spreadsheet and auto updating plot per Helium integration thru Google API
- a simple status panel was implemented
This project was a great introduction to the Seeed ecosystem in general, the E5 LoRa module, Helium, Google API integrations and lastly, the Hackster platform. We've learned a lot working on this project and do hope others may benefit from our work here in any way.
This entire project came to fruition in just 2 short days as a result from health & logistics issues and serves as a testament to Seeed Studio's excellently organized expansive documentation.
Comments