App Controlled Poinsettia Covering System

SmartSettia provides remote control and monitoring for the commercial production of poinsettias and other greenhouse plants using a web connected device. The system strategically controls timed covering and uncovering of poinsettias to control exposure to light, and allows for monitoring of other ambient properties.

Background
The 2017 Smartsettia design team created a front-end environment to interface with the University of Idaho Greenhouse poinsettia covering system. With this front-end users were able to remotely manage and monitor that system through the use of a raspberry pi. This system was sufficient for the Plant and Soil club. It was later decided, however, that more features needed to be added or changed. The system needed a more restrictive access control policy, motion detection and video streaming for security and monitoring, a handle for I2C and SPI sensors, and improved error handling.

Problem Statement
Make improvements and add functionality to the existing Smartsettia environment. Transform the specific greenhouse application into universal automated system.

Goals
Modify the existing web and unit application that will:  Modify existing database structure to support new access control Modify pages to enforce the access control structure Detect motion, record, and give a report the site managers Be able to stream video from the unit to monitor the covering system Receive I2C and SPI sensor data, and upload it to the server Add a simplistic scripting interface for managers to control the system when certain conditions are met Create a desktop application to download recorded videos and sensor data Improve the error system and email appropriate staff 

Background
A 2016 senior design team developed a poinsettia covering system for the University of Idaho Greenhouse. The covering system uses a garage door motor that is controlled using a preconfigured schedule that is programmed into an Arduino. The current system doesn't include a way to allow users to remotely manage or receive vital feedback about the covering system. So, our senior design team called SmartSettia was tasked with modernizing the system to allow for in-depth automation and remote management.

Problem Statement
Controlling poinsettia photo-period is essential in preparing them for a specific market date and final height. The Sixth Street Greenhouse has streetlights as well as internal lighting that invades the room where the poinsettias are stored. To mitigate the effect of this stray light, the students of the Plant & Soils Science Club have an automated poinsettia covering system (created in 2016) that opens at 8am and closes at 5pm. The problem is there is no feedback for if system is open or closed other than physically going on site and verify the unit is operating as it should. The covering system's schedule is hard coded so the system can't be used on other plants that have different photo-periods. Lastly the system can't be remotely controlled in case of an emergency.

Goals
Developing a web based application that will:  Run on Windows, iOS, and Android Be simple to use on both mobile and desktop devices User based access control Use an IP camera for video monitoring Include the ability to remotely control the poinsettia covering system <li>Allow for custom schedules <li>Receive real time system notifications <li>Log all actions and sensors <li>Operate in a hot and humid environment </ul>

Final Product (2018)
Access Control: The new website features a more robust management system which allows mangers and administers to assign permissions per device. This means instead of a user or manager having access to all devices at a location, they will only have access to devices assigned to them. Administrators can assign devices to both managers and users; managers assign to users. Administrators are able to delete other administrators.

Front-End Refactor: While ultimately the look and feel of the Smartsettia application was not changed, several files which make up the Laravel application were refactored to be easier to work with both for our benefit and any future developers.

Streaming: Before the only confirmation that the device was working properly was a status message and an image that updates fairly infrequently. If something went wrong and the status was not updated appropriately, greenhouse operators might not know if the cover closed/open as expected. The simple fix was to implement live video streaming from the device.

Motion Detection: To add a sense of security to the project motion detection was used to record video in the case of unexpected intrusion. Using the OpenCV library, the device captures video from the raspberry pi camera, converts it to a matrix which OpenCV uses to detect 'motion' between images.

Real Sensor Data: Before the device page had charts populated by static data on the device. The device now uses its SPI communication capabilities to convert analog output to usable data which can be monitored live from the devices page. The current sensors connected to the device range from temperature, light, humidity, and moisture which are applicable to any greenhouse needs.

Final Product (2017)
The final product that is SmartSettia is shown below, demonstrating the outcome from a year of development.

Design (2017)
Mock-ups and Prototypes of the interface of SmartSettia are shown below, demonstrating the progression of the design.

2018 Smartsettia Team Information
Members

2017 Smartsettia Team Information
Smartsettia Members Group Photo

Group photo of the members of team SmartSettia.

Members

Documents

 * [[Media:Smartsettia_2018DesignGoals.pdf|Design Goals (2018)]]
 * [[Media:Smartsettia_tech_pres_2018.pdf|Technical Powerpoint (2018)]]
 * [[Media:SmartSettia_Design_Goals.pdf|Design Goals (2017)]]
 * [[Media:Smartsettia_techinal_powerpoint.pdf|Technical Powerpoint (2017)]]

Previous Team's Poinsettia Covering System
2016 Project hardware we will be building upon.