An ARM Based Mote for the Internet of Things
The Internet of Things (IoT) is gaining momentum and is believed to be on the edge of becoming mainstream over the next few years. The key concept of IoT is ordinary objects, such as home appliances, vehicles, machines, animals, people and even the environment, becoming ‘smart’, Internet connected things, whose behaviour can be monitored and controlled from anywhere in the world. A practical challenge to achieving this IoT vision is to be able to provision each ‘thing’ with sensors, actuators, a controller, and a wireless connection to the Internet. The device that provides the control and connectivity capabilities is often referred to as a ‘mote’, on the basis that there will need to be many millions of these, like dust particles, particularly as each sensor and actuator can itself be a ‘thing’!
Motes in most cases are implemented by tiny, cheap, radio connected microcontrollers, often with limited resources (cpu power, memory) relative to what is available in desktop computers or even in mobile phones. Perhaps the most significant resource limitation though in many situations where motes are deployed, is electrical power, particularly in mobile and outdoor scenarios, or wherever there is no mains supply or the ability to easily replace or recharge batteries. This is the province of low power, Wireless Sensor Networks (WSN), which is the solution space that the ARMote devices and solutions architecture were designed to support.
Some examples of practical ‘low power’ WSN (Wireless Sensor Network) application scenarios include:
- Animal trough and water tank level alarms.
- Plant and machinery tamper detection.
- Snow field depth measurement.
- Water quality monitoring.
- Soil temperature measurement.
- Seismic monitoring.
Key challenges of such application scenarios are:
- There is typically no mains power and battery changing may be difficult.
- There can be hills and other obstacles blocking effective wireless communications.
- Long distances may be involved.
These challenges tend to rule out use of current WiFi technology in favour of mesh networking protocols designed to run on very low power hardware, with relatively limited memory and processing resources. Such constraints themselves give rise to further challenges:
- Unreliable wireless links, due to environmental conditions and low power transmissions.
- Relatively low communications data rates.
The need for long battery life means that all motes need to sleep for much of the time. The need for ‘sleepy’ routers in particular means that many existing network solutions, including current Zigbee, aren’t suitable. Part of the philosophy of IoT, to achieve a simple architecture, is that ‘objects’ are directly addressable by applications sitting out on the Internet, avoiding mediating gateways that need to be configured with specific knowledge of motes and the sensor networks. Again Zigbee doesn’t support this kind of transparency which needs an entirely IP solution. Consequently the open source, Contiki mesh network operating system has been selected as meeting all of these requirements and a number of others, such as support for a wide range of hardware and relative ease of porting new devices.
Even though the Contiki operating system has been engineered to operate using very small amounts of memory and low powered processors, the full network stack can easily occupy more than 8K of RAM. Consequently an IoT mote must provide significantly more than 8K RAM if it is to use such key features of the stack such as RESTful’ communications, plus have sufficient resources for general applications. The newest range of devices such as the TI CC2538 and CC2650 have the memory footprint to enable Contiki based radio networking to be implemented whilst still having enough program memory to implement software layers on top, performing real world tasks.
A concern though has to be the effort and cost needed to implement this kind of technology, with the arrival of very capable, low cost, single board computers (such as RPi and BBB) that can run full blown linux, with on board ethernet and support for standard WiFi. The issue is as this kind of technology improves (reduced cost and power overhead) over the next few years, it will likely squeeze out the need for more specialist hardware and software for many classes of solution requirements.
Consequently our aim has been to focus on those classes of requirements that are less likely to be supportable over the next few years, by emerging generations of general purpose, single board computers. A key area in this regard is outdoor, rural and also mobile situations such as apply to farming, agriculture, leisure activities, pipelines (oil, water) and similar services, seismology and other terrain related monitoring.
Some key challenges of many outdoor requirements are long distances with difficulty, hilly terrain, and of course no power. This implies the need for a relatively long distance mesh capability (> 1K), which indicates the need for range extension at 2.4GHz and/or sub GHz wireless. (There is good evidence from existing providers of ‘outdoor’ solutions that this is necessary). The new TI, ‘Simplelink’ CC2650 and CC1310 devices are pretty much identical ARM systems on a chip apart from the radio, with the CC2650 operating at 2.4GHz and the CC1310 supportng the major sub-GHz bands. So the CC1310 is well placed for longer range, outdoor communications, with the CC2650 for shorter ranges. In addition the CC2650 has multiple protocol support that also enables it to configured for Bluetooth low energy. An advantage of Bluetooth is that its frequency hopping protocol provides for a relatively secure and reliable communications in frequency crowded and electrically noisy conditions.