This work explores the tools and technologies used in smart agriculture. Artificial Intelligence and Machine Learning techniques, including basic block models that are used to do smart agriculture. How can we use fuzzy logic and Artificial Neural Network, is also covered in this paper. We have explored some of the IOT based irrigation systems including crop prediction systems. The necessary hardware, software and sensors that can be used to make precision agriculture are also included. The main motto of this paper is to get a detailed literature review that is required for smart agriculture.