Like computer networks in general, sensor networks divide radio communication into several layers, such as the Medium Access Control (MAC) layer. Unlike the network layer, the MAC layer tries to ensure that a node can efficiently transmit a packet to its one-hop neighbors. It also tries to minimize the interferences among different transmissions. However, because of the energy constraint in most sensor networks, many MAC layer also incorporates duty cycles and turn off the radio as much as possible. We had to implement XMAC and RiMAC protocols and compare performance under different metrics.
2. Collection Tree Protocol
Wireless sensor networks (WSNs) have gained significant visibility in various scientific fields over the past few years, exemplified by sensor data collection applications. We implemented a simple data collection system that transmits real-time temperature and humidity measurements to a base station. These measurements are subsequently displayed on a PC screen.
3. TOSThreads
Motes are designed for data collection and control of the local environment. Therefore, the event-based programming model works well in the setting of wireless sensor networks (WSN), where motes wait and react to events (message arrival, sensor acquisition, and so on). However, this programming model puts the burden of maintaining states across commands and events on the developers. TOSThreads is a thread library for TinyOS that brings back the linear programming model. We convert an event-driven Sense application to a threaded application.

