iotQi allows for many different IoT devices to connect to the LooUQ cloud and in-turn your systems. This guide discusses the basic features found in all iotQi device clients.
All iotQi Device Client Can Perform These 3 Activities
- Generate telemetry (data) samples at a specified interval or at event triggered times
- Generate alerts based on local device conditions (different workflow in the iotQi cloud)
- Respond to commands received from the iotQi cloud (commands may or may not return values)
A device can perform all of these or a subset, it is all up to you.
When your device performs data sampling and sends this information to the LooUQ cloud, this is an event. Events can be set to be periodic, running on a recurring timer; or based on interrupts, triggering when some physical condition has occurred. Events are usually a part of iotQi projects.
When setting up events for periodic sampling, typically you will be limited sampling, at most, every 5 seconds. Also, depending on your subscription there may be limits on the number of Events your device can source per day. Events are processed in the LooUQ cloud on a buffered basis and may take up to 2 minutes to appear in your cloud data set.
Alerts are prioritized events. As event, they could originate from a periodic data sampling cycle or be interrupt generated. By prioritized, we mean that in the LooUQ cloud, alerts follow a different path and are sent to the cloud's notifications processor as soon as they are received. They will also be stored in your event data set, arriving at storage the same latency as events.
Alerts are metered based on your subscription, along with command responses (see below). Alerts and command responses together are referred to as actions. Subscriptions allow for a maximum number of actions per day.
Commands provide a mechanism for you to "operate" your device remotely over the cloud. iotQi has a web API (REST) and a web-based Console application to help out here. Commands may perform any task supported by your device's hardware. Further, commands may (optionally) return a response value back to the cloud.
There are several built-in commands to iotQi that report back information about your device. These are...
You can implement your own commands by creating a method\function in your code and registering it with the iotQi device library. As you change your commands in your device code, iotQi cloud functionality will be updated automatically.
Creating Your Own Events, Alerts, and Commands
Since each device family (Arduino, Raspberry PI, .NET, and future environments) have differing code rules, detailed discussions for implementing these features are found in their respective guides.
- Getting Started with Arduino Devices
- Getting Started with Raspberry PI (UWP) Devices
- Getting Started with .NET Devices