diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/attach-thing-to-bluetooth.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/attach-thing-to-bluetooth.png new file mode 100644 index 0000000000..e1d19b9b05 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/attach-thing-to-bluetooth.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-to-network-bluetooth.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-to-network-bluetooth.png new file mode 100644 index 0000000000..802a9a5880 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-to-network-bluetooth.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-bluetooth.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-bluetooth.png new file mode 100644 index 0000000000..7e6ff6f6cd Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-bluetooth.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-usb.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-usb.png new file mode 100644 index 0000000000..8f1a7b5c3d Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-usb.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connecting-with-usb-loading.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connecting-with-usb-loading.png new file mode 100644 index 0000000000..f2444d9293 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/connecting-with-usb-loading.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/creating-new-device.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/creating-new-device.png new file mode 100644 index 0000000000..fec3687c7e Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/creating-new-device.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/device-overview-usb.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/device-overview-usb.png new file mode 100644 index 0000000000..8617288f2f Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/device-overview-usb.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/migration-process.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/migration-process.png new file mode 100644 index 0000000000..bd944b47d0 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/migration-process.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/network-config-device-page.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/network-config-device-page.png new file mode 100644 index 0000000000..2e26a05130 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/network-config-device-page.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-migration.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-migration.png new file mode 100644 index 0000000000..8af6cbeffd Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-migration.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-type.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-type.png new file mode 100644 index 0000000000..39d9aea238 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-type.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/assets/succesfull-connection-with-usb.png b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/succesfull-connection-with-usb.png new file mode 100644 index 0000000000..33238148d9 Binary files /dev/null and b/content/arduino-cloud/02.hardware/06.device-provisioning/assets/succesfull-connection-with-usb.png differ diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md new file mode 100644 index 0000000000..e2ff07c1cb --- /dev/null +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -0,0 +1,130 @@ +--- +title: Device Provisioning with Arduino Cloud +description: A step-by-step guide to device provisioning with Arduino Cloud. +author: Benjamin Dannegård +tags: [Cloud] +--- + +## Setup and Process + +***If you are new to the Arduino Cloud, check out [Getting Started With the Arduino Cloud](/arduino-cloud/getting-started/iot-cloud-getting-started).*** + +To use the Arduino Cloud you will need to register and set up a **free** account. + +## Different Device Provisioning Versions + +There are two different versions of provisioning, 1.0 and 2.0. These different versions will change some things when you connect your board to the Cloud. The main change will be where the network credentials are stored. + +If your board is provisioned to the Cloud with version 1.0, the network credentials will be stored in a "secret.h" file that can be found on the "thing" page, in the "sketch" tab. As shown here: + +![Sketch tab on thing page]() + +If your board is provisioned to the Cloud with version 2.0 the network credentials will be stored on the board. + +### Compatible Boards List + +| Board | Compatible version | +| ------------------- | ----------- | +| MKR NB 1500 | Version 1.0 | +| MKR WAN 1300 | Version 1.0 | +| MKR WAN 1310 | Version 1.0 | +| MKR 1000 WiFi | Version 1.0 | +| MKR WiFi 1010 | Version 1.0 | +| MKR GSM 1400 | Version 1.0 | +| GIGA R1 WiFi | Version 2.0 | +| UNO R4 WiFi | Version 2.0 | +| Nano 33 IoT | Version 1.0 | +| Nano ESP32 | Version 1.0 | +| Nano RP2040 Connect | Version 1.0 | +| Portenta H7 | Version 2.0 | +| Portenta C33 | Version 2.0 | +| Portenta X8 | Version 1.0 | +| Nicla Vision | Version 2.0 | +| Opta | Version 2.0 | + +If you have a board that is compatible with version 2.0 but have provisioned it with version 1.0, please have a look at the [section](#migrating-from-version-10-to-20) at the end to understand how to migrate your board from 1.0 to 2.0. + +### Configure Your Board + +After you have set up your account, to add your device to your Arduino Cloud account go to the [Devices page](https://app.arduino.cc/devices) and click on the **+ DEVICE** button. + +![Create new Device](assets/creating-new-device.png) + +This will take you to the setup menu for your device. You can now choose between three different options depending on what type of board you are using. Continue by clicking on **Arduino board**. + +![Select Arduino](assets/selecting-board-type.png) + +Now you have to decide how you want to set up your board with the Cloud, either via Bluetooth® or USB cable (you can check if your board is compatible with the Bluetooth method below). These two options have different processes, pick the method that suits your needs best and follow the section for your chosen method. + +***NOTE: If you want to use the Bluetooth method and you have an older board you need to first connect the board to the Cloud in order to update it to the newer provisioning version. Please follow the instructions [here]((#migrating-from-version-10-to-20)) first.*** + +## Bluetooth Provisioning + +### Compatible boards + +Here are the boards that are compatible with Bluetooth provisioning via a Bluetooth connection: + +- [Arduino UNO R4 WiFi](https://docs.arduino.cc/hardware/uno-r4-wifi/) (Wi-Fi firmware version 0.6.0 or later required) +- [Arduino Opta](https://docs.arduino.cc/hardware/opta/) + +### Setting up Your Device With Bluetooth + +After selecting the Bluetooth option you will see a page telling you how to connect your board. Follow the steps to connect your board via Bluetooth. + +![Bluetooth page](assets/connect-with-bluetooth.png) + +Once your board is connected you will see a page that will let you pick the Wi-Fi the board should connect to. Pick the Wi-Fi you want to connect to and enter the password. Here you can also change the device name. + +![Configure network via Bluetooth](assets/connect-to-network-bluetooth.png) + +After completing these steps your device will connect to your Wi-Fi and you will be taken to the device page. Here you can click on the icon in the bottom left corner to attach a thing to the device. To find out more about Arduino Cloud Things, go [here](https://docs.arduino.cc/arduino-cloud/cloud-interface/things/). + +![Attach thing after Bluetooth](assets/attach-thing-to-bluetooth.png) + +Now you are ready to start using your board with the Arduino Cloud! + +## USB Provisioning + +If this is your first time using the Arduino Cloud you will be asked to download the **Arduino Create Agent**. The Create Agent is a piece of software that is necessary for your Arduino board to communicate with your browser. Download and install it by clicking on download and following the installation process. + +When the installation is finished you will get to a page that lets you select the board you wish to configure. Click on the board that you want to set up. + +![Configure Device with USB](assets/connect-with-usb.png) + +Now the board will start connecting. You should now see this loading screen: + +![Board connecting](assets/connecting-with-usb-loading.png) + +Wait for it to finish and when it is completed, click "continue". + +![Board connected to the cloud](assets/succesfull-connection-with-usb.png) + +You will now be taken to the device page. Here you can see the details of the board, change the name, attach it to a thing and change the network configuration. + +To configure the network that your device connects to, press the section highlighted in the image below. + +![Network configuration on device page](assets/network-config-device-page.png) + +Then on the next page enter your Wi-Fi credentials and your board will connect to it! + +To find out more about Arduino Cloud Things, go [here](https://docs.arduino.cc/arduino-cloud/cloud-interface/things/). In the bottom left corner you can press the icon highlighted in the image below to create a thing and attach your board to it automatically. Clicking it also takes you to the Thing page. + +![Create thing from device page](assets/device-overview-usb.png) + +## Migrating from version 1.0 to 2.0 + +If you have a board that is compatible with version 2.0 but have provisioned it previously with version 1.0 you will need to follow these steps to upgrade it. + +Go to the device page [here](https://app.arduino.cc/devices) and press the **+ DEVICE** button. + +![Device page](assets/creating-new-device.png) + +Next select "USB connection" and on the next page select your board. + +![Device selection](assets/selecting-board-migration.png) + +Now your board will be updated to version 2.0, wait for the process to finish. + +![Board being updated](assets/migration-process.png) + +When this is done you can continue setting up the network connection for your board and it will now be using the latest provisioning method with the Arduino Cloud! \ No newline at end of file