On the ARTIK cloud services ecosystem, IoT device and application developers can discover each other and quickly build sophisticated solutions together.
This article is written for application developers. It provides an overview of how applications can work with devices and their data on ARTIK cloud services.
Also see Devices.
Create an application
Setting up an ARTIK cloud services application is easy! To create an application:
- Use our web tools to create an application.
- Obtain its client ID and/or secret, which are used in the application code.
Set up authentication
All API calls need a valid access token. ARTIK cloud services accept device, user, and application tokens. Your application will likely use the latter two.
Authentication explains how to get, refresh, revoke, and use an access token.
Manage your users
Your application can register new ARTIK cloud services users and manage their accounts via one of four identity providers. We recommend using ARTIK Cloud Accounts, which allows you to customize the login experience.
Work with devices
If you want to develop devices on ARTIK cloud services, get started with the basics!
Get device type info
Learn the properties of a device type with APIs such as:
Each device on ARTIK cloud services belongs to a device type. The device type Manifest describes the data sent by the device and any commands it can receive.
Manage user devices
Programmatically manage devices with APIs such as:
Cloud Connector devices
ARTIK cloud services use a Cloud Connector to handle an external cloud like a regular device.
Learn how to get started with Cloud Connectors.
Check device status
Get message snapshots to see the last received value for all Manifest fields of a device or devices. This is the quickest way to view the current state of the device.
Get device statuses to retrieve message snapshots and parameters related to connection status for a list of devices. This includes timestamps of the last message sent, last Action received, and last time the device was online, and the device's current availability to send and receive messages/Actions.
Applications can grant limited or temporary access to a device to a user who is not the device owner. This is known as device sharing.
Device sharing scenarios might include families or office coworkers sharing smart appliances or lights, or an apartment subletter or car renter needing access to a smart lock. See the documentation for details and relevant APIs.
Get messages or Actions
Applications can get data messages or Actions using one of the below methods. Actions are ARTIK cloud services messages that send a command to a device, such as
- REST: Use the Messages APIs (to get recent messages and get Actions)
- WebSocket: Receive messages via Firehose WebSocket
- Subscribe using HTTP callbacks, then receive messages/Actions in notifications from ARTIK cloud services
- Set up Amazon Kinesis to receive messages/Actions from ARTIK cloud services
Send messages or Actions
Applications can send data messages to ARTIK cloud services, or send Actions to devices via ARTIK cloud services, as follows:
Rules trigger device Actions based on data messages. An application can programmatically create and manage Rules for a device owner.
For detailed instructions, see the Rules documentation.
Manage LWM2M devices and properties
Developers can use the Device Mirror and device management features to perform tasks such as OTA (over-the-air) updates for a fleet of devices. To perform device management tasks, you must belong to the organization that owns the device type.
An application could make API calls to:
- Get device type properties from the Device Mirror in ARTIK cloud services
- Manage physical devices running LWM2M protocols, including OTA updates
We have given a quick glimpse of how applications and devices can work together on ARTIK cloud services. For a hands-on walkthrough of these concepts, read our tutorial on how to Develop an application on ARTIK cloud services.
You can also develop sample applications for different platforms with our in-depth tutorials.