Frequently Asked Questions
- How does the ARTIK cloud services platform differ from other IoT cloud offerings?
- Interoperability is one of our key differentiators compared to other cloud services. ARTIK cloud services provide an ecosystem where device manufacturers, application developers, and service providers can discover each other and build sophisticated solutions together without integration pain across vendors or vertical markets.
- How do you secure the data in ARTIK cloud services?
- We require secure communication protocols (TLS or DTLS) between ARTIK cloud services and a client. The payload and access token are encrypted at the transportation layer. We also support secure device registration for cases where data is especially sensitive (e.g., medical data).
- I have a physical IoT device bought on market. How can I connect it to ARTIK cloud services, given that I cannot put a device ID and access token into that device?
- Check if the device is listed on our Works With page. Each listed device has been verified to work and contains specific instructions on how to connect it to ARTIK cloud services. For example, for SmartThings, Pebble, and Samsung Gear S2 devices, you can install their corresponding apps to connect them to ARTIK cloud services.
If you are a developer and the device uses its own third-party cloud, you can build a Cloud Connector to allow ARTIK cloud services to receive data from and send commands to the Cloud Connector, treating it as another device.
You can also build a proxy between a physical device and ARTIK cloud services. The proxy could be a device-onboarding mobile app or a program running on a computer. The proxy communicates to the device locally, for example via Bluetooth. Design the login flow in the proxy to obtain a user token to communicate to ARTIK cloud services (for example, an Android app onboarding Polar H7 heart rate sensor). Or put the device ID and access token into the proxy, such as with the Kevo smart lock.
- What communication protocols are supported between devices and ARTIK cloud services?
- ARTIK cloud services offer a number of protocols for your devices to communicate: REST, WebSocket, MQTT, and CoAP. ARTIK cloud services also support building Cloud Connectors for devices that use their own third-party cloud. ARTIK cloud services will treat the Cloud Connector as a device.
- Do ARTIK cloud services message APIs support retrieving a large number of messages?
- Yes. We recommend using the Export API to create an export request for historical messages from up to 30 days. Data can be exported in JSON and CSV formats.
- What is the maximum number of events per second and bytes per second that ARTIK cloud services can consume from a single device?
- This corresponds to our current rate limits.
Using the REST API: 100/min, 100,000/day
Using WebSockets or MQTT: 1000/min, 100,000/day
The maximum message size is 1,024 bytes. If necessary, this can be increased if you are using a paid pricing plan.
- I developed a cool app and I want to store data in ARTIK cloud services, but it's not a device. Can I still use ARTIK cloud services?
- YES! ARTIK cloud services define as "device" any source of data. It can be an actual device, such as a Samsung Gear Fit, or a service that wants to store your data to make it available to you and other services.
- OK, I developed a super-awesome app, and I want to use ARTIK cloud services to store values and allow my users to share their data with other apps. Do I need to get certified? What do I do to get started with ARTIK cloud services?
- It's very simple. First, you need to learn about the Manifest. Once you have prepared a Manifest, go to the Developer Dashboard, create a new device type, upload its Manifest and wait for it to be approved by our team. Once your Manifest is approved, you can start integrating your app. Feel free to grab one of our SDKs. Once your device type is approved, you can immediately "publish" it and any user will be able to connect this device to ARTIK cloud services.
- My device type has not been approved. How can I test my application?
- Unfortunately, you will have to wait for us to approve your Manifest. But don't worry, we are actively reviewing Manifest submissions and it should not take too long.
- Is there a standard for units such as the metric system or the Imperial system?
- Everyone and everything is welcome in ARTIK cloud services. When you submit a new Manifest for a (new) device type, we will review it and recommend changes. You are welcome to send data in the format and unit that suits you best, but in order to make data consistent we will from time to time recommend changes to your Manifest. This will make your app, service or device an active member of the ARTIK cloud services ecosystem.
- Is there, or will there be, any facility allowing for data set reduction on ARTIK cloud services (e.g., MapReduce), either on-demand against historical data or applied to a live stream that is generating another stream to be stored?
- Not at this time. We will notify our community if our plans change.
- How do ARTIK cloud services handle data outages due to loss of device-to-ARTIK-Cloud connectivity?
- Devices are responsible of keeping the connection to ARTIK cloud services active. If there is an outage, it will be the device’s responsibility to re-establish the connection.
- Is there, or will there be, a pull model where ARTIK cloud services will pull data from a device?
- This is not planned at this time.
- Is there any notion of a heartbeat between ARTIK cloud services and a device for monitoring?
- When using WebSockets, ARTIK cloud services will send a heartbeat. The device is supposed to close and reopen the connection if no heartbeat is received. No heartbeat is supported when using REST, as the device is supposed to initiate the communication and it is the device's responsibility to make it work.
- Can I search for a message with a specific key/value pair?
- ARTIK cloud services allow you to query messages based on a start and end time, or querying the last N messages. A search functionality to extract messages with specific values is currently not implemented.
- Can I upload images to ARTIK cloud services?
- ARTIK cloud services are designed to store and manage data that can be shared and reused by multiple applications and services. Some of the data might also be converted from one unit to another. At this time binary data such as images and videos don't meet our goals and require a lot of physical space. We recommend that you use a storage system that is optimized for this type of data.
- I successfully created a new device type and successfully posted a message for this type of device. After I retrieve the message from ARTIK cloud services using the message ID, I either do not see this message at all, or do not see the data fields that I added to the message when posting it to ARTIK cloud services.
- After you post a message to ARTIK cloud services, you will get a message ID. However, this does not mean that your message has been successfully parsed or stored in ARTIK cloud services. When it passes through ARTIK cloud services, the raw message is normalized using the Manifest of the device type you created. In some cases, this process may result in your message being discarded or message fields only being partially stored.
If your message contains a field name with a typo, the message is still considered as valid but that data field is ignored. The message is stored by ARTIK cloud services without that field.
If the value of a data field in your message has a different type from what was specified in the Manifest, you will not see this message. Instead, a normalization error will be shown on your Developer Dashboard.