| Literature DB >> 25803706 |
Roy Fisher1,2, Lehlogonolo Ledwaba3, Gerhard Hancke4, Carel Kruger5,3.
Abstract
The concept of the Internet of Things is rapidly becoming a reality, with many applications being deployed within industrial and consumer sectors. At the 'thing' level-devices and inter-device network communication-the core technical building blocks are generally the same as those found in wireless sensor network implementations. For the Internet of Things to continue growing, we need more plentiful resources for building intelligent devices and sensor networks. Unfortunately, current commercial devices, e.g., sensor nodes and network gateways, tend to be expensive and proprietary, which presents a barrier to entry and arguably slows down further development. There are, however, an increasing number of open embedded platforms available and also a wide selection of off-the-shelf components that can quickly and easily be built into device and network gateway solutions. The question is whether these solutions measure up to built-for-purpose devices. In the paper, we provide a comparison of existing built-for-purpose devices against open source devices. For comparison, we have also designed and rapidly prototyped a sensor node based on off-the-shelf components. We show that these devices compare favorably to built-for-purpose devices in terms of performance, power and cost. Using open platforms and off-the-shelf components would allow more developers to build intelligent devices and sensor networks, which could result in a better overall development ecosystem, lower barriers to entry and rapid growth in the number of IoT applications.Entities:
Mesh:
Year: 2015 PMID: 25803706 PMCID: PMC4435151 DOI: 10.3390/s150306818
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Internet of Things generic network implementation.
Figure 2.The rapidly prototyped Council for Scientific and Industrial Research (CSIR) Internet of Things node.
Figure 3.The CSIR Internet of Things node functional diagram.
Figure 4.Wireless sensor nodes' current consumption against duty cycle.
Figure 5.Non-traditional nodes' current consumption against duty cycle.
Figure 6.Comparison of processing speed against cost for WSN nodes (commercial off-the-shelf (COTS) and open platforms indicated in green and red, respectively).
Table showing features of the WSN nodes. GPIO, general purpose input output.
| Waspmote | None | 8 | 14.75 | Various (Depends on Implementation) | 2 | C/C++ | 21 | 2013 | 210 |
| Sprouts | Linux | 32/8 | 32 | ZigBee, BLE | 2 | c | 0 | 2011 | 20 |
| Lotus | Mote Runner/ TinyOS | 32 | 10–100 | ZigBee | 0 | nesC | 0 | 2011 | 300 |
| Firefly | NanoRk | 8 | 7.3 | ZigBee | 0 | C | 20 | 2010 | Un-known |
| Imote2 | TinyOS | 32 | 13–416 | ZigBee | 0 | nesC | 12 | 2006 | 300 |
| MICAz | TinyOS | 8 | 16 | ZigBee | 0 | nesC | 4 | 2004 | 100 |
| TelosB | TinyOS or Contiki | 16 | 16 | ZigBee | 3 | nesC | 16 | 2005 | 120 |
| CSIR Node | Contiki | 32 | 24 | 802.15.4/ZigBee | 0 | C/C++ | 17 | 2012 | 80 |
| Raspberry Pi | Raspbian, Android, Many more | 32 | 700 | None, but expandable | 0 | Any for Linux OS | 0 GPIO and UART, | 2012 | 35 |
| Beagle-bone | Angstrom, Raspbian, Many more | 32 | 720 | None, but expandable | 0 | Any for Linux OS | 65 GPIO and UART, | 2012 | 89 |
Raspberry Pi expansion board (http://elinux.org/RPi_Expansion_Boards);
Beaglebone expansion boards (http://elinux.org/BeagleBone_Community).
Table summarizing the results from the reliability test with a Raspberry Pi.
| <1 m | 0% packets dropped |
| 5 m | 0% packets dropped and 1 arrived out of order |
| >10m | 0% packets dropped |
Table summarizing results from the throughput test with Raspberry Pi.
| 15 MB (megabytes) | 11.5 Mbps (Megabits per second) |
| 18.2 MB | 15.2 Mbps |
| 60 MB | 21.5 Mbps |
| 200 MB | 22.2 Mbps |
Table summarizing results from Python and the command line implementation of communication with confidentiality.
| AES128 bit key | 3.34744 |
| AES 192 bit key | 3.318837 |
| AES 256 bit key | 3.20268 |
| Blowfish | 3.317878 |
| DES | 2.590775 |
| Triple DES | 1.458663 |
| RC4 | 3.58629 |
Table summarizing results from Python and the command line implementation of communication with integrity.
| MD4 | 28.82474 |
| MD5 | 24.85157 |
| ripemd 160 | 15.347 |
| SHA | 19.09429 |
| SHA1 | 21.68956 |
| SHA 224 | 15.2319 |
| SHA 512 | 8.411452 |
| Whirlpool | 1.566124 |
Figure 7.Throughput results when applying both confidentiality and integrity for command line application.
Table summarizing results from the Python OpenSSL wrapper implementation of communication with confidentiality.
| AES 256 CBC | 2.221412771 |
| Blowfish CBC | 2.211554 |
| DES CBC | 1.84385782 |
| Triple DES CBC | 1.138862268 |
| RC4 | 2.696817074 |
Summary throughput results for secure communication (CIA).
| X4 | 113 KB/s | 0.882 Mb/s |
| X2 | 1.4 MB/s | 11.2 Mb/s |
| Raspberry Pi, Command Line | 2.962 MB/s | 23.696 Mb/s |
| Raspberry Pi, Python Wrapper | 1.5778 MB/s | 12.6224 Mb/s |