Recently, I talked with an IoT expert, Phani Pandrangi, about the levels of technologies and services needed to remotely control lighting, as well as the role of APIs in the process. Pandrangi, chief product officer at Kii, explains how a solution such as this in engineered and discusses how APIs are exposed and managed during the process.
The typical IoT application development team consists of firmware, service-level and API designers and developers. “A company might not have all of these skill sets in-house, because they never needed them until now,” said Pandrangi. So, enterprise architects and CIOs charged with IoT projects have to analyze what can be built with in-house staff versus what requires the support an IoT platform vendors’ technical teams. For example, Kii’s technical team recently worked with Yankon Ltd., an LED lighting manufacturer, on the afore-mentioned light bulb project.
To enable remote control of a bulb, technologies are needed at the bulb, cloud services, application and other levels, Pandrangi said. For example, at the device level there are ‘device agents,’ like RAM, inside the firmware of the device – in this case, a bulb. Another layer consists of back-end services, which do many things, including managing data devices and providing analytics reports. Then, there are application, architecture and infrastructure layers, some of which exist before the IoT project is started.
Management of smart devices requires remote connectivity and interoperability. “The user is turning the bulb on, off, changing brightness, etc.,” Pandrangi said. “That comes back to back-end services level.” And then, at the application level, details of functionality of that app are exposed through an API In the light bulb case, remote management can control lighting turn on, turn off, brightness and things like that.
Next, beyond simply being able to do remote control, back-end services must include business intelligence functionality that can, for example, show patterns of usage such as average brightness levels.
Typically, back-end services are integrated and tailored to a specific architecture through APIs. “They are exposed as APIs for apps, Web apps, etc.,” Pandrangi said. “And then, when an API call is made on the cloud side, what happens is, in non-technical terms, is a command that says, ‘Turn on the bulb in Phani’s living room.'” Then the cloud service – which contains all the information relevant to the lighting in Phani’s home, automatically sends an MQTT protocol message telling the bulb what to do.
The APIs device manufacturers used for IoT device development are very solution-dependent, so generic APIs won’t do, said Pandrangi. The device manufacturers customize the APIs and expose them to the device application through an IoT platform like Kii’s, which contains back-end services, like user management, data management, device management, analytics and so on (as well as APIs).
Written in conjunction with Jan Stafford