Skip to content

Commit ccf375e

Browse files
authored
Merge branch 'main' into patch-1
2 parents fb72231 + 07c6017 commit ccf375e

File tree

700 files changed

+47962
-7073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

700 files changed

+47962
-7073
lines changed

content/arduino-cloud/01.getting-started/01.iot-cloud-getting-started/iot-cloud-getting-started.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,12 @@ The following boards connect to the Arduino IoT Cloud via Wi-Fi.
5757
- [MKR WiFi 1010](https://store.arduino.cc/arduino-mkr-wifi-1010)
5858
- [Nano RP2040 Connect](https://store.arduino.cc/nano-rp2040-connect)
5959
- [Nano 33 IoT](https://store.arduino.cc/arduino-nano-33-iot)
60+
- [GIGA R1 WiFi](https://store.arduino.cc/products/giga-r1-wifi)
6061
- [Portenta H7](https://store.arduino.cc/portenta-h7)
6162
- [Portenta H7 Lite Connected](https://store.arduino.cc/products/portenta-h7-lite-connected)
6263
- [Portenta Machine Control](https://store.arduino.cc/products/arduino-portenta-machine-control)
6364
- [Nicla Vision](https://store.arduino.cc/products/nicla-vision)
64-
- [Opta](https://docs.arduino.cc/hardware/opta).\*
65-
66-
\* The Opta is scheduled to be released soon, along with documentation how to use it. Read more at the [Opta communications page](https://store.arduino.cc/pages/opta).
65+
- [Opta](https://docs.arduino.cc/hardware/opta).
6766

6867
Connection via Wi-Fi is an easy alternative, and your credentials can safely be entered during the configuration of a project. This type of connection is most suitable for low-range projects, where you connect your board to the cloud via your home/work/school router.
6968

@@ -103,9 +102,7 @@ The Arduino IoT Cloud supports a wide range of third party boards based on the E
103102

104103
The Arduino IoT Cloud supports connection via Ethernet on a number of devices. The options to connect via Ethernet are the following:
105104
- Connect with the [Portenta H7](https://store.arduino.cc/products/portenta-h7) in combination with an Ethernet compatible carrier/shield (see below).
106-
- Connect with the [Opta](https://docs.arduino.cc/hardware/opta).\*
107-
108-
\* The Opta is scheduled to be released soon, along with documentation how to use it. Read more at the [Opta communications page](https://store.arduino.cc/pages/opta).
105+
- Connect with the [Opta](https://docs.arduino.cc/hardware/opta).
109106

110107
To connect with the **Portenta H7** board, you will need one of the following shields/carriers:
111108
- [Portenta Vision Shield Ethernet](https://store.arduino.cc/products/arduino-portenta-vision-shield-ethernet)
@@ -147,7 +144,7 @@ The journey always begin by creating a new **Thing**. In the Thing overview, we
147144

148145
### 4. Configuring a Device
149146

150-
Devices can easily be added and linked to a Thing. The Arduino IoT Cloud requires your computer to have the [Arduino Agent installed](https://create.arduino.cc/getting-started/plugin/welcome). The configuration process is quick and easy, and can be done by clicking on the **“Select device”** button in the Thing overview. Here, we can choose from any board that has been configured, or select the **“Configure new device”** option.
147+
Devices can easily be added and linked to a Thing. The Arduino IoT Cloud requires your computer to have the [Arduino Create Agent installed](https://create.arduino.cc/getting-started/plugin/welcome). The configuration process is quick and easy, and can be done by clicking on the **“Select device”** button in the Thing overview. Here, we can choose from any board that has been configured, or select the **“Configure new device”** option.
151148

152149
![Configuring a device.](assets/gs-device-attach.png)
153150

content/arduino-cloud/01.getting-started/02.technical-reference/iot-cloud-tech-ref.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ The following boards connect to the Arduino IoT Cloud via Wi-Fi.
2525
- [MKR WiFi 1010](https://store.arduino.cc/arduino-mkr-wifi-1010)
2626
- [Nano RP2040 Connect](https://store.arduino.cc/nano-rp2040-connect)
2727
- [Nano 33 IoT](https://store.arduino.cc/arduino-nano-33-iot)
28+
- [GIGA R1 WiFi](https://store.arduino.cc/products/giga-r1-wifi)
2829
- [Portenta H7](https://store.arduino.cc/portenta-h7)
2930
- [Portenta H7 Lite Connected](https://store.arduino.cc/products/portenta-h7-lite-connected)
3031
- [Nicla Vision](https://store.arduino.cc/products/nicla-vision)

content/arduino-cloud/01.getting-started/06.cloud-variables/cloud-variables.md

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,19 @@ You can use them just like a normal variable of the wrapped type, since they sup
182182

183183
The following variable types hold multiple values internally and are used to represent more complex data. In order to access such values, methods are provided.
184184

185+
#### CloudSchedule
186+
187+
`CloudSchedule` is used to check for an active state or to retrieve the timestamp.
188+
189+
| Description | Type | Read value |
190+
| ---------------------- | ------ | ----------------------- |
191+
| Check for active state | `bool` | `x.isActive()` |
192+
| From (start date) | `int` | `x.getCloudValue().frm` |
193+
| To (end date)\* | `int` | `x.getCloudValue().to` |
194+
| Length of Timestamp | `int` | `x.getCloudValue().len` |
195+
196+
\*If no end date is selected, value is defaulted to `0`.
197+
185198
#### DimmedLight
186199

187200
Declared as `CloudDimmedLight x;`
@@ -195,24 +208,26 @@ Declared as `CloudDimmedLight x;`
195208

196209
Declared as `CloudColoredLight x;`
197210

198-
| Property | Type | Read value | Set value |
199-
| ---------- | --------------- | ------------------- | ------------------- |
200-
| Switch | `bool` | `x.getSwitch()` | `x.setSwitch()` |
201-
| Hue | `float` (0-360) | `x.getHue()` | `x.setHue()` |
202-
| Saturation | `float` (0-100) | `x.getSaturation()` | `x.setSaturation()` |
203-
| Brightness | `float` (0-100) | `x.getBrightness()` | `x.setBrightness()` |
211+
| Property | Type | Read value | Set value |
212+
| ---------- | ----------------- | ------------------- | ------------------- |
213+
| Switch | `bool` | `x.getSwitch()` | `x.setSwitch()` |
214+
| Hue | `float` (0-360) | `x.getHue()` | `x.setHue()` |
215+
| Saturation | `float` (0-100) | `x.getSaturation()` | `x.setSaturation()` |
216+
| Brightness | `float` (0-100) | `x.getBrightness()` | `x.setBrightness()` |
217+
| Color | `uint8_t` (0-255) | `x.getRGB(r,g,b)` | `x.setRGB(r,g,b)` |
204218

205219
#### CloudColor
206220

207221
Declared as `CloudColor x;`.
208222

209223
To read the Color values, we can use the following method `Color colorValues = x.getValue();`. This will assign the hue, saturation, and brightness values to the `colorValues` variable.
210224

211-
| Property | Type | Read value | Set value |
212-
| ---------- | ------- | ----------------- | -------------------------------------- |
213-
| Hue | `float` | `colorValues.hue` | `x = Color(hue,saturation,brightness)` |
214-
| Saturation | `float` | `colorValues.sat` | `x = Color(hue,saturation,brightness)` |
215-
| Brightness | `float` | `colorValues.bri` | `x = Color(hue,saturation,brightness)` |
225+
| Property | Type | Read value | Set value |
226+
| ---------- | ----------------- | ----------------- | -------------------------------------- |
227+
| Hue | `float` (0-360) | `colorValues.hue` | `x = Color(hue,saturation,brightness)` |
228+
| Saturation | `float` (0-100) | `colorValues.sat` | `x = Color(hue,saturation,brightness)` |
229+
| Brightness | `float` (0-100) | `colorValues.bri` | `x = Color(hue,saturation,brightness)` |
230+
| Color | `uint8_t` (0-255) | `x.getRGB(r,g,b)` | `x.set(r,g,b)` |
216231

217232
To set the color, we can assign the CloudColor variable directly to float variables `x = {hue,saturation,brightness}`, or using the method ` x = Color(hue,saturation,brightness)`.
218233

Loading
Loading
Loading

content/arduino-cloud/01.getting-started/06.dashboard-widgets/dashboard-widgets.md

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,9 +318,49 @@ The chart widget is great for data analytics. It is used to track real time data
318318
An example of how it is used in a sketch:
319319

320320
```arduino
321-
locationChart = analogRead(A0);
321+
variable = analogRead(A0);
322322
```
323323

324+
### Advanced Chart
325+
326+
![Advanced Chart Widget](assets/widget-advanced-chart.gif)
327+
328+
The advanced chart widget allows you to track up to **5 variables simultaneously**. This widget also includes an additional configuration interface that appears while editing the widget.
329+
330+
![Widget Configuration](assets/widget-advanced-chart-2.png)
331+
332+
An example of how it is used in code:
333+
334+
```arduino
335+
variable_1 = analogRead(A1)
336+
variable_2 = analogRead(A2)
337+
variable_3 = analogRead(A3)
338+
variable_4 = analogRead(A4)
339+
variable_5 = analogRead(A5)
340+
```
341+
342+
***Check out the [Advanced Chart](/arduino-cloud/features/advanced-chart) guide for more information.***
343+
344+
### Scheduler
345+
346+
![Scheduler Widget](assets/widget-scheduler.png)
347+
348+
The Scheduler Widget allows you to schedule a job in the future. With this widget, you can schedule:
349+
- A job to activate at a specific hour, minute and second.
350+
- A job to execute only on specific days.
351+
- A job that should last for X amount of seconds, minutes or hours.
352+
353+
In a sketch, use the `x.isActive()` boolean to check whether a state is active.
354+
355+
Example:
356+
357+
```arduino
358+
if(scheduleVariable.isActive){}
359+
```
360+
361+
362+
***Check out the [Scheduler](/arduino-cloud/features/cloud-scheduler) guide for more information.***
363+
324364
### Sticky Note
325365

326366
![Sticky Note](assets/widget-sticky-note.png)
@@ -329,3 +369,38 @@ The sticky note widget can be used to write important notes or to categorize you
329369

330370
The sticky note can **not** be linked with a variable, and is designed to keep notes only while using a dashboard. It does support the use of markdown, so that you can create titles, links, code blocks etc.
331371

372+
### Value Selector
373+
374+
![Value Selector](assets/widget-value-picker.png)
375+
376+
The value selector widget can be used to switch between predetermined values through available buttons. Supported variable types are `int` and `String`.
377+
378+
Example:
379+
380+
```arduino
381+
if(valueSelector == 0){
382+
//if value matches, execute code
383+
}
384+
385+
if(valueSelector == "string"){
386+
//if string matches, execute code
387+
}
388+
```
389+
390+
### Value Dropdown
391+
392+
![Value Dropdown](assets/widget-dropdown.png)
393+
394+
The value dropdown widget works similarly to **value selector**, and is be used to switch between predetermined values through a dropdown menu. Supported variable types are `int` and `String`.
395+
396+
Example:
397+
398+
```arduino
399+
if(valueDropDown == 0){
400+
//if value matches, execute code
401+
}
402+
403+
if(valueDropDown == "string"){
404+
//if string matches, execute code
405+
}
406+
```
Loading
Loading
Loading
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: Arduino IoT Cloud Remote App
3+
description: Learn how to set up the IoT Cloud Remote app to control & monitor your dashboards and access your phone's sensor data.
4+
author: Karl Söderby
5+
tags: [IoT Cloud, Remote App, Phone Data]
6+
---
7+
8+
The **Arduino IoT Cloud Remote** phone application lets you control and monitor all of your dashboards in the [Arduino IoT Cloud](https://create.arduino.cc/iot/). With the app, you can also access your phone's internal sensors such as GPS data, light sensor, IMU and more (depending on what phone you have).
9+
10+
The phone's sensor data is automatically stored in cloud variables, which you can also synchronize with other Things. This means your phone can become a part of your IoT system, acting as another node in your network.
11+
12+
***The Arduino IoT Cloud Remote app now supports data collection in background mode. This can be enabled inside the app. Please note that your microphone is NEVER used in background mode, only when the app is being used directly. See more in the [Background Mode](#background-mode) section***
13+
14+
## Hardware & Software Needed
15+
16+
- Android / iOS smart phone.
17+
- Arduino account (sign up [here](https://login.arduino.cc/login)).
18+
- Arduino IoT Cloud Remote App:
19+
- [App Store](https://apps.apple.com/us/app/arduino-iot-cloud-remote/id1514358431).
20+
- [Google Play](https://play.google.com/store/apps/details?id=cc.arduino.cloudiot).
21+
22+
## Install App
23+
24+
To use the Arduino IoT Cloud Remote app, visit Google Play / App Store and search for **"Arduino IoT Cloud Remote"**. Links are available just above.
25+
26+
After installing the app, you will need to log in to your Arduino account. If you do not have one, you can [sign up here](https://login.arduino.cc/login).
27+
28+
After you login, you will discover all of your dashboards (if you have any), in the main menu.
29+
30+
![Dashboards in the Arduino IoT Remote app.](assets/remote-app-overview.png)
31+
32+
## Access Phone Sensor Data
33+
34+
To access phone sensor data, go to the **"Settings"** menu, located at the top left corner. Inside the settings, click on the **"Phone as Device"**.
35+
36+
This will start an configuration process, as seen in the image below. Complete the process to access your phone's sensor data.
37+
38+
![Accessing phone sensor data.](assets/remote-app-setup.png)
39+
40+
Upon completion, head over to the new dashboard, that should contain your name + your phone's name (in this case, it is `Karl_s S20_Dashboard`). Here you can view your phone's data in real time, such as:
41+
- GPS coordinates (location on map)
42+
- Accelerometer data
43+
- Compass
44+
45+
![Phone sensor data in the dashboard.](assets/remote-app-dashboard.png)
46+
47+
***When setting up your phone as a device, a Thing with a similar name is created in the Arduino IoT Cloud. It can not be programmed as a regular device.***
48+
49+
## Background Mode
50+
51+
Now that you've got access to your phone's data, you can also enable the **background mode**. This will allow your phone to continue streaming data to the cloud, even though the app is not being used.
52+
53+
The exception is your microphone, this one is always disabled in background mode, for data privacy reasons.
54+
55+
To enable it, go to the settings menu (top left corner), and flick the switch next to **"Background data stream"**.
56+
57+
![Enable background mode.](assets/remote-app-activate-bkg-mode.png)
58+
59+
Here you can also choose the update frequency, (either on change, or every `x` seconds).
60+
61+
## Phone & Board Sync
62+
63+
The sensor data from your phone is tracked through **variables** in the Arduino IoT Cloud, and can therefore be synchronized with other variables.
64+
65+
Head over to the [Arduino IoT Cloud - Things](https://create.arduino.cc/iot/things) and go to the Thing created for your phone (in this case, it is named `Karl_s S20_ Thing`), and select a variable you want to synchronize. In the following menu you can link it to other variables on other Things.
66+
67+
![Synchronizing variables.](assets/remote-app-cloud-variables.png)
68+
69+
Simply described, this allows you to use your phone as an input for a number of different applications. For example, the `Compass` variable can be used to control the angle of a servo motor on another device. You can read more about how to synchronize these variables in the [Use Sensor Data From Your Phone](/arduino-cloud/tutorials/iot-remote-phone-sensors) tutorial, that includes a practical example.
70+
71+
## Summary
72+
73+
The IoT Remote App is great for you to manage all of your devices via your smart phone. Check in on your plants, water them remotely, or manage your smart light system in your house, all from one app.
74+
75+
With the phone in background mode, you also enable your smart phone to become one of the devices in your network.

content/arduino-cloud/02.features/00.security-considerations/security-considerations.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: 'Arduino Cloud Security Considerations'
3-
description: 'Learn how Arduino ensures your data is protected in secure in this security overview document.'
3+
description: 'Learn how Arduino ensures your data is protected and secured in this security overview document.'
44
tags:
55
- Arduino Cloud
66
- Security
@@ -172,3 +172,4 @@ To establish such secure connections, devices must be able to connect to *.ardui
172172
### Secrets Management
173173

174174
In order to provide confidentiality and integrity of secrets stored within Arduino boards, a secure element chip is available on a selection of boards that provides hardware level encryption and tamperproofing protection. Integration with the Arduino Cloud leverages such a secure element to store the board certificate used to perform the mutual authentication with the MQTT server. Customers may also leverage the secure element chip to store sensitive information required by the board to operate based on the specific use cases.
175+

0 commit comments

Comments
 (0)