Smart Farm is a crop management system that allots crops to farmers on the basis of the highest requirement crop predicted using machine learning from the crops that are suitable for their area according to the soil type, average rainfall etc. in their area, so that crops dont get wasted and, are produced accordingly. It consist of two apps a mobile app for the end-user i.e. the farmer, and a web-app for the admin.
- In the mobile app the farmer will first need to enter all his details like name, aadhar no., mobile no., the land area he has in hectares and his district and village.
- After he enters all these details he is guided to a page where there are three tabs, in the first tab he is shown the crop that is suited for his area and currently has maximum requirement.
- The second tab shows all the crops that can be grown in his area.
- The third tab shows the soil type, average rainfall, soil texture and soil color in his area.
- When the user presses the allot button he is alloted the given crop with an allotid and the requirement for that crop in the database is updated accordingly and, a sms is sent to him about the crop he is alloted with his allotid.
- Next time the user opens the app he will only be shown his allot id, crop alloted and the other two tabs.
Mobile Application - Google Play Store
Github repository
The Web application is made up of three sections -
- Users- It consists of all the details of the users who have registeres and the crop which is alloted to them.
- Crop requirement- It consist of the current requirement of the crops in tonnes.
- Prediction- It consist of the interactable plots predicted using machine learning.
Web application - Website
Github repository
The database is built on firebase and consist of two sections users and crops.
The users section consist of all the details the user enters when he registers, using aadhar no. as the key, whenever the user clicks the allot button, the alloted crop is also updated in his corresponding key.
The crops section consist of the requirement for all the crops in tonnes and whenever the user clicks allot button the amount of that crop that can be grown on his land area is subtracted from the requirement of that crop accordingly.
We used the data from here and used linear regression using year and area as features and the crop production as label.
The data we got consisted of all the production of all the districts of all the states from 1997 - 2010 and we then added the production and area of the crops we wanted to plot of rajasthan using pandas and created a new data csv named final.csv.
To view the interactive plots click on prediction section here.
Github repository
- Angular JS - Superheroic JavaScript MVW Framework
- Ionic framework - Build amazing native and hybrid mobile apps.
- Firebase - Used for Database, Storage and Hosting.
- Programming languages used - python, HTML5, CSS3, JavaScript
- Python libraries used - pandas, scikitLearn(LinearRegression), matplotlib, mpl3d
- SMS API used - Garlic SMS
- Training data - data.gov.in