Skip to content

A simulated IoT project, coming with a browser application, that is aimed for cattlemen/ranchers/farmers. Usefull information is provided for the state of individual animals or the herd, as long as the farm.

Notifications You must be signed in to change notification settings

ThomasPappas00/Cattle-Monitoring-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Smart Agriculture - Monitoring Cattle in Real Time

A prototype IoT system that can be utilzied by cattlemen/ranchers/farmers for monitoring their animals' and farms' live data.

Description

This system tackles some big concerns for ranchers/livestock breeders/farmers that maintain their business in huge areas by providing crucial information at the user’s web browser. Keeping track of the herds’ whereabouts, informing on the individual animal’s medical/vaccination history and security as long as the barn safety (environmental monitoring) and providing automation on gates and milking infrastructure with specific actuators. The Google Maps API is used for the map visualizations. Microsoft SQL Server is used for the database, Java for the HTTP server and the world simulator and HTML/CSS/Javascript for the front-end.

Monitoring Animals

• Wearing collar sensor

  1. GPS
  2. Temperature
  3. Heart rate
  4. Normal rumination
  5. Secure
  6. Attention
  7. Timestamp

image image

• History is saved

  1. Birth date
  2. Parents
  3. Vaccinations
  4. Is sick
  5. Sex
  6. Has given birth
  7. Milk production

image

Automation

• Milk Pumps

  1. Available
  2. Cow using it
  3. Milk on tank

image

• Gates (open-close)

image

Instructions

A simulated farm starts when executing the initFarm module. Three milk pumps are created and a number of animals (belonging in various herds) with random history, random sensor data and a random location inside the farm. The Simulator module gives life to the farm. Animals move around, have their colar sensor data changed and go for milking at the three pumps. The AccessSensor servlet handles requests for the client to get a sensor with specific id, add a new sensor to the system and delete a sensor using the http://{{ip}}:8080/CattleMonitoring/accessSensor/ endpoint. The API of the app is:

Paths Methods
/CattleMonitoring/accessSensor/ GET, POST, DELETE
/CattleMonitoring/accessSensors/ GET
/CattleMonitoring/accessAnimal/ GET, POST, DELETE
/CattleMonitoring/accessAnimals/ GET
/CattleMonitoring/accessMilkPump/ GET
/CattleMonitoring/accessMilkPump/ GET

Runtime

Microsoft SQL Server and Java Runtime Environment are prerequisites for the machine that hosts the back-end. The database should first be enabled as a windows service (MSSQLSERVER → Start). Then, open the project in eclipse and put the 4 jars in the classpath of the project files located in the C:...\CattleMonitoring\WebContent\WEB INF\lib folder. JDBC is the driver enabling the communication with the database, while the Jackson libraries are used for converting objects to JSON and vice versa. Next, we create a Tomcat v9.0 Server at localhost from eclipse and add the CattleMonitoring project to the server. We start the server (Start) and the see the message INFO: Server startup in [xxxx] milliseconds in the eclipse console. To create a new farm with x number of animals we run InitFarm and change numOfAnimals = x. To start the emulator and begin life on the farm we run the Simulator. The server is now ready to serve requests.

Demo

Demo.-.Smart.Agriculture.1.mp4

License

MIT

About

A simulated IoT project, coming with a browser application, that is aimed for cattlemen/ranchers/farmers. Usefull information is provided for the state of individual animals or the herd, as long as the farm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published