by Christian Légaré, Micrium Executive Vice-President
Miss part one? Click here
The IoT Devices
In the first article in this series, I presented the communication technologies used in Wireless Sensor Network (WSN) nodes. WSN nodes are not the only types of IoT device, but to provide the hardware and software architectures for each type of IoT node, I needed to establish the kind of software load that is typical on such equipment.
In this segment, I will describe what an IoT device actually is – the “Thing” in the Internet of Things. How is it structured, what processor should be used for each case, and which software languages should be used for the framework and the application?
What is a Thing?
The definition of a “Thing” in the Internet of Things varies a lot. I would define a Thing as an embedded computing device (or embedded system) that transmits and receives information over a network for the purpose of controlling another device or interacting with a user. A Thing is also a microcontroller- or microprocessor-based device. The capabilities of these embedded devices have been expanding at the speed of Moore’s law.
What is an Embedded System?
When I am asked what an embedded system is, I like to use the following definition: “An embedded system is a microcontroller/microprocessor-based system encapsulating one single-purpose process for the lifetime of this system.”
As the CTO of Micrium, I consider an embedded system to be a system based on a microcontroller (MCU). Some Linux and Android-based systems can also be defined as embedded systems, but usually, these general-purpose operating systems require an application processor, and have additional capabilities such as dynamic application loading (which does not match my definition of an embedded system). This is why MCU-based embedded systems are often described as deeply embedded systems, versus the more general definition of embedded systems. For us at Micrium, these deeply embedded systems are the Things in the Internet of Things.