## 11 Hardware and Testbeds
### Camera Motes  
In order to reduce the amount of resources required by transmitting multimedia traffic (images, videos) over WMSN, the multimedia content should be intelligently manipulated and processed using appropriate compression and coding algorithms along with other application-specific multimedia processing such as background subtraction, feature extraction, _etc._ However, most of these algorithms are complex and require high computational and processing power as well as larger memory for buffering frames. Sometimes, these requirements cannot be satisfied with the only resources offered by the wireless motes, which we mentioned before, especially if they require floating-point operations for efficient multimedia processing. Therefore, camera sensor may coupled with additional processor (microcontrollers, DSPs, FPGAs, _etc._) and memory resources before relaying the processed data to the wireless mote for wireless communication. Nevertheless, the additional processor and memory resources require more energy consumption and cost and this makes a tradeoff between energy consumption and cost on one side with computational power and traffic amount on the other side. It has been shown in [104] that the time needed to perform relatively complex operations on a 4 MHz 8-bit processor such as the ATmega128 is 16 times higher than the time needed with a 48 MHz 32-bit ARM7 device, while the power consumption of the 32-bit processor is only six times higher. Hence, this indicates that the powerful processor (such as 32-bit ARM7 architecture) is more power-efficient in multimedia applications. Table 5 shows the existing multimedia platforms and research prototypes for WMSN and compares between their specifications. ?From Table 5, we can conclude that camera motes have different capabilities (resolution, processing power, storage, and others) and accordingly, depending on their capabilities and features, they have different functionalities and play different rules in the network. For example, low resolution cameras can be used at the lower-tier of multi-tier network for simple object detection task to exploit their low-power consumption feature that allows them to be turned on most of the time (or in duty cycle manner). Cyclops, CMUCam3, and eCam [105] are examples of _low-resolution_ cameras. Intermediate and high resolution cameras can be used at higher-tiers of the network for more complex and power-consuming tasks, such as object recognition and tracking. These types of cameras consume more power and hence there are only woken up on-demand by lower-tier devices, e.g., in case detecting an object of interest. Webcams, attached for example with Stargate board or Imote2, can be considered as _intermediate-resolution_ cameras, while PTZ cameras used in [98] is an example of _high-resolution_ camera. Figure 6 shows commercial product examples of camera mote platforms used in WMSNs. Cyclops [106] is a small camera device developed for WMSN. Cyclops is compatible with the computationally constrained wireless sensor nodes (motes) and exploits the characteristics of CMOS camera sensors as they are low power, low cost, and small size sensors. Cyclops platform isolates the requirement of camera module for high speed data transfer from the low-speed capability of the embedded controller and provides still images at low rates. It is designed to be interfaced with the common motes used in wireless sensor networks such as MICA2 and MICAz. Cyclops hardware architecture consists of an imager (Agilent compact CIF CMOS ADCM-1700), an 8-bit RISC ATMEL ATmega128L micro-controller (MCU), a Xilinx XC2C256 CoolRunner complex programmable logic device (CPLD), an external 64 KB SPRAM, and an external 512 KB Flash. The MCU controls Cyclops to capture images and communicate with host to provide image interface, while CPLD provides high speed clock, synchronization, and memory control required by the image capturing that cannot be satisfied by using a lightweight processor.