- IoT Sensors include three fundamental functions: sensing, communication, and power supply, as well as additional functions: processing/system management and user interface
- IoT application is determined by the types of sensors, cloud connectivity, power sources, and (optionally) user interface used in an IoT sensor device
- It is possible to realize a variety of IoT applications with a single IoT sensor hardware platform by employing appropriate functional modularity and interface abstractions
- An application processor and well defined interfaces help abstract functions for versatility and ease of use
There three fundamental functions that any IoT sensor must include:
- sensing the required physical conditions
- transmitting the sensed data
- being energized
Communication may be wired or wireless, direct or indirect – as long as sensor data somehow gets from the a sensor to public or private cloud service. Sensors may be internal to the IoT sensor device itself or external (perhaps embedded in another piece of equipment). If a sensor is external, IoT sensor must provide an appropriate interface to it. Energy sources may be internal (eg. batteries), external (eg. power mains), or hybrid (eg. external energy harvester source with internal rechargeable battery).
However, looking closer into an IoT sensor, there are other important functions it contains. Aside from the simplest forms of implementation, it needs some processing capability to manage the overall device operation. How and where the processing function is done depends on implementation choices, typically driven by cost and ease-of-use considerations. For instance, as some wireless radios need sophisticated processing, they may have more than enough horsepower to also provide application processing for a sensor reading and formatting. In such a case, the system management function may be combined with the connectivity function, but, potentially, at the expense of ease of reuse of the sensor processing paired with a different type of radio communication device.
Additionally, in some applications, an interactive user interface (UI) may be needed to configure or control the device operation. An UI may be as simple as an LED and a push button or as complex as touch-screen display or a GUI application on a paired smartphone. As many IoT sensors have to be fully autonomous devices, UI capability is added only whenever it is needed.
IoT application applicability is determined by the types of sensors, cloud connectivity, power sources, and (optionally) user interface used in an IoT sensor device.
For example, a Smart Agriculture IoT application used to optimize quality and yield of wine grapes may need soil moisture, temperature, and relative humidity sensors to monitor localized conditions around vines. Sensors being out in large fields, need long range wireless communication to a gateway connected to internet. The sensor devices need to be powered from a harvested energy source, such as abundant solar power as there is no power grid in the field. There is no need for any UI. A suitable IoT sensor would then have the following hardware configuration:
- Sensors: soil moisture, temperature, and relative humidity
- Wireless radio: LPWA (low power wide area), such as LoRaWAN
- Power Supply: self-powered from harvested solar energy with a rechargeable Li-Po battery to provide energy even during cloudy days
- UI: none
Let’s look at another example. The IoT application is to monitor for water leaks at a school building, to warn of water damage from burst pipes during unoccupied hours (weekends and nights) before the damage to the building is extensive. The sensor is sensing for water moisture conditions (alternately it may monitor the flow of water in main supply pipe). Since the school building has adequate Wi-Fi coverage throughout, Wi-Fi radio connectivity is appropriate and low cost. There is power outlet in every bathroom, so the sensor device can be powered from an external power supply unit. UI is needed to configure wi-fi credentials during the deployment and to locate a deployed device via audible sound. A suitable IoT sensor would then have the following hardware configuration:
- Sensors: moisture sensor (electric conductivity)
- Wireless radio: Wi-Fi 802.11n
- Power Supply: 5 Vdc from external power supply unit
- UI: Wi-Fi Direct paired to a smartphone (for Wi-Fi credentials configuration) and piezo buzzer (for audible localization)
These two examples illustrate that while the details of the implementation are very different, the fundamental IoT device structure is the same. This means that a single sensor device hardware platform could be devised for seemingly different IoT applications with appropriate level of abstraction of interfaces for sensors, radio, power supply, and UI within the sensor device. Such abstraction can be achieved by employing modularity where different types of sensors, communication channels, and power supplies are implemented as interchangeable modules with well defined, common interfaces. A separate application processor in the chassis that connects the modules together provides firmware level of abstraction, that speeds up development time by reusing common firmware components and IDE despite variations in populated modules.
Thus, with enough insight into the anatomy of IoT sensor devices, a versatile, easy to reuse, and cost effective hardware platform that implements a great variety of IoT applications can be realized.