App Controlled Poinsettia Covering System

From Mindworks
Jump to: navigation, search

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.

SmartSettia
Sponsor Dev Shrestha, Bob Tripepi​ and Plant Soil Science Club
Mentors Bruce Bolden and Greg Donohoe
Team Name SmartSettia
Duration Spring 2017 - Fall 2017
Team Members Robert Breckenridge
Brandon Jank
Nick Krenowicz
GitHub Page Website Code
Device Code
Website SmartSettia.com

Project Overview[edit]

Background[edit]

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[edit]

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[edit]

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
  • Allow for custom schedules
  • Receive real time system notifications
  • Log all actions and sensors
  • Operate in a hot and humid environment

Final Product[edit]

The final product that is SmartSettia is shown below, demonstrating the outcome from a year of development.

.
The Home page
The Home Page
The home page all visiting users will first come to upon entering www.smartsettia.com. This page gives users details into what this software is capable of and how the software actually operates.
.
The Dashboard
The Dashboard
The dashboard is the main page users use to interact with their connected devices. The dashboard displays many pieces of import info including the currently selected site, selected location, selected device details, and the device list. Some of the most important features on the dashboard include the ability to open and close the covering system remotely, view a live feed of the plants, see if the device is online and functioning or is currently offline, and the ability to change the covers schedule.
.
The Device
The Device
The Raspberry Pi 3 handles all device side computation and monitoring. Above the Pi is a relay module that activates the garage door opener and is activated by the GIPI pins on the Pi. There are two limit switches wired to the Pi for monitoring the covering system. There is also a button wired up to the Pi so users can open and close the covering system locally. The entire system is enclosed in a 3D printed case to provide protection in the greenhouse environment.
.
The Hardware
The Hardware
This picture displays all the installed hardware located at the covering system. Located at the top beam is the outdoor web cam that monitors the poinsettias. One limit switch is installed on each side of the covers pivoting arm that detects if the cover is open or closed. The main device displayed in the previous picture can be seen in its custom 3D printed waterproof case on the right of the picture.
.
The Technology Stack
The Technology Stack
This picture showcasing the major pieces of technology used to create SmartSettia. First, we have Nginx which we use for our server and is hosted on Digital Ocean. Laravel framework is built using PHP and allowed for quick and efficient development. Laravel was also used to be able to send email notifications to users for when the device encountered issues and we use MySQL for our database. The connections for SmartSettia are secured by the use of SSL and the certificates are auto-renewed every three months. This is possible with the use of OpenSSL and Let's Encrypt. Lastly the Raspberry Pi 3's software is built using Python.

Design[edit]

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

Diagram of system.
Overall design of system.
.
Mock-up of potential about page layout.
.
Mock-up of potential home page layout.
.
Mock-up of potential register page layout.
Hand Drawn Mock-ups
Hand drawn mock-ups ranging from system design to webpage design.
.
Overall system design.
System Design
Each covering system uses a Raspberry PI 3 that connects directly to a USB camera and connects to the server over WiFi. At set periods of time the PI will request an update from the server and upload its local data. The data it receives may include a new configuration file or simply remote control commands to open or close the unit. The server will serve our users a simple and user friendly webpage for both desktop and mobile browsers. Allowing users to send commands at the click of a button.
Use case diagram.
Use case diagram for users.
Use Case Diagram
This use case diagram demonstrates what each user defined role are capable of carrying out.
.
Home page prototype.
Website Home Page Prototype
The home page all visiting users will first come to upon entering www.smartsettia.com. This page gives users details into what this software is capable of and how the software actual operates.
.
About page prototype.
Website About Page
A simple page that displays the SmartSettia team and gives users some insight into the people behind the software.

Previous Team's Poinsettia Covering System[edit]

2016 Project hardware we will be building upon.

Diagram of Covering System.
The design the 2016 engineers decided on.
Design of Covering System
A simple design to demonstrate the hardware of the covering system.
Finished Covering System.
The completed covering system.
Completed Covering System
The system covers all the plants located inside the device upon physical button press or GPS clock hard coded 8am and 5pm schedule.

Team Information[edit]

Smartsettia Members Group Photo SmartSettia Team.jpg

Group photo of the members of team SmartSettia.

Members

SmartSettia Brandon.jpg

Brandon Jank
Computer Science
SmartSettia Nick.jpg

Nick Krenowicz
Computer Engineer
SmartSettia Robert.jpg

Robert Breckenridge
Computer Science
-Bio:
I'm a senior Computer Science student at the University of Idaho in beautiful Moscow, Idaho. I have a passion for everything electronic. From the capacitor to the cloud, I have been designing and coding things for the web for over a decade. I enjoy volunteering my computer experience for local non-profits, tinkering with emerging technologies, mountain biking, snowmobiling, writing, and traveling.
Bio:
I’m a senior Computer Engineer student at the University of Idaho. I love creating systems through embedded microprocessors revolving around robotics, home automation and other gadgets.

My latest hobbies involve robotics, 3d printing, and creating custom home automation devices. When I have the chance, I like to go, hiking, and mountain biking through mountain trails.

Bio:
I'm a senior Computer Science student at the University of Idaho. My main focus and interests are cyber security and databases. In my free time I like to work on side projects ranging from mobile app development to video game development.

Documents[edit]