## 3 IoT Standards and Protocols for Precision Agriculture
### IoT Protocols in Precision Agriculture (RQ2)
#### 3.2.1 IP Protocols Comparison  
Table 5 summarizes and compares the communication IP protocols available for precision agriculture. The comparison highlights the strengths of each protocol for IoT applications in precision agriculture. HTTP [59], with its RESTful architecture and reliable TCP-based transport, is well-suited for web-based systems but has high overhead and lacks publish/subscribe communication support [60; 61]. MQTT [15], with minimal overhead and a publish/subscribe model, is ideal for low-bandwidth and scalable IoT deployments but lacks REST compliance [62]. CoAP combines RESTful features with lightweight UDP transport, making it efficient for constrained environments while maintaining flexibility through reliable and unreliable communication options [15; 63]. Based on the agricultural requirements outlined in Section 3.1.1, both MQTT and CoAP align well with the needs of precision agriculture, offering lightweight data flow, open platforms, and robust open-source implementations, whereas HTTP's traditional point-to-point architecture and inefficiency make it less suitable. Moreover, an extension of MQTT, namely MQTT-SN, proves particularly interesting for agricultural applications, as it has been specifically designed to handle lightweight messaging in resource-constrained environments, common in precision agriculture. Features such as gateway support, efficient message encoding, and reduced overhead make MQTT-SN ideal for sensor networks where energy and bandwidth are valuable resources [64; 65].  
\begin{table}
\begin{tabular}{c c c c} \hline \hline  & **HTTP** & **MQTT** & **CoAP** \\ \hline \multirow{4}{*}{General} & HTTP relies on TCP as its transport protocol & MQTT enables two-way communication between clients via a central server. It employs a publish/subscribe messaging to specify the intended action on the targeted resource. & CoAP offers two levels of communication between clients via a central server. It employs a publish/subscribe messaging to specify the intended action on the targeted resource. & CoAP offers two levels of communication between clients via a central server. It employs a publish/subscribe messaging to specify the intended action on the targeted resource. & CoAP offers two levels of communication between clients via a central server. It employs a publish/subscribe messaging to specify the intended action on the targeted resource. & CoAP has a flexible header length, with a minimum of 4 bytes. \\ \hline Transport & TCP & TCP & UDP \\ \hline REST Architecture Support & Yes & No & Yes \\ \hline \multirow{4}{*}{Payload Structure} & The header overhead is quite high due to the use of human-readable text instead of binary encoding. Also, URI parameters need to be encoded in Base64. With pipelining and keep-alive, the TCP socket stays open, minimizing the number of TCP messages for connection setup and teardown. & CoAP has a flexible header length, with a minimum of 4 bytes. \\ \cline{1-1} \cline{2-4}  & & MQTT has minimal protocol overhead (the fixed-length) & In uses binary encoding for both the header and the options within it. \\ \cline{1-1} \cline{