Don't wanna be here? Send us removal request.
Text
Plantr is an automated participatory community garden project that aims to create greenspaces across public spaces. The gardens use sensors and irrigation to keep track of the condition of the plants within it and relay the information to a website. Participation is done on a purely voluntary basis and can be as simple as replenishing a water reservoir or as involved as building and installing a whole new garden. The system measures user involvement and rewards them with Plantr points which can then be exchanged for perks and bonuses. The goal of the project is not only to greenify open spaces but to give the possibility to passers-by to feel part of the project and learn basics in gardening, coding and DIY design. In order to make the project as accessible as possible, costs are kepts to a minimum, materials are chosen to be readily available and all necessary resources are made publically available. Although this version of the build is better suited to growing small plants and herbs, it can easily be adapted and modified to grow fruits or vegetables in order to increase access to locally grown, fresh produce. Moreover, by modifying materials, the project could also be made to function outdoors to create rooftop gardens. Our project therefore responds to multiple sustainabilty concerns: energy needs for food production, urban heat island effect and more generally, global warming. In creating this project the work load was split into different modules of developement each with their own set of challenges, and decisions. Each module necessitated research for materials, design and technolog; protoptyping; building and testing. After completing what we are calling Plantr v.1.0 we also have a better idea of how to improve the project and how to make the building of each module mode accessible for would-be participants.
1. The garden. Pintrest is littered with design ideas for decorative indoor gardens so it's probably safe to say that pretty much everything has been done in this departement. Instead of trying to reinvent the wheel, we chose the tried and true tower design as it would offer an effecient use of space with its limited footprint and vertical design.
Although PVC is the most commonly used material when looking at examples online, we were hoping to steer away for the usage of new plastics. Therefore we opted for a cylindrical concrete pouring form. This is an object that is easy to work with and to cut into and the waxy coating on its surface makes it sufficiently water resistant in case of spills. To insure some stability we designed two base pieces that give the whole project an unintentional but welcome space-rocket look. Another objective was to keep as much of the electronics and irrigation out of sight in order to make the final object visually appealing. This proved to add to the challenge especially when trying to troubleshoot faulty wires with the electonic devices anchored to the inside of the tube.
In order to add a bit of polish we wanted to paint the outside of the tube. Spray paint would have been an easy choice but would have clashed with our sustainability objectives. We therefore opted for an acrylic based chalkboard paint which would give participants an extra outlet of creativity. After all, this first prototype is installed in the art building of concordia.
2. Sensing and watering system. The choice for sensors compatible with single-board computers and microcontrollers is vast, ever expanding and can be overwhelming. A multitude of data points were discussed along with various methods to collect them. Ambient humidity, temperature, atmospheric pressure and light levels were all discussed but discarted for simplicity and cost's sake. We narrowed it down to hygrometers (soil moisture sensors) for each plant and a water level sensor for the reservoir.
Hygrometers for DIY project come in two main flavors, capacitive and inductive. The choice here was not particularly difficult as the inductive type can cost upwards of 40$ each. While they do offer a more precise and durable output, especially for outdoor use, we needed 8 of these for the initial prototype which would make the system cost prohibitive. The capacitive snesors on the other hand ranged from 2$ to 8$ depending on the materials used in their fabrication. Although we would have been thrilled to see the cheaper variety (Sparkfun SEN-13322) succeed, we noticed performance degrading corrosion on these while testing and were forced to upgrade to the 8$ gold plated versions (DFRobot SEN0114). The output of these sensors are analog so the use of an ADC (analog digital converter) is necessary if the computer or microcontrol used does not have analog inputs. Luckily the MCP3008 works perfectly for this application using the SPI serial communication protocol present on most GPIO pins of single-boards. As for water level, again there are two main schools: float or ultrasonic sensor. Intuitively, we were drawn to the float sensor as it seemed easier to use. Unfortunately, the less expensive variety of these only offer the ability to measure whether the water level has exceeded a certain level. This would give us an indication when the reservoirs would need to be refilled but we preffered having an acual level to work with. Luckily, the ultrasonic sensor HC-SR04 can give supprisingly accurate and reliable readings of the distance between it and the surface of the water. Wiring and programming slightly more involved as it needs one pin to output a ping and another one to measure the time taken for the ping to bounce back.
Of course, with this data being input into our single-board, we now needed to use this interpreted data to trigger the automated irrigation to water our plants. Our initial plan was to split the water output of the reservoir to 8 individual soft tubed lines that would each have an electronically controlled valve and would run to each plant. While this idea remains feasable and applicable for projects with larger plants, having a costly valve per plant made little sense for our build. We instead chose to have a single valve leading to a rotating piece of plumbing that would direct the flow of water to one of 8 funnels, each leading to one of the palnts. With a single valve and a servo motor, we are able to water the plant that needs it. Those who have worked with servos may know that their range is often limited to around 180 degrees. We found two viable solutions to this, either going with a specialized, more expensive, winch servo for model sail boats which does cover a full 360 degrees, or go with a standard servo and use gearing to give us the range we needed. Although we beleive that using a gear system would be more advantagous in terms of cost and availability, it would require extra time and testing which were running low on at this point in the project. We therefore opted for the more expensive sail winch servo which is still reasonably priced at around 20$ (vs 8$ for a servo with 180 degrees range).
3. Gathering, analyzing and sending the data The valve, motor and sensors need to plug into something to be interpreted and sent out to the world and this is where the single-board computer or microcontroller comes in. Ever since the advent of the arduino uno and the raspberry pi, dozens of companies have decided to offer their own variation on these devices with different features with some even offering hybrids. While the arduino type devices offer direct control, dedicated resources and a mix of analog and digital inputs, the raspberry pi type devices offer every possible feature of a linux based computer including integrated wi-fi, storage and support for multiple programming languages. Hybrid boards like the Udoo Neo offer the best of both worlds with the same pinout as an Arduino Uno and an arm based CPU to run a full fledge linux distribution. Obviously, the extra features come at a cost and in the end, even the least expensive option is overkill in terms of computing power for this project. While we used a raspberry pi 2b that we had on hand to do the build, a pi zero W would do the trick and its cool 10$ price tag definately fits in with our goal of low cost accessibility.
Setting up the pi for wi-fi connectivity proved to be one of the most annoying challenges of this project. While it's easy enough to do so on a home network with standard WPA2-PSK security, Concordia (and most campuses) use a form of WPA2-Enterprise PEAP without certificate. Without getting into technical details, this meant hours of testing, tinkering and half a dozen e-mails exchange with Concordia technical support to get a connection going. Once that was done, the next step was to find a way to remotely control the Pi (having a screen and keyboard hooked up to it while it is anchored to the inside of the planter is obviously not ideal). Although it is easy enough to connect to a device via SSH on a home network, doing so on a campus network is usually prohibited. In order to circumvent this issue, the SSH port had to be bridged to an external server that is publically visible. This acts as an intermediary connection that redirects the traffic directly to the Pi. A script was written to ensure that the Pi would automatically re-establish the bridge if the device were to reboot or the bridge to fail. The advantage with this method is that it is now possible to remotely control the Pi from anywhere, even outside Concordia's network. As a matter of fact, a decent part of the code was written from the comfort of my living room while the Pi was locked away in a room in the arts building. Speaking of code, the script that controls the sensors and watering system was written in python as it offers all the necessary compatible libraries to interface with the Pi's GPIO pins. The algorithm is relatively simple. If one of the plant's hygrometer has a reading that is below a certain threshold and if the plant has not been recently watered, the motor moves the plumbing towards correct funnel and the valve is opened for 3 seconds. At every loop, the ultrasonic sensor checks the water level. All the data is collected. If the information has not been updated in more than 15 minutes, the Pi connects to the website's server via FTP and updates a json file containing all the information.
4. Displaying the information and point system Once all this information is collected and uploaded, it needs to be displayed online for users to see. We use a bare-bones virtual server from OVH that has a datacentre in Beauharnois that uses water-cooling to reduce energy usage of their machines. By using a combination of google API and javascript, we can parse the data from the json file and display the status of the plants on a map in a way that is meaningful to users. The website is also designed to offer users the possibility to create an account and accumulate points for their participation. This feature however was not implemented and a dummy version is displayed for demoing purposed. The map however does show live data from the garden.
While we were succesfully able to test the technical functionalities and how the organic interacts with the electronic we would need more time to measure the social aspect of the project. This would enable us to have a reading of how feasible it would be to implement in an uncotrolled environement. Still, the build has proven to work and be adaptable for personal or educational use for anyone who would want to reproduce it in their home or classroom. We welcome any initiative to iterate on the current design to adjust it to different situations.
0 notes