In recent years, wireless sensor networks have became the effective solutions for a wide range of IoT applications. The major task of this network is data collection, which is the process of sensing the environment, collecting relevant data, and sending them to the server or BS. In this chapter, classification of data collection protocols are presented with the help of different parameters such as network lifetime, energy, fault tolerance, and latency. To achieve these parameters, different techniques such as multi-hop, clustering, duty cycling, network coding, aggregation, sink mobility, directional antennas, and cross-layer solutions have been analyzed. The drawbacks of these techniques are discussed. Finally, the future work for routing protocols in wireless sensor networks is discussed.