CSCE Capstone

Student Site for Individual and Collaborative Activities

CSCE Capstone

Student Site for Individual and Collaborative Activites

Team 15 – GateMate

Team Members: Jackson Bullard | Nathaniel FredricksJose Martinez | Carissa Patton | Ivris Raymond

Project Summary:

The use of alternate wetting and drying (AWD) is gaining popularity among rice farmers in Arkansas as a way to reduce water usage without sacrificing crop yield. Doing this effectively requires frequent adjustment of levee gates, and timely accuracy is necessary in order to avoid diminished crop growth. This is difficult to achieve with traditional gates, where workers must manually adjust each gate, a process that is both time consuming and prone to human error. Gates remotely controlled by a stakeholder through software such as a mobile app would provide an effective solution to this problem.

The GateMate software will be developed to utilize and interface with an existing GateMate device prototype, along with the sensor array present on the prototype and any necessary field tracking technologies. The GateMate software application will not only allow rice farmers to raise and lower gates in the field remotely, but it will also factor in weather conditions to automatically adjust the gate levels to conserve the most water as well as assisting with optimal initial placements of the gates.

The architecture of the GateMate application will consist of four separate pieces of software: the mobile application that the users interface with, the central server and database, raspberry pi for disseminating server commands to the gates, and the gate software that will run on each gate’s control circuit. The mobile application will be implemented using Flutter, which is Google’s open-source framework for multi-platform applications from a single codebase [12]. A database will be used to store the necessary geographical and weather data needed for optimal gate placement as well as locations of fields and gates. The third piece of software will network the gates using the ESP8266 Wi-Fi Mesh API, allowing the user to issue commands to individual gates or groups of gates through the Flutter Application. Finally, in order to enable remote commands to be forwarded to the gate network, it will be necessary to create an intermediary module in the network capable of connecting to the cloud back-end and the gate network. 

The significance of an application like this involves resolving many issues faced by rice farmers today, including aiding in water conservation. Being able to remotely control gates will help farmers reduce excess water consumption, allowing farmers to save money and use optimal water levels to maximize crop yield. Additionally, one with less irrigation experience would be able to use the GateMate software to identify the most advantageous gate placements on a given topography as well as automate the process of modifying gate heights to regulate water levels on the field.

Code 

Reports and Presentations

Logitistical Details

Tasks Tentative Dates Status
Learn about MSP430 Development and what methods exist for connecting an MSP430 to a mobile device for controlling the gates 10/24-11/7 Complete
Confirm with Mr. White that the application design will complete all tasks required 10/24-11/25 Complete
Confirm software is compatible with and accounts for all requirements from the Mechanical Engineering device design 10/24-11/25 Complete
Rigorously define the data to be stored in the database 11/15-11/21 Complete
Complete final proposal document 11/15-11/22 Complete
Complete final proposal slides 11/15-11/22 Complete
Design a central server 11/21-12/9 Complete
Create a server-side application that communicates with GateMate devices through their microprocessor’s API 1/15-1/21 Complete
Create basic software for MSP430 that reacts to signals from server 1/15-1/21 Complete
Create logic that will get current water levels from the sensors on the device 1/22-1/28 Awaiting MEEG*
Test ability to connect software to MSP430 to get sensor information 1/22-1/28 Awaiting MEEG*
Create basic user interface for gate management 1/22-1/28 Complete
Create basic user interface for home screen 1/22-4/23 Complete
Create basic user interface for settings 1/22-1/28 Complete
Create basic user interface for managing multiple gates 1/22-1/28 Complete
Create basic user interface for users to see and select their saved fields 1/22-2/12 Complete
Create basic user interface for user login 1/29-2/4 Complete
Create module for logic to determine gate placement 1/29-2/4 Complete
Test module to determine gate placement 2/5-2/11 Complete
Create a service to connect user interface interactions with the server 2/5-2/11 Complete
Connect logic for gate placement to UI to display gates to user 2/5-2/11 Complete
Test UI to ensure correct information is pulled from logic module 2/12-2/18 Complete
Work with ME team to ensure information pulled from device is accurate 2/12-2/18 Awaiting MEEG*
Create module for logic to determine gate height 2/12-2/18 Awaiting MEEG*
Create back-end logic that can update the height information in the database  2/19-2/25 Complete
Test module for logic determining gate height 2/19-2/25 Awaiting MEEG*
Create a service to connect user interface interactions with the server 2/19-2/25 Complete
Connect logic for gate placement to UI to display gates to user 2/19-2/25 Complete
Test UI to ensure correct information is pulled from logic module 2/25-3/4 Complete
Create module for logic to determine gate height based on sensor information 2/25-3/4 Awaiting MEEG*
Test module for logic determining gate height based on sensor information 2/25-3/4 Awaiting MEEG*
Connect logic for gate height to UI so user can see information 2/26-3/4 Complete
Test UI to ensure correct information is pulled from logic module 2/26-3/4 Complete
Work with ME team to ensure information pulled from device is accurate 3/5 – 3/11 Awaiting MEEG*
Create UI for users to create a field area on the map by entering four coordinates 3/5 -3/11 Complete
Create logic to store field location information for the user 3/5 -3/15 Complete
Create functionality for users to select multiple gates 3/13-3/18 Complete
Create back-end logic that can update the height information in the database  3/13 – 3/20 Complete
Create functionality for users to manually raise/lower gates 3/13 – 3/25 Complete
Test logic to raise/lower gates 3/15 – 3/21 Complete
Create functionality for users to manually place gates  3/13 – 4/18 Complete
Test logic to manually place gates 4/13 – 4/18 Complete
Ensure manually placed gates can be updated to new locations and saved 4/20-4/24 Complete
Handle disconnect from gate network 4/20 – 4/24 Complete
Document final results and expected operation 4/20 – 4/24 Complete

* The tasks denoted with “Awaiting MEEG” are tasks that were not able to be completed by the time this website was created due to time constraints with the MEEG team’s integration testing.