CSCE Capstone
Student Site for Individual and Collaborative Activites
Team 15 – GateMate
Team Members: Jackson Bullard | Nathaniel Fredricks | Jose 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
- Final Report Spring 2023
- Final Presentation Spring 2023
- Preliminary Report Spring 2023
- Preliminary Presentation Spring 2023
- Final Proposal Report Fall 2022
- Final Proposal Presentation Fall 2022
- Preliminary Proposal Report Fall 2022
- Preliminary Proposal Presentation Fall 2022
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 |