Updating Your Skills for the Internet of Things
IoT is breaking rules. For example, in many cases, IoT designers purposely limit the processing power and connectivity of IoT devices. Making devices with less processing power and connectivity may buck the IT trends of recent years, but IoT is changing some of the assumptions and approaches of traditional IT. IT professionals moving toward IoT will need to learn some new strategies and technologies.
IoT devices (like desktop and notebook computers) are smart (having their own embedded processor) and connected (often using wireless networks). But setting up, configuring, programming, and maintaining an IoT device is very different from doing those tasks on a traditional computer. The typical IoT device is purposely configured with extremely limited processing power, memory, and data communication capabilities. A device may not have a user interface other than perhaps a power button and a few LED lights. These constraints have positive effects; they make IoT devices both inexpensive to produce and downright miserly in their use of electrical energy. And IoT devices may even extract energy from the environment around them, a feat called energy harvesting. This design strategy enables devices to be located anywhere, even in remote locations where electrical power sources and connectivity may be limited.
Sensors on IoT devices can collect a mind-boggling variety of readings, such as the temperature of frozen food in a delivery truck, the volume of traffic passing through an intersection, the quality of soil in a particular location of a farmer’s field, and countless other measurements. The sheer volume of data produced by IoT devices must be processed, interpreted, and handled securely. At the same time that IoT is dramatically increasing data volumes, it is also creating new challenges to keep that data secure and private.
Real-time data processing and networking enable data to be collected, processed, and acted on very quickly. Based on intelligence provided by the data, an immediate, automated response may need to be triggered. For example, the temperature in the refrigerated delivery truck may need to be adjusted. The brakes in a smart car may need to be activated to avoid a collision. Or the mix of chemicals may need to be modified as a spraying machine advances through a farmer’s field, based on soil samples taken at the sprayer’s exact geographic location. The ability to process and act upon data so quickly seems at odds with the limited power and capabilities of the typical IoT device. But special operating systems and data processing strategies enable these real-time operations to be performed efficiently.
Edge computing provides another strategy for processing the data from IoT devices. Rather than perform all heavy processing tasks in the cloud, edge computing moves some processing tasks back to the edge—where the local network meets the cloud. This means placing some sort of heavy processing capability near the IoT devices and using an IoT gateway to “do the heavy lifting” on behalf of IoT devices. The gateway can handle all communication with the cloud, so the IoT devices themselves can use lightweight communication protocols, and (safely behind a firewall) won’t require the same security capabilities (such as heavyweight encryption processing) that they would require if they were directly connected to the Internet.
New methods of data processing and analysis are used to make sense of the massive quantities of data produced by IoT. Data analytics tools such as Azure Stream Analytics, Vitria, and Statistica are geared toward IoT. Big data and cloud storage technologies, such as Hadoop and NoSQL database systems take on new importance with IoT. So do more traditional skills, such as SQL. Machine learning and artificial intelligence technologies will also play a critical role in processing IoT data.
IT professionals preparing to move to IoT should consider adding some of the following skills to their portfolio:
• Working with microcontrollers, sensors, and actuators
• Programming real-time operations on microcontrollers
• Embedded device power management and deployment of energy harvesting technologies
• Selecting, installing, and configuring real-time operating systems (RTOS)
• Setting up and configuring sensor networks and IoT gateways, including communication technologies geared toward these networks, such as MQTT, 6LoWPAN, Thread, and Zigbee
• Managing cybersecurity on embedded devices and sensor networks
• Working with data analytics tools, advanced SQL, cloud storage and NoSQL databases, artificial intelligence, and machine learning