Kii provides a framework named Thing Interaction Framework (Thing-IF). The framework provides a set of fundamental features that will help you implement various IoT solutions. The Thing-IF SDK is a toolkit for leveraging these features.
With the Thing-IF SDK, you can quickly onboard your things to Thing Interaction Framework. You can also integrate things with mobile applications to implement the remote controlling and surveillance systems. You can even set some triggers to automatically manipulate the things when the designated conditions (e.g., "when the room temperature goes over 30 degrees in Celsius" and "at 1:00 am") are met.
You can leverage these features without writing a ton of codes.
If you want to implement your application while leveraging Kii Cloud primitive features (i.e., the level of features that Kii Cloud SDK provides), you can use the Thing SDK described in Tuning with Kii Cloud SDK for Thing. You can also use the Kii Cloud SDK for Thing along with the Thing-IF SDK. Please refer to Functional Model to learn how to choose the SDK that matches with your needs.
Here are a few reasons why you want to consider using our Thing-IF SDK for building your IoT solutions.
Flexible mechanism for covering various types of things and IoT solutions
There are many types of IoT devices and solutions. All of them have distinct capabilities and requirements. LED light bulbs, for example, can have some settings (e.g., color and brightness) and allow users to configure these settings to bring the customizable room lighting (e.g., change the color and the brightness). Air conditioners will have a completely different set of configurable settings (e.g., "preset temperature" and "fan speed") that can be configured by users. They can also have a feature to monitor and log some live data (e.g., the current room temperature and humidity).
To accommodate the diverse capabilities and unique needs, Thing-IF SDK introduces the concept of "trait." The tait lets you define the data the thing will handle ("State") and the operations the thing can execute ("Actions"). You can plug any IoT consumer electronics, sensors, and other IoT-enabled things by registering the corresponding trait.
Secure mechanism to prevent unauthorized manipulation
Although the remote control and surveillance are handy features, they can pose some serious damages if not correctly implemented. For example, you do not want malicious outsiders to remote control your things and misuse them. You also do not want the outsiders to peek the state of your things.
The way our Thing-IF SDK integrates the mobile application will allow only the designated user/group (i.e., an owner) to execute the thing's actions and to browse the thing's state. Attempts to execute the actions and browse the state by outsiders will be rejected.
To support things that do not have direct internet connection capability, Thing Interaction Framework supports the connectivity via a gateway. By implementing a connector on the gateway, you can connect devices that only support short-range communications like Bluetooth and Zigbee to Thing Interaction Framework. Once the devices are connected via the gateway, you can let them upload the states and control them by sending commands.