However, the convenience of sensor location still faces other issues: how to power the sensors and associated electronics containing the computing equipment, network connectivity to forward information to a centralized data repository, and how to communicate data in severely bandwidth-constrained environments. This latter issue can constrain the ability of the sensors to directly forward data readings to the repository.
Agha described some of the approaches to address these issues:
- In many locations, solar cells can provide limited amounts of power to the sensor devices. However, solar cell size restrictions mean that only a limited amount of power can be supplied.
- Network connectivity can sometimes be achieved via cellular means. When the location is too remote for cellular communication, sensors can use mesh networking to forward data to a location that can make a network connection. If neither of these approaches can work, a vehicle (train or truck) can carry a receiver, which gathers the data from the devices, which amusingly reminded me of this old method of picking up mail via trains.
- To address constrained bandwidth, the sensors discard individual data readings in favor of summaries. This enables a once-a-day aggregated data to be forwarded to the central repository.
- Finally, the individual sensor devices have to be smarter than mere readers of data and capable of operating as independent actors that can operate with more autonomy. Dr. Agha is an expert in actor-based programming, which is an emerging trend in languages and is used by both Facebook and Microsoft.
What these two examples brought home is how the term IoT shields the enormous complexity associated with individual sensor/actuator solutions. Four key elements are associated with every IoT solution:
- Power: Tetra Pak presumably had plenty of mains power for its “device” (the milk container filling machine). The bridge sensors typically have access to very limited amounts of power.
- Connectivity: The type, availability, and bandwidth size can vary significantly, depending upon where the IoT device is placed.
- Payload size: Some solutions may be forced to drop individual data records and rely on summaries, while others may be able to capture and communicate large amounts of data.
- Computing capability: Some solutions may find “dumb” sensors/actuators sufficient for system functionality. Others may require more capable devices that can operate more autonomously.
Each IoT solution needs to identify system resources and constraints and use them as solution design inputs. In a way, this reminds me of the early days of the Internet, in which websites had to be designed with highly restrictive user bandwidth limitations in mind. Boo.com was an infamous example of a website whose design outstripped the capabilities of user compute and network resources. This led, as you might imagine, to an unfortunate end for the company.
Sign up for Computerworld eNewsletters.