Technologies Driving the Shift to Smart Farming: A Review

As today’s agriculture industry is facing numerous challenges, including climate changes, encroachment of the urban environment, and lack of qualified farmers, there is a need for new practices to ensure sustainable agriculture and food supply. Consequently, there is an emphasis on upgrading farming practices by shifting toward smart farming (SF)—utilizing advanced information and communication technologies to improve the quantity and quality of the crop with minimal labor interference. SF has gained lots of interest in recent years utilizing a variety of technological innovations in the field, which imposes a challenge on farmers and technology integrators to identify suitable technologies and best practices for a particular application. This article provides a survey of the most recent SF scientific literature to identify common practices toward technology integration, challenges, and solutions. The survey was conducted on 588 papers published on the IEEE database following Cochrane methods to ensure appropriate analysis and interpretation of results. The papers’ contributions were analyzed to identify necessary technologies that constitute SF, and consequently, research themes were identified. The identified themes are sensors, communication, big data, actuators and machines, and data analysis. Besides presenting an in-depth analysis of each identified theme, this article discusses integrating more than one technology in systems to achieve independency. The most common SF systems are remote monitoring, autonomous, and intelligent decision-making systems.


Technologies Driving the Shift to Smart
Farming: A Review

I. INTRODUCTION
A CCORDING to the Food and Agriculture Organization of the United Nations, "the world's population is expected to grow to almost ten billion by 2050, which requires a 60% increase in global food production" [1]. Meanwhile, food security is threatened by the increase in pests and diseases, lack of qualified labor, and climate changes [2], [3]. The rise in food demand and the challenges faced on the production side motivated the shift from traditional agriculture to smart farming (SF). SF refers to incorporating technologies in the field to either decrease human involvement or increase the quality and quantity of production yield [4].
The remainder of this article is organized as follows. Section II presents the procedure followed to collect, organize, and analyze the literature. Section III shows an in-depth analysis of all technology integrated into SF literature, along with their key challenges and solutions. Section IV provide a discussion of systems that integrate multiple technologies.

II. METHODS
This study was designed in accordance with the Cochrane reporting methodology for systematic review guidelines. The Cochrane protocol was adopted as it guarantees highly structured and transparent research outcomes [50]. The methodology entailed identifying the research papers included in the survey, preparing the documents for in-depth analysis through an initial assessment, and then evaluating and analyzing the literature.
A search statement that fits a prespecified eligibility/inclusion criterion was applied to the IEEE database to find all relevant research papers. The inclusion criteria attempt to collate all documents that contribute to studying or applying new technology in the field of SF. To meet this criterion, a two-word search statement was used. The search statement comprised one word from each of the following sets: [smart, precession, intelligent, advanced] and [greenhouse, farming, agriculture]. Truncation symbols were used to ensure that plural forms and variant spellings were included in the results. The "all fields" option was selected in the search engine to ensure inclusiveness. In addition, the publication years were specified to be between 2015 and 2021. The choice of this particular period is justified by considering that SF is a new phenomenon, and the older literature could be misleading in describing the current state of the art and research.
The search statement was applied to the IEEE database to collect papers to be surveyed. The IEEE database was chosen for the quality and credibility of its scientific publications, as reflected by the 2020 Journal Citation Report [51]. In addition, the IEEE database provides access to a comprehensive source of bibliographic citations covering the scope of technologies in different fields, including smart agriculture. At this stage, 2300 papers were obtained. The selection of the IEEE as the only database was to balance time restraints and thoroughness. Using IEEE solely is justifiable as it is the most extensive database for advancing technologies that guarantee to identify sufficient eligible studies and ensure that there is no bias.
After an initial data set had been collected, a primary analysis has been performed to: 1) exclude irrelevant papers based on an exclusion criterion and 2) identify research themes. The exclusion criterion was set to ensure that any outof-scope paper should be eliminated. The exclusion criterion was based on papers' contributions, and it included papers that are not related to farming and papers that tackle SF from a nontechnology perspective. Papers that are not related to farming included, but were not limited to, documents about wind and solar farms, smart cities, animal welfare monitoring, and greenhouse gas emissions. Other papers that tackle SF from an out-of-scope perspective discuss issues such as designing platforms that provide advice to farmers, connecting farmers with other food industry stakeholders (customers and retailers), and performing social studies related to SF. The exclusion criteria were manually applied to filter papers out. The irrelevant papers were filtered manually as adding the "NOT" option in the search criteria would have eliminated relevant papers. After filtering the irrelevant papers, the team was left with 588 papers.
To provide an integral view of the research activity in the field of SF, the primary analysis included assessing the papers to identify the technology they incorporate. After reviewing all documents, the most analyzed SF literature has provided research insight into one of the following themes: sensors, big data, communication, actuators and machines, and data analysis. Big data refer to techniques adopted to handle issues arising from the difficulties in storing, processing, and analyzing the enormous volume of data. After papers have been reviewed and tagged with them based on the technology that they incorporate, an exhaustive analysis was performed. All included studies were analyzed to draw a conclusion on all identified research themes in an impartial and objective way. Fig. 1 provides an insight into the structure of each of the themes found that will be analyzed holistically in this study.
While some of the literature researches implanting a single technology in the field, others show to integrate more than one technology to form a system. Fig. 2 shows the breakdown of literature in SF and their contribution to different themes and systems. Remote monitoring, automation, and decision support are examples of systems present in SF. Any of those systems would include at least two technologies. As seen in Fig. 2, the most dominant technology is sensors since they are the basis of any SF system. The numbers in Fig. 2 show that some papers do not fit in any of the identified themes, while others fall into two or more categories.

III. ANALYSIS: ENABLING TECHNOLOGIES A. Sensors
Sensors are integrated into SF to gather data for various reasons, including, but not limited to, environmental monitoring, crop quality monitoring, and fertilizers' control. The deployment of sensors typically takes the form of sensor nodes and groups of synchronized sensors that collect data and send it to a destination through wireless communication. A sensor node typically consists of sensors, a battery, a controller, and a transceiver. A group of connected sensor nodes is referred to as a wireless sensor network (WSN). This section focuses on sensors and sensor node topologies, including key challenges and solutions related to deploying sensors in SF.
1) Sensor Modules: Few papers discuss novel sensing techniques [52], [53], [54], [55], [56], [57], [58], [59] or sensors' fabrication [60], [61]. The majority of literature uses commercial off-the-shelf sensor modules. Table I lists examples of sensors for environmental and soil-related measurements. The sensors listed in Table I have different measuring ranges, accuracies, and prices. Practitioners need to choose sensors that work best for their applications. An algorithm that optimizes sensor selection for a given application has been proposed [62].
To guarantee the best coverage area for stationary sensors, a design process, which ensures that sensors are optimally placed, has been utilized. Typical design considerations for static sensors include choosing the sensor locations infield and setting a sensor network architecture. The two approaches for placing sensors are equal-distanced sensor placement [84], [85], [86], [87] and the trial-and-error method [84]. While the former is more common, the latter results in more accurate measurements but a longer design process [84]. A computational model that ensures strategic deployment of the equal-distanced sensor was developed in [55]. Compared to stationary sensors, remote sensors can provide a more accurate representation of the field conditionsi.e., better ability to detect microclimates-with fewer sensors. However, battery life is an important issue that limits the flight time of drones and other mobile platforms. Also, remote sensing needs a navigation system. This can be autonomous, such as unmanned aerial vehicles (UAVs) [68], or may require an operator [88]. Autonomous navigation systems are computationally extensive and would require additional spatial measurements.
Sensor network architecture is concerned with connections between sensors and other components to ensure optimal network configuration. Plane and hierarchal architecture are two common architectures implemented in the SF literature. A plane architecture is where all nodes have the same status, abilities, and roles. On the other hand, a hierarchal structure involves having more superior nodes responsible for collecting and forwarding data. A plane structure is more straightforward and less affected by an individual node's failure. However, it is impractical in a larger network as it will demand extensive energy [104]. A two-level node hierarchal structure is more common [85], [105], [106] where the first level (slave nodes) senses and sends the data to a more advanced node (referred to as a sink or a master node) that sends data to an external source and coordinates the slave nodes. A group of slave nodes managed by a master is referred to as a cluster, and the master is the cluster head. Clustering sensors to form nodes can be done by grouping like sensors together and powering them with different sources according to their different needs [107] or making each node heterogeneous to ensure similar power demand among nodes [108]. The first is easier to design and requires less human work for battery replacements; however, it might be more expensive. Methods for calculating the sensor nodes' energy demand are presented in [108] and [109].
3) Challenges: A technical concern when deploying a WSN is energy. In a WSN, the energy is constrained to the capacity of the battery powering them. The entire sensor node fails once the battery is depleted and not recharged or replaced [110], [111]. Hence, minimizing the power consumption of the sensor nodes is critical. It is also possible to harvest ambient energy to power the sensor node. To reduce the power consumption of the sensor node, research utilizes methods that switch the nodes [107], [112], [113] or their transceivers (most powerhungry block) [85], [114] OFF when not used. This is also known as putting nodes in the sleep mode. The sleep time can occur at prescheduled fixed intervals [107] or event-based such as to report changing weather conditions [85] (i.e., a rainy, cloudy day would require more awake time than a typical summer day).
The fixed-interval sleep mode saves energy but risks missing data instances when the node is OFF. Also, the setup time taken by the transceiver once it wakes up leaves the node more vulnerable to transition delays. Another power-saving method is to continuously reconfigure the data routing paths (reassigning master and slave nodes) [108], [115], [116]. The operating principle of those methods is to develop an algorithm that keeps changing the master node, since it is the most energy-intensive, to give all nodes a longer lifetime and guarantee that all nodes will be depleted together.
Reducing the quantity of data that need to be transmitted is important for minimizing power [117]. Spatial data compression (nearby nodes talk to check repeated patterns in the data) has been used to lower the amount of transmitted data [117]. Although data compression requires some additional computations at the node level, it was shown that the computation power is much less than the power for long-distance communication [117]. Power saving has also been achieved using a low-power microcontroller (e.g., MSP430FR5969 and ESP8266EX) that offers increased performance at a lower energy budget [102], [118], [119].
Power consumption and battery life shape a burden in remote sensing platforms. That is, since using the traditional battery charging stations has an impact on mobility, alternatively, replacing the battery when depleted requires additional manual work and higher initial investment as one would need spare batteries. To this extent, wireless power transfer has been investigated to overcome this burden [73], [120], [121]. Solar energy harvesting has also been deployed in the literature to solve the limited power available to sensor nodes [102], [118], [122], [123]. An additional power converter accompanies the integration of solar energy to regulate the power supply and the battery charging. BQ25570 IC is an example of a commercialized power regulator used [102], [124]. Another energy harvesting technique that overcomes the limitations of solar, being weather dependent, is using the radio frequency (RF) signal to provide energy to the sensor node [125].
A second challenge faced is the risk of losing data due to power loss or failure of components. To mitigate this risk, IdealVolting, a technique used to explore the possibility of operating below the minimum power specifications without compromising the measurement [126], has been studied. Moreover, the literature investigates using ML to predict the data to interpolate missing points [98], [127], [128]

B. Communication
The advances in the communication field and the IoT architectures have resulted in many protocols that can be utilized in SF, leaving flexibility for users' selections depending on their needs and constraints. Generally, the pattern followed is using two communication pathways.
1) Machine-to-Gateway (M2G): Communication back and forth between sensors or actuators nodes and microcontrollers.
2) Machine-to-Cloud Communication (M2C): Passing data through the transmission control protocol/internet protocol (TCP/IP) network to a final destination.
The choice of data transmission platform is subject to many constraints, including available bandwidth, the required transmission rate, latency, data volume, and reliability. This section discusses the used protocols and challenges faced when designing a communication network.
RFID is an energy-efficient communication technique, but it has a limited coverage area. Zigbee is based on an IEEE standard and can be connected easily through an Xbee module. The advantage of Zigbee is its low cost and low power consumption. However, Zigbee is limited in terms of data rate and coverage area. Wi-Fi and Bluetooth are alternatives that offer improved data rates. Bluetooth connection can be established by attaching the HC-05 module to the Arduino [128], [130], while Wi-Fi can be through the ESP8266 [132], [133], [134] module or directly through the Raspberry Pi with a built-in Wi-Fi module. The main limitation of Wi-Fi and Bluetooth is their narrow coverage area, which is overcome in cellular networks that offer high-speed communication and a wide coverage range. The SF literature has captured the most recent advancements in the cellular network to increase the transmission data rate as in [110], which utilizes the critical techniques in 5G to accommodate more sensor nodes and prolong the lifetime of the WSNs. However, the use of cellular networks consumes more energy.
LPWAN is a set of emerging network protocols capable of transmitting data over a long distance (couple of kilometers) with relatively lower power to overcome standard network limitations. The most common LPWAN protocol, in SF, is LoRaWan, an open-access protocol that uses LoRa technology. To set up an LoRaWan network, one can use a microcontroller that supports an LoRa module, such as Arduino Uno that works with the LoRa/GPS shield [160] or the STM32F103 that is compatible with the Lora module Ra01 [161]. Setting up the LoRa network requires calibration of the sender and receiver antenna gain [160]. NB-IoT is another LPWAN technology that offers more coverage area than LoRa [156], and it can be integrated through the SIM7020, which can be connected to a Raspberry Pi [157]. Sigfox has also been utilized in SF through the Sigfox ship, SFM11R2D [158], or the Sigfox Shield for Arduino (UNASHIELD-V2S) [159]. The main drawback of LPWAN is that it has a relatively low data rate in comparison to other traditional protocols. The low data rate makes utilizing LPWAN impractical for high density of sensors. A solution to mitigate this drawback is to utilize a multichannel gateway [152]. Another drawback of LPWAN is the risk of data collision when two nodes are sending data simultaneously. This challenge has been addressed in [161] by allocating independent time slots for transmission for each node. The solutions proposed to overcome LPWAN limitations increase power consumption; hence, optimization is needed between power consumption, coverage area, and data rate.
2) M2C Communication Protocols: On the other hand, the most common method to establish M2C communication in SF is to connect the microcontroller to the local wireless network connected to the Internet. Alternatively, some papers use the hypertext transfer protocol (HTTP) [89], [162], the message queue telemetry transport (MQTT) [97], [163], [164], or the constrained application protocol (CoAP) [165], TCP/IP protocols that are used to establish M2C communication, known as IoT protocols.
3) Challenges: The limited resources assigned to the devices' communication create challenges in deploying communication networks. In other words, the challenge associated with designing a communication network is the desire to achieve a firm, reliable, and fast data delivery while optimizing factors such as power consumption, cost, and coverage area. Unfortunately, the literature did not state one solution that fits all. Hence, SF integrators should explore existing solutions and choose according to their application requirements. This section demonstrates an overview of the commonly used communication protocols, there are many other factors to be considered. For instance, the performance can drastically if deployed indoor or outdoor, urban, or rural, and many other factors. Detailed comparisons are available in [158], [166], [167], [168], and [169].

C. Actuators and Machines
In agriculture, robotics has been applied to various fields of agriculture. The SF literature that focuses on robotics revolves around two issues. The first is designing new robots that perform tasks in the field. The second is to improve the performance of existing irrigation machines.
2) Irrigation System: As irrigation is the basis of agriculture, the literature has explored methods to achieve efficient automatic irrigation. The most straightforward practice for automating the irrigation system is using pipes controlled via a solenoid valve [103], [191], [192], [193]. A solenoid valve is an electromechanical device that can be switched by a relay placed on solenoid power cables. Using a solenoid valve solely might not be adequate for applications that need applied pressure for water transfer. Hence, water pumps have been used for irrigation in SF [119], [194], [195]. Pumps allow more flexibility in the system design; however, they demand more energy. To overcome limited energy, solar-powered irrigation systems [196], [197], [198], [199], [200] or passive irrigation systems have been studied. Passive systems use pressure-generated columns derived from the water potential to actuate the valve [201] or utilize the siphon concept [202]. While those systems do not demand any power, they are adequate for limited-field architectures. Hence, there is a tradeoff between design flexibility and power consumption.
3) Challenges: The challenge faced while designing an SF irrigation system is the limited amount of water available in some fields. The research explored methods to minimize water consumption, including reusing wastewater (recycling) [196], [202], [203] to overcome this challenge. Another water conservation approach is to adopt water management schemes to minimize unnecessary watering of the crops [101], [200]. Also, using drip irrigation reduces the amount of water used as it is proven to be the most water-efficient irrigation method [168], [196], [199], [200].

D. Managing Big Data
The enormous volumes of data captured by sensors in SF motivate addressing big data management in the literature. Managing big data is a discipline concerned with using techniques, tools, and platforms to address storage, preprocessing, processing, and security challenges. This section discusses the challenge of handling big data and presents the techniques adopted to mitigate those challenges.
The most significant challenge when dealing with big data is the extensive processing power and memory needed for its storage and processing. To deal with the limited processing and storing capabilities, most literature chooses to send data to a central cloud designed to manage a huge amount of data. Thing speak [89], [134], [137], [203], [204], [205], [206], Ubidots [94], Blynk [207], [208], OneNet [209], Amazon web services [100], and GoogleColab [210], [211] are examples of free IoT cloud services. The advantage of using those cloud services is the ease of integration. In addition, most clouds are accompanied by a dashboard that provides real-time data visualization and can easily be configured to user interfaces (web services or mobile applications). However, sending data to the cloud is accompanied by costs inherited from the data transfer and latency due to the time taken to send signals.
To reduce the cost inherited with the transfer, Gia et al. [155], Alonso et al. [212], and Ribeiro et al. [213] proposed methods of filtering data at the edge, sending only useful data to the cloud. Alternatively, computational and data storage procedures can be brought closer to the sensor or actuator node by utilizing existing devices' capacity (known as edge or fog computing) [206], [214], [215], [216], [217]. Unlike cloud computing, a single node having infinite capabilities, edge and fog computing deploy multiple distributed nodes with limited computational abilities and require resource management to ensure proper deployment. To address this issue, resource management techniques optimize the use of resources at the edge and guarantee fulfilling the application needs [212], [215].
Another challenge faced is the deterioration of data quality due to their exposure to cybersecurity attacks or accusation and transmission faults, leaving missing and inconsistent data. To handle this problem, papers implemented blockchain technology to ensure data privacy and authenticity [218], [219], [220]. Darkweb technology has also been used to boost the performance of blockchains as it avoids exposure to malicious denial of service attacks [221]. Another method used to enhance the security of the data is implementing access control systems to ensure that only authorized users can control the data [222], [223]. The later problem has been solved by utilizing techniques to identify uncertainties or noise in the data and mitigate them. Algorithms based on the Boltzmann ML [224], the Kalman filter [225], and the longest common subsequence (LCSS) [226] have been utilized for data processing. Enhancing the quality of data has also been achieved through interpolation models based on fuzzy and neural network (NN) technology [128] and the anomaly detection algorithm based on matching old and new data [227].
E. Data Analysis 1) Machine Learning Techniques: As SF advances, ML techniques are widely adopted due to their potential to achieve reliable solutions to complex problems. Those techniques provide useful insight into the massive data generated by sensors through analyzing patterns and identifying trends. This section presents applications of data-driven decision-making in SF.
ML is the process of using data to acquire a model that represents the SF system and predicts its outcome. Broadly, ML in SF can be classified into regression and classification. Regression algorithms are used to find the relationship between continuous variables, while classification algorithms are concerned with determining class membership. The functionality, complexity, and data required for those algorithms vary significantly.
Simple regression algorithms-including linear, extreme gradient boosting (XGBoost), and stacked regressors-have been utilized to estimate the crop yield [228], [229], [230]. Decision tree, K-nearest neighbors (KNNs), random forest, naïve Bayes classifier, and support vector machine (SVM) are simple classifiers used to predict the most suitable crop for a region [210], [231], [232], [233], [234], [235], [236]. The simplicity of those algorithms enables presenting the relationship between data without demanding extensive computation power and, hence, can be employed at the edge. On the other hand, those models are incapable of doing more complex functions; hence, they have limited applications.
With the development of more advanced computing approaches, deep learning (DL) became the mainstream approach. DL utilizes NN models, the network of simple information processing units (known as neurons), to model complex relationships and extract features from huge datasets. The connection between neurons has a weight associated with them, which assigns a weighted sum to inputs of the neuron, and then, the resulted sum is passed through an activation function that determines the neuron's final output value.
NN has been used in SF for different purposes including soil or atmospheric parameter forecasting [98,237,238], optimal Environmental Conditions prediction [239], and artificial neural networks (ANN) based controller to optimize irrigation [240]. The desire of achieving tasks is to produce accurate results using NN, while minimizing the training time made the literature use tailored architectures, such as recurrent NNs (RNNs) and convolutional neural networks (CNNs). RNN has a memory buffer that stores the output of hidden layers and feeds it back to itself along with the upcoming input. This buffer makes RNN more suitable for processing sequential data. The ability to take the sequential information into consideration made RNN suitable for forecasting crop yield [241]. CNNs are tailored for image recognition tasks as neurons in an early layer of the network would extract local visual features, and neurons in later layers would combine these features to form higher order features. CNNs proved high accuracy in feature extraction in different SF applications, including detecting and diagnosing diseases, and weed-infected areas [242], [243], [244], [245], [246], [247], [248], [249], [250], determining the plants' quantity [92], [234], and detecting animals' intrusion [251].
2) Challenges: One of the challenges faced when applying ML in SF is the ability to find sufficient data to train the model. Finding a large data set that contains all possible usual conditions (anomalies) is a prerequisite for the success of the ML. To overcome this limitation, the literature utilized different sources, including weather repositories [217], [252] and image databases [246], [253], besides data collected in the field to train the ML model. However, an online task-oriented dataset might not be available. Another approach is to use data augmentation techniques to create new instances of data from the existing ones [248].
Another challenge faced is the noise in datasets, which might be misleading if used to train the ML model. Noisy data have been removed by experts in [254]. Alternatively, Kalman filtering to smooth the data [255] has been used. The high computation power and long training time of NNs shape a burden. To overcome this, papers integrate transfer learning, a technique that adjusts a model trained for a different task instead of training from scratch [211], [244], [253], [256], [257]. Transfer learning proved to obtain effective results at reduced cost using the pretrained model.

IV. TECHNOLOGY INTEGRATION INTO SYSTEMS
Numerous papers focused on integrating two or more of the aforementioned technologies to create an independent system. Among those systems, remote monitoring and autonomous, and discoing-making are the most common. Fig. 3 shows the enabling technologies used in forming each system.

A. Remote Monitoring Systems
Remote monitoring systems (RMSs) collect data from the physical layer (sensors and actuators) and send it to users through a visualization service (e.g., mobile app) and/or store data on a database server for further analysis. RMS provides the opportunity for farmers to observe the state of their farm, while he is away at any moment. Setting up an RMS requires the interconnection of a sensor network, a communication network, and a monitoring platform.
Due to the varying farmers' capabilities and demands, the RMS architecture did not converge. Its complexity ranges from a single sensing node that delivers data locally to multiple node systems that include an Internet connection to send data to a back-end IoT system. The former system operates on an internal application running on the same server, which has been achieved through deploying the global system for mobile communications (GSM) network and sending short message/messaging service (SMS) to users [189], [258], [259] or through a mobile application that receives data via Bluetooth [136]. The advantage of a local system is that it does it require an Internet connection from the farmer. This is vital in the case of an emergent message being delivered, such as fire. Having no Internet connection is also preferred in some developing countries where Internet availability is not guaranteed. However, the GSM network that can send a limited amount of data makes it impractical for applications requiring the exchange of huge data amounts. The latter system, which is more common, utilizes the IoT concept (exchanging data through the Internet), which can be done by directly connecting the sensors to the TCP/IP network or through a middle layer, as shown in the communication techniques in Section III-A. The gateway can be any device composed of a CPU and equipped with a transceiver compatible with the used communication protocol. Raspberry Pi is the most common gateway. A sample of different IoT solutions is shown in Table II.

B. Autonomous Systems
Autonomous systems have recently drawn researchers' attention because of the advantages that it brings to the farm, including eliminating the need for manual work and saving a significant amount of water [94], [261]. The most common autonomous system discussed in the SF literature is the irrigation system. Other autonomous systems include controlling the temperature using cooling fans [135], [194], [262], heating fans [135], skylight opening [263], wet curtains [264], or bare tube heating systems [265], controlling light intensity using shutters [194] or artificial lights [135], [262], [266], [267], [268], and controlling humidity using water fans [269] or fogging system [268]. Also, systems that automate additives such as adding nutrient solutions [270], [271] or pesticides [272] in water or injecting carbon dioxide in the air [273] have been considered in the literature. The design process of the above autonomous systems involves developing control logic and hardware to operate the actuators along with elements discussed in Sections III-A-III-C: connectivity of sensors, local data transmission, and actuators. The link between the system components requires synchronization to ensure flawless operation.

C. Intelligent Decision-Making Systems
Making decisions through sensors embedded in the field, data analysis techniques, and methods of handling big data has reshaped agricultural practices. Intelligent decision-making systems are included in all SF stages, starting from preplantation to postplantation activities. Predicting which crop suits the given environmental conditions and estimating expected crop yield are examples of preplantation decision-making. Decision-making during the plantation process includes identifying plant diseases, recognizing pests, and providing optimal nutrients and irrigation needs. Postplantation decision-making is concerned with counting and classifying crops. The high computation power and long training time of NNs shape a burden. To overcome this, papers integrate transfer learning, a technique that adjusts a model trained for a different task instead of training from scratch [211], [244], [253], [256], [257]. Transfer learning proved to obtain effective results at reduced cost using the pretrained model.  Table III shows that the most common decision-making system is the disease detection systems. Intelligent disease detection systems also provide the benefit of early detection and diagnosis, which can minimize losses. Weed detection and finding plants' needs are the literature's second and third most common decision-making systems. All those systems rely on plant pictures to extract features (e.g., color, size, morphology, and texture) and then classify them. The most common ML technique used is CNNs, as it has proved to produce accurate results for feature extraction and object classification. The high accuracy of CNN comes at the cost of demanding higher processing power and more extensive data volumes that are not always affordable. To overcome the limitations of CNN, many papers integrate transfer learning, a technique that adjusts a model trained for a different task instead of training a model from scratch or other ML techniques with CNN.
The high computation power and long training time of NNs shape a burden. To overcome this, papers integrate transfer learning, a technique that adjusts a model trained for a different task instead of training from scratch [211], [244], [253], [256], [257]. Transfer learning proved to obtain effective results at reduced cost using the pretrained model. Table III also lists various sources of data in SF. The selection of the data source is a significant concern as it is a prerequisite for the success of the ML approach. Finding the appropriate data source is challenging because most ML algorithms need to be trained on a large dataset to optimize many parameters. In addition, supervised ML methods require the labeling of the data set, which requires a large amount of the experts' work. Given those challenges, four sources of data were used in SF literature: 1) installed sensors; 2) weather stations collecting meteorological data; 3) online databases; and 4) agricultural reference material.

V. DISCUSSION
The main observation of surveying papers on SF is that none of the solutions is satisfactory for all SF applications. Hence, practitioners need to choose the one that fits their needs and obliges them to their constraints. For instance, sensor integrators need to consider the cost, power consumption, and design complexity while choosing the sensor types, quantity, and placement methods. As for the communication network, there is a tradeoff between power consumption, coverage area, and data rate. On the actuation side, having flexibility in designing the irrigation system comes at the cost of demanding high power to operate. Finally, on the data side, there is a tradeoff between the functionalities provided by the data analysis technique, the computation power, and the amount of data demanded.
To this end, although many papers discuss using commercial off-the-shelf software and hardware platforms to provide the needed functionality, none of them performs a technoeconomic analysis. The SF literature lacks an analysis of technology integration's effect on crop yield and returns on investment. In addition, the SF literature should have more discussion on the scalability and robustness of the proposed technologies. This can be done by expanding this work from a theoretical/experimental concept to an applicable industrial model and evaluating its effectiveness.

VI. CONCLUSION
The field of agriculture is heavily shifting toward utilizing technological solutions to enhance agriculture productivity, SF. This article presented a comprehensive survey of the stateof-the-art research performed in the field of SF. To this end, this article identified the most influential technologies affecting farming practices and structures. Analysis of technology integration is presented highlighting their advancements, challenges, and solutions. The discussion in this article provides a better understanding of the essential dimensions of innovative technologies for integrators.

ACKNOWLEDGMENT
The statements made herein are solely the responsibility of the authors.