You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/arduino-cloud/01.getting-started/04.api-overview/api-overview.md
+20-26Lines changed: 20 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,57 +1,52 @@
1
1
---
2
2
title: Arduino IoT Cloud APIs
3
-
description: A summary of the different sets of APIs available for the Arduino IoT Cloud
3
+
description: Arduino IoT Cloud has two different set of APIs. Read below to learn more
4
4
author: Karl Söderby, Fabrizio Mirabito
5
5
tags: [IoT Cloud, API, JavaScript]
6
6
---
7
-
8
7
The [Arduino IoT Cloud](https://create.arduino.cc/iot/) has different sets of APIs that provide different functionalities. This article serves as an introduction to how to work and what you can achieve with them.
9
8
10
-
## What you can achieve
11
-
Arduino IoT Cloud API allows you to build a large range of IoT solutions: from simple device data communication to building complex custom IoT solutions. Some examples are:
9
+
## Configuration API
10
+
### What you can achieve
11
+
The main goal of Configuration API is to allow you to create and manage IoT resources like dashboards, devices, things, and variables, along with the retrieval and handling of historical data coming from your IoT Devices. The core of those APIs is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer). Our API has predictable resource-oriented URLs, accepts [form-encoded](https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms) request bodies, returns [JSON-encoded](http://www.json.org/) responses, and uses standard HTTP response codes, authentication, and verbs. You can use those APIs, both directly calling our HTTP endpoints or using our clients that wrap those calls into easy-to-use abstractions like objects and functions. We have Applications API clients available in `javascript`, `golang`, and `python`.
12
12
13
-
- Connect your Arduino or 3rd party Devices to the Cloud to monitor and control them, leveraging easy-to-use dashboards in minutes
14
-
- Build your Gateways that poll data from local devices (ex.BLE, Zigbee) and send it to the Cloud
15
-
- Develop your custom web or mobile application that leverages Arduino IoT Cloud infrastructure to handle device connectivity without worrying about protocols, security, data formats, scaling servers...
16
-
- Automate and integrate different IoT Solutions with a single, powerful Cloud
13
+
To use the Configuration API, you need to create an **API Key** in the [API Keys](https://cloud.arduino.cc/home/api-keys) section.
17
14
18
-
## Two Different Sets of API
15
+
**Examples**
19
16
20
-
There are two different API types to consider when working with the Arduino IoT Cloud:
17
+
- Build an automated script to create your things, in bulk
18
+
- Duplicate the configuration of things, dashboards, devices
19
+
- Create your own personal web application to manage your resources
20
+
- Build a script that reads your variables' data and provides custom analytics
21
21
22
-
**1. Applications API** - a set of powerful and flexible APIs that allows you to create and manage IoT resources like dashboards, devices, things, and variables, along with the retrieval and handling of historical data coming from your IoT Devices. The core of those APIs is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer). Our API has predictable resource-oriented URLs, accepts [form-encoded](https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms) request bodies, returns [JSON-encoded](http://www.json.org/) responses, and uses standard HTTP response codes, authentication, and verbs. You can use those APIs, both directly calling our HTTP endpoints or using our clients that wrap those calls into easy-to-use abstractions like objects and functions. We have Applications API clients available in `javascript`, `golang`, and `python`.
22
+
You can find the full list of available resources and actions in the [Arduino IoT Cloud Configuration API Technical Reference](https://www.arduino.cc/reference/en/iot/api/).
23
23
24
-
**2. Monitor and Control API** - a set of libraries that allow sending and receiving any kind of data (sensors' values, commands for actuators, configuration changes...) from and to IoT Devices and the Cloud. Under the hood, they
24
+
## Data API
25
+
Data API allows sending and receiving any kind of data (sensors' values, commands for actuators, configuration changes...) from and to IoT Devices and the Cloud. Under the hood, they
25
26
26
27
- take care of the data exchange with our MQTT broker
27
28
- handle best in class authentication & security
28
29
- manage compression, data format, and transport protocols
29
30
31
+
### What you can achieve
32
+
- Send sensors' values to the cloud
33
+
- Send and receive input and commands from and to dashboards
34
+
- Listen for variables' values changes and act upon them
35
+
30
36
Inside this set of API, we have:
31
37
32
38
- An official Arduino IoT Cloud Library for your Arduino sketches: `ArduinoIoTCloud.h`
33
39
- An NPM Javascript package: `arduino-iot-js`
34
40
35
-
36
-
## Applications API
37
-
To use the Applications API, you need to create an **API Key** in the [API Keys](https://cloud.arduino.cc/home/api-keys) section.
38
-
39
-
For more examples and detailed instructions, visit the links below:
40
-
-[Applications API Technical Reference](https://www.arduino.cc/reference/en/iot/api/) - the complete REST API documentation with hundreds of examples.
41
-
42
-
-[Arduino IoT Cloud Applications API Guide](/arduino-cloud/getting-started/arduino-iot-api) - a guide to using the API with JavaScript, Python & Golang.
43
-
44
-
## Monitor and Control API
45
-
46
-
### Arduino IoT Cloud Sketch library
41
+
**Arduino IoT Cloud Sketch library**
47
42
As described above, is the Arduino library that allows your Arduino devices to connect and exchange data with the IoT Cloud. If you edit your sketch directly inside IoT Cloud or Cloud Editor, you don't need to install it: it comes out of the box.
48
43
49
44
You can find more details at:
50
45
51
46
- The [official repository](https://github.com/arduino-libraries/ArduinoIoTCloud)
52
47
- The [cheat sheet](https://docs.arduino.cc/arduino-cloud/getting-started/technical-reference)
53
48
54
-
### Arduino IoT JS
49
+
**Arduino IoT JS**
55
50
The `arduino-iot-js` NPM module is designed for communicating with the Arduino IoT Cloud broker using the MQTT over Websocket protocol. It is primarily used to send and receive variable values.
56
51
57
52
Example:
@@ -73,7 +68,6 @@ Full examples and documentation can be found at:
73
68
- The [official repository](https://github.com/arduino/arduino-iot-js)
74
69
- The [NPM module](https://www.npmjs.com/package/arduino-iot-js) page
75
70
76
-
77
71
## Backward Compatibility Policy
78
72
79
73
Public Arduino IoT Cloud APIs are exposing versioned endpoints and are committed to preserving compatibility with the following policies in place:
0 commit comments