diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Device_operations/Synchronize_devices_with_Azure_IoT_Central.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Device_operations/Synchronize_devices_with_Azure_IoT_Central.md index 415ad1384..baf31e6f1 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Device_operations/Synchronize_devices_with_Azure_IoT_Central.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Device_operations/Synchronize_devices_with_Azure_IoT_Central.md @@ -7,7 +7,7 @@ Importing devices to {{ coiote_short_name }} and synchronizing them with Azure I ## Prerequisites - - A [connected Azure IoT Central integration](/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Configure_Azure_IoT_Central_integration/) in the Hyperscaler Integration Center. + - A [connected Azure IoT Central integration](../Configure_Azure_IoT_Central_integration.md) in the Hyperscaler Integration Center. ____________________ @@ -20,7 +20,7 @@ When a device is already added to {{ coiote_short_name }}'s Device inventory, yo ## Import devices from CSV using a default integration template (option 2) -In the import process, you will need a list of devices that you want to import along with an integration template to be used by Azure IoT Central. To learn more about Azure integration templates, see the [Configure integration templates](/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/) section. +In the import process, you will need a list of devices that you want to import along with an integration template to be used by Azure IoT Central. To learn more about Azure integration templates, see the [Configure integration templates](../../Configure_integration_templates/Azure_integration_templates.md) section. 0. In {{ coiote_short_name }}, go to **Administration** -> **Hyperscaler Integration Center**. 0. Make sure you have an integration connected in the **Integration** tab. @@ -30,7 +30,7 @@ In the import process, you will need a list of devices that you want to import a - Default minimal LwM2M schema - a pre-defined template implementing a basic device data model. - Default rich LwM2M schema - a pre-defined template implementing an extended device data model. !!! note - Integration templates are crucial in the device import process. Optionally, you can create your custom device template and use it in importing. Check the instructions in the [Configure integration templates](/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/) section. + Integration templates are crucial in the device import process. Optionally, you can create your custom device template and use it in importing. Check the instructions in the [Configure integration templates](../../Configure_integration_templates/Azure_integration_templates.md) section. - In the **Import devices from a CSV file** section: ![Importing devices](images/import_view.png "Importing devices") - If you already have a CSV file with devices for import, click **Browse** and select the file. diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Set_an_Observation.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Set_an_Observation.md index 47cff98ca..ce166a2d0 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Set_an_Observation.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Central/Set_an_Observation.md @@ -2,7 +2,7 @@ This section describes how to set an Observation in your Azure IoT Central application. -Setting an Observation lets your devices know what value changes and for what particular resources they need to notify you about. An Observation can be set for any or all the components of the [data model](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings/): objects, objects instances, and resources. Whenever there is a change in values, a device will send a Notify message to {{ coiote_short_name }}, which in turn will transfer it to Azure IoT Central. +Setting an Observation lets your devices know what value changes and for what particular resources they need to notify you about. An Observation can be set for any or all the components of the [data model](../Concepts/LwM2M_mappings_Central.md ): objects, objects instances, and resources. Whenever there is a change in values, a device will send a Notify message to {{ coiote_short_name }}, which in turn will transfer it to Azure IoT Central. In this section, you learn how to: @@ -16,13 +16,13 @@ In this section, you learn how to: 1. An active Azure IoT Central with hub owner access permissions. 2. A {{ coiote_short_name }} user account with permissions to use the Azure IoT Central integration. 3. A device group created in {{ coiote_short_name }}. -4. [A configured integration between {{ coiote_short_name }} and Azure Iot Central](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Configuring_Azure_IoT_Central_integration_extension/). -5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/). +4. [A configured integration between {{ coiote_short_name }} and Azure Iot Central]( Configure_Azure_IoT_Central_integration.md). +5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](../Configure_integration_templates/Azure_integration_templates.md). 5. A connected device in {{ coiote_short_name }} that has been [exported to](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Device_operations/Exporting_devices_to_Azure_IoT_Central/) or [imported from](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Device_operations/Importing_devices_to_Coiote_DM/) Azure IoT Central. ## Assign a device template -To enable correct communication between {{ coiote_short_name }} and Azure IoT Central, you need two templates. The first template configures the {{ coiote_short_name }} integration with Azure. ([Follow the instruction](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/) to learn how to configure it.) The second template builds on the first one and allows to provide information that is used only in Azure IoT Central. For example: a given resource is temperature and is measured in Celsius. +To enable correct communication between {{ coiote_short_name }} and Azure IoT Central, you need two templates. The first template configures the {{ coiote_short_name }} integration with Azure. ([Follow the instruction](../Configure_integration_templates/Azure_integration_templates.md) to learn how to configure it.) The second template builds on the first one and allows to provide information that is used only in Azure IoT Central. For example: a given resource is temperature and is measured in Celsius. ### Download LwM2M template in {{ coiote_short_name }} @@ -173,4 +173,4 @@ You'll see that checkboxes next to **Value tracking** and **Attributes** are now ![Observation set in Azure from the {{ coiote_short_name }} perspective](images-observation/azure_coiote.png "Observation set in Azure from the {{ coiote_short_name }} perspective") ## Next steps -[Air quality monitoring - tutorial](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Tutorials/Air_quality_monitoring_tutorial/) +[Air quality monitoring - tutorial](../../../Demo_Projects/Air_quality_monitoring_tutorial.md) diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_DPS/Configuring_Azure_IoT_DPS_integration_extension.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_DPS/Configuring_Azure_IoT_DPS_integration_extension.md index ec795418b..efd89f924 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_DPS/Configuring_Azure_IoT_DPS_integration_extension.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_DPS/Configuring_Azure_IoT_DPS_integration_extension.md @@ -79,7 +79,7 @@ The ID Scope is used to identify the specific provisioning service for the devic After you set up Azure DPS and connect your Azure DPS integration in {{ coiote_short_name }}, device provisioning and reprovisioning to the proper IoT hub are automated. You aren’t required to make any changes in {{ coiote_short_name }}. -Importing and exporting devices, upgrading device firmware, and setting observations—all these operations happen at the level of individual hubs. The detailed instructions are provided in our [Azure IoT Hub documentation](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Device_operations/Overview/). +Importing and exporting devices, upgrading device firmware, and setting observations—all these operations happen at the level of individual hubs. The detailed instructions are provided in our [Azure IoT Hub documentation](../Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md). To see to which hub a device has been assigned: @@ -92,7 +92,7 @@ To see to which hub a device has been assigned: ## Next steps -* [Device operations on Azure IoT Hub](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Device_operations/Overview/) +* [Device operations on Azure IoT Hub](../Azure_IoT_Hub/Device_operations/Overview.md) * [Azure DPS documentation](https://docs.microsoft.com/en-us/azure/iot-dps/) ## Removing devices diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Execute.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Execute.md index 5ba1d804c..0deb19353 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Execute.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Execute.md @@ -13,16 +13,16 @@ In this section, you learn how to: 1. An active Azure IoT Hub with hub owner access permissions. 2. A {{ coiote_short_name }} user account with permissions to use the integration extension. 3. A device group created in {{ coiote_short_name }}. -4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](https://https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Configure_Azure_IoT_Hub_integration/). -5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/). -5. [A connected device](https://iotdevzone.avsystem.com/docs/Coiote_DM_Device_Onboarding/Quick_start/). +4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](../Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md). +5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](../Configure_integration_templates/Azure_integration_templates.md). +5. [A connected device](../../../Coiote_IoT_DM/Onboarding/connect.md). ## Perform EXECUTE Let’s perform an EXECUTE operation on the **Factory Reset** resource with ID **3/0/5**. !!! note - From the Azure IoT integration standpoint, **Factory Reset** is interpreted as a *Command*. Read more about how LwM2M data model is mapped to Azure IoT Hub mechanisms in [Concepts](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/). + From the Azure IoT integration standpoint, **Factory Reset** is interpreted as a *Command*. Read more about how LwM2M data model is mapped to Azure IoT Hub mechanisms in [Concepts](../Concepts/LwM2M_mappings_Hub.md). 1. In your Azure IoT Hub account, go to **Devices** from the left pane. diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Read_Write.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Read_Write.md index 024f9af34..aca170800 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Read_Write.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Perform_Read_Write.md @@ -2,7 +2,7 @@ This section describes how to perform a LwM2M WRITE and READ operations in your Azure IoT Hub and {{ coiote_short_name }}. -A WRITE operation lets you change the current value on the given [data model](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/) component: object, object instance, and resource. The READ enables you to see the updated value of an object, object instance, or resource. +A WRITE operation lets you change the current value on the given [data model](../Concepts/LwM2M_mappings_Hub.md) component: object, object instance, and resource. The READ enables you to see the updated value of an object, object instance, or resource. In this section, you learn how to: @@ -15,9 +15,9 @@ In this section, you learn how to: 1. An active Azure IoT Hub with hub owner access permissions. 2. A {{ coiote_short_name }} user account with permissions to use the integration extension. 3. A device group created in {{ coiote_short_name }}. -4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](https://https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Configure_Azure_IoT_Hub_integration/). -5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/). -5. [A connected device](https://iotdevzone.avsystem.com/docs/Coiote_DM_Device_Onboarding/Quick_start/). +4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](../Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md). +5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](../Configure_integration_templates/Azure_integration_templates.md). +5. [A connected device](../../../Coiote_IoT_DM/Onboarding/connect.md). ## Perform WRITE @@ -88,9 +88,9 @@ You have successfully performed a LwM2M WRITE on a resource. ## Perform READ -Let’s perform a READ operation on the **Temperature** object's **Sensor Value** resource with ID **3303/0/5700** defined as a *Property* in the [integration template in {{ coiote_short_name }}](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/). +Let’s perform a READ operation on the **Temperature** object's **Sensor Value** resource with ID **3303/0/5700** defined as a *Property* in the [integration template in {{ coiote_short_name }}](../Configure_integration_templates/Azure_integration_templates.md). -To learn more about reading value changes for both *Telemetry* and *Property*, refer to [LwM2M mappings for Azure IoT Hub](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/#lwm2m-readable-and-writable-resources). To perform a READ operation, do the following: +To learn more about reading value changes for both *Telemetry* and *Property*, refer to [LwM2M mappings for Azure IoT Hub](../Concepts/LwM2M_mappings_Hub.md). To perform a READ operation, do the following: 1. In {{ coiote_short_name }}, go to your device and select the **Data model** tab. 2. Expand the **Temperature** object, and find the **Sensor Value (3303/0/5700)** resource in the list. @@ -121,4 +121,4 @@ The value change for the resource is displayed in the Device Twin JSON snippet. If you don’t see any changes, click **Refresh**. If it doesn’t help, you can check whether the READ operation has been performed in {{ coiote_short_name }} as well. ## Next steps -[Air quality monitoring - tutorial](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Tutorials/Air_quality_monitoring_tutorial/) +[Air quality monitoring - tutorial](../../../Demo_Projects/Air_quality_monitoring_tutorial.md) diff --git a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Set_an_Observation.md b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Set_an_Observation.md index bc8dbdc0a..ad0779c6a 100644 --- a/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Set_an_Observation.md +++ b/docs/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Set_an_Observation.md @@ -2,7 +2,7 @@ This section describes how to set an Observation in your Azure IoT Hub. -Setting an Observation lets your devices know what value changes and for what particular resources they need to notify you about. An Observation can be set for any or all the components of the [data model](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/): objects, objects instances, and resources. Whenever there is a change in values, a device will send a Notify message to {{ coiote_short_name }}, which in turn will transfer it to Azure IoT Hub. +Setting an Observation lets your devices know what value changes and for what particular resources they need to notify you about. An Observation can be set for any or all the components of the [data model](../Concepts/LwM2M_mappings_Hub.md): objects, objects instances, and resources. Whenever there is a change in values, a device will send a Notify message to {{ coiote_short_name }}, which in turn will transfer it to Azure IoT Hub. In this section, you learn how to: @@ -15,15 +15,15 @@ In this section, you learn how to: 1. An active Azure IoT Hub with hub owner access permissions. 2. A {{ coiote_short_name }} user account with permissions to use the integration extension. 3. A device group created in {{ coiote_short_name }}. -4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](https://https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Configure_Azure_IoT_Hub_integration/). -5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/). -5. [A connected device](https://iotdevzone.avsystem.com/docs/Coiote_DM_Device_Onboarding/Quick_start/). +4. [A configured extension between {{ coiote_short_name }} and Azure Iot Hub](../Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md). +5. [A configured integration template in {{ coiote_short_name }}, assigned to the device group](../Configure_integration_templates/Azure_integration_templates.md). +5. [A connected device](../../../Coiote_IoT_DM/Onboarding/connect.md). ## Set an Observation and define its attributes Let’s set two Observations: one on the whole object with ID **1/1 (1 LwM2M Server, 1 Lifetime)** and on the resource with ID **3/0/13** (3 Device, 13 Current time). Both of them are Properties. -In Azure IoT Hub, value changes for both Telemetry and Property are stored in [Device twin](https://https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/#lwm2m-readable-and-writable-resources), because Observation is a Property in itself and it does not keep track of historical changes in values. To set an Observation, do the following: +In Azure IoT Hub, value changes for both Telemetry and Property are stored in [Device twin](../Concepts/LwM2M_mappings_Hub.md), because Observation is a Property in itself and it does not keep track of historical changes in values. To set an Observation, do the following: 1. In your Azure IoT Hub account, go to **Devices** from the left pane. @@ -118,4 +118,4 @@ To stop observing an object or resource, do the following: 3. In {{ coiote_short_name }}, you can now go to **Device inventory --> Objects** and see how **Value tracking** and **Attributes** boxes are now unchecked. ## Next steps -[Air quality monitoring - tutorial](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Tutorials/Air_quality_monitoring_tutorial/) +[Air quality monitoring - tutorial](../../../Demo_Projects/Air_quality_monitoring_tutorial.md) diff --git a/docs/Cloud_integrations/Azure_IoT/Concepts/LwM2M_mappings_Central.md b/docs/Cloud_integrations/Azure_IoT/Concepts/LwM2M_mappings_Central.md index 006ff72b2..9355ac33e 100644 --- a/docs/Cloud_integrations/Azure_IoT/Concepts/LwM2M_mappings_Central.md +++ b/docs/Cloud_integrations/Azure_IoT/Concepts/LwM2M_mappings_Central.md @@ -69,7 +69,7 @@ Setting an Observe operation on a resource in {{ coiote_short_name }}, for insta ![Telemetry Observe Temperature](images/Telemetry.png "Observe Temperature") -To set an Observe operation in Azure IoT Central, you need to add a [Job](/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Set_an_Observation/) in the IoT Central application. As you can see in the **Devices > Raw data** tab, an Observation is represented in the following format: +To set an Observe operation in Azure IoT Central, you need to add a [Job](../Azure_IoT_Central/Set_an_Observation.md) in the IoT Central application. As you can see in the **Devices > Raw data** tab, an Observation is represented in the following format: ``` “n1n1n1_attributes”: “(\”observed\”:true,\”pmin\”:20}” @@ -77,4 +77,4 @@ To set an Observe operation in Azure IoT Central, you need to add a [Job](/Azure **Next steps** -* [Configure integration templates](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Configure_integration_templates/Azure_integration_templates/) +* [Configure integration templates](../Configure_integration_templates/Azure_integration_templates.md) diff --git a/docs/Cloud_integrations/Azure_IoT/Configure_integration_templates/Azure_integration_templates.md b/docs/Cloud_integrations/Azure_IoT/Configure_integration_templates/Azure_integration_templates.md index e294f5e28..b8babfc9f 100644 --- a/docs/Cloud_integrations/Azure_IoT/Configure_integration_templates/Azure_integration_templates.md +++ b/docs/Cloud_integrations/Azure_IoT/Configure_integration_templates/Azure_integration_templates.md @@ -2,7 +2,7 @@ Integration templates define the format in which the data is exchanged between devices and Azure. The data can be either a property or a telemetry. Property describes the actual value. For example: at 1:00 PM a thermometer shows 5°C, and only this value is sent. Telemetry is used to observe changes in values. For example: it was 5°C at 1:00 PM, and one hour later it’s 6°C. In other words, you need to decide whether you want to send and receive historical data or not. -If you select the Property option, then {{ coiote_short_name }} reports data to Azure using Device Twins. For the Telemetry data it uses Azure IoT Hub Device-to-cloud mechanism. Read more about these key concepts in the [LwM2M mappings](/docs/Azure_IoT_Integration_Guide/Concepts/LwM2M_mappings_Hub/) section. +If you select the Property option, then {{ coiote_short_name }} reports data to Azure using Device Twins. For the Telemetry data it uses Azure IoT Hub Device-to-cloud mechanism. Read more about these key concepts in the [LwM2M mappings](../Concepts/LwM2M_mappings_Hub.md) section. Follow the instruction below to create integration templates and learn how they work. @@ -42,7 +42,7 @@ Follow the instruction below to create integration templates and learn how they ### How integration templates work -As you now know, the Azure integration template is based on a data model which consists of the objects and resources. {{ coiote_short_name }} sends data to Azure every time a device data model is changed, provided that you have set an Observation on the objects and resources in this data model. (Read about setting an Observation in [Azure IoT Hub](/docs/Azure_IoT_Integration_Guide/Azure_IoT_Hub_integration/Set_an_Observation/) and [Azure IoT Central](/docs/Azure_IoT_Integration_Guide/Azure_IoT_Central_integration/Set_an_Observation/).) +As you now know, the Azure integration template is based on a data model which consists of the objects and resources. {{ coiote_short_name }} sends data to Azure every time a device data model is changed, provided that you have set an Observation on the objects and resources in this data model. (Read about setting an Observation in [Azure IoT Hub](../Azure_IoT_Hub/Set_an_Observation.md) and [Azure IoT Central](../Azure_IoT_Central/Set_an_Observation.md).) Let’s illustrate the process with two examples. In the first case, the change in the data model is triggered by the device. `Battery level` is defined as a property. When the value of the `Battery level` resource changes, the device sends **Send** or **Notify** messages via LwM2M. The device information in {{ coiote_short_name }} is then updated and translated to Device Twin JSON, which in turn is sent to Azure. @@ -52,4 +52,4 @@ Let’s illustrate the process with two examples. In the first case, the change In the second example, the change in the data model is triggered by {{ coiote_short_name }}. When you set an Observation on the `Battery level`, this information is sent to Azure in the Device Twin JSON. To check whether the values of the `Battery level` resource on the device and {{ coiote_short_name }} are the same, {{ coiote_short_name }} performs a **READ** operation on this resource. If the value is different, a **WRITE** operation is performed to change the value in {{ coiote_short_name }}. Then the Device Twin JSON is updated and sent to Azure. ## Next steps - - [Air quality monitoring - tutorial](https://iotdevzone.avsystem.com/docs/Azure_IoT_Integration_Guide/Tutorials/Air_quality_monitoring_tutorial/) + - [Air quality monitoring - tutorial](../../../Demo_Projects/Air_quality_monitoring_tutorial.md) diff --git a/docs/Cloud_integrations/Device_Integration_Center/integrations/datacake.md b/docs/Cloud_integrations/Device_Integration_Center/integrations/datacake.md index 03e4caaf2..41d7a7a91 100644 --- a/docs/Cloud_integrations/Device_Integration_Center/integrations/datacake.md +++ b/docs/Cloud_integrations/Device_Integration_Center/integrations/datacake.md @@ -17,7 +17,7 @@ You can easily integrate with [Datacake](https://datacake.co/) using webhooks an ## Setup Datacake -1. Open your Datacake account. +1. Open your Datacake account. 2. Create a new workspace or select an existing one. 3. Create a new API Device representing your device by going to: **Devices** > **Add device**. ![Add a device](../images/datacake-add-device.webp "Add a device") @@ -46,7 +46,7 @@ function Decoder(request) { // Parse JSON into Object var payload = JSON.parse(request.body); - + var endpointName = payload.endpointName; var temperatureUrl = "/3303/0/5700"; if (payload.url == temperatureUrl) { @@ -75,7 +75,7 @@ This decoder does several things required to ingest device data into the Datacak ## Create webhook in {{ coiote_long_name }} -1. Go back to your domain in {{ coiote_long_name }}. +1. Go back to your domain in {{ coiote_long_name }}. 2. Go to **Integrations > Data Integration Center** and create a Webhook event handler that will forward device telemetry. ![Forward device telemetry](../images/datacake-filter-config.webp "Forward device telemetry") @@ -93,7 +93,7 @@ This decoder does several things required to ingest device data into the Datacak ## Monitor events in Datacake -After activating the event handler, go to your Datacake account and open the Dashboard of your device. If you have already [set an observation on the Temperature object](/Coiote_IoT_DM/Device_Center/#set-observation), you should see that the **Last update** field of your device in Datacake changed to the time when Datacake received last information from {{ coiote_short_name }}. +After activating the event handler, go to your Datacake account and open the Dashboard of your device. If you have already [set an observation on the Temperature object](../../../Coiote_IoT_DM/Device_Center.md), you should see that the **Last update** field of your device in Datacake changed to the time when Datacake received last information from {{ coiote_short_name }}. ![Last update time of the device in Datacake](../images/datacake-last-update.webp "Last update time of the device in Datacake") @@ -101,7 +101,7 @@ Let's set up a Datacake dashboard to display the received Temperature data. ### Create widget in Datacake -1. Enter the edit mode by clicking the toggle on the right side of the dashboard. +1. Enter the edit mode by clicking the toggle on the right side of the dashboard. 2. Click **Add Widget** and pick **Chart** type. ![Create chart in Datacake](../images/datacake-add-chart.webp "Create chart in Datacake") diff --git a/docs/Coiote_IoT_DM/Single_update.md b/docs/Coiote_IoT_DM/Single_update.md index a37fea81c..816eadaa8 100644 --- a/docs/Coiote_IoT_DM/Single_update.md +++ b/docs/Coiote_IoT_DM/Single_update.md @@ -9,7 +9,7 @@ There are two types of Firmware update: - **Basic Firmware Update** for a remote update of the LwM2M device firmware by using the **Firmware Update Object** `/5`. - **Multi-component Firmware Update** for a remote update of the LwM2M device's firmware component by using the **Advanced Firmware Update Object** `/33629`. Object `/33629` is designed as an extension of the Firmware Update object `/5`. It supports multiple instances, each representing a "component" of the device's firmware that can be upgraded separately. The specific meaning and purpose of these components are not standardized and can vary depending on the implementation. However, they typically encompass elements such as bootloaders, application code, cellular modem firmwares, security processor firmwares, and other related firmware entities. - + !!! info **Multi-component Firmware Update** is the internal implementation, while **Advanced Firmware Update Object** `/33629` is supported by CoioteDM and Anjay only. @@ -95,13 +95,13 @@ Object `/33629` defines the update process using **4 Update States** represen ## Firmware Update Dashboard In the **Device Center**, in the **Firmware update** tab, you can find cards with information on the selected Firmware Update. - - **Device Firmware** shows the last recorded information on the current firmware version. + - **Device Firmware** shows the last recorded information on the current firmware version. - **Status** contains the information on the firmware concerned and shows if this firmware is a part of the FOTA campaign. It also indicates the status of the following stages of the Firmware update: **Preparing update**, **Transferring package**, **Executing update** and **Cleanup**. The **Cancel update** button allows you to end already started updating process which means that the Firmware update progress won't be saved. This action is only applicable for the devices supporting this feature. - **Upcoming FOTA Campaign update** shows the campaign which is identified as the first to perform the next Firmware update on a given device as per the time of creation and its schedule. Once the update starts, the campaign will be moved to the **Updates list**. - - **Updates list** points at the Firmware updates history with the possibility to filter information by: **Status**, **Name**, **Start time**, **Finish time**, **Type**, **Created**, **Created by**, and **Part of FOTA campaign**. A reference link to a campaign name enables you to access the FOTA campaign details providing you have the appropriate permissions. - - - No information in this field, marked by a hyphen **-**, means that it's a Single FOTA Firmware update which is not a part of a campaign. - - Whereas inactive information means that you are not eligible to view the details. + - **Updates list** points at the Firmware updates history with the possibility to filter information by: **Status**, **Name**, **Start time**, **Finish time**, **Type**, **Created**, **Created by**, and **Part of FOTA campaign**. A reference link to a campaign name enables you to access the FOTA campaign details providing you have the appropriate permissions. + + - No information in this field, marked by a hyphen **-**, means that it's a Single FOTA Firmware update which is not a part of a campaign. + - Whereas inactive information means that you are not eligible to view the details. The **Settings** icon allows for enabling and disabling the filters according to your preferences. The **More action** icon allows for previewing configuration details of a chosen firmware, copying the configuration or canceling the existing one. @@ -114,7 +114,7 @@ The **Settings** icon allows for enabling and disabling the filters according to 2. Select the device you want to update by clicking on its endpoint name. -3. Go to the **Data model** tab to validate if: +3. Go to the **Data model** tab to validate if: * the Firmware Update Object `/5` is present for Basic Firmware Update * the Firmware Update Object `/33629` is present for Multi-component Firmware Update @@ -135,11 +135,11 @@ The **Settings** icon allows for enabling and disabling the filters according to To create basic Firmware update from an existing configuration, perform the following steps: 1. Provide a name of the Firmware update. -2. Select a FOTA configuration for your Firmware update. +2. Select a FOTA configuration for your Firmware update. 3. In the FOTA configuration settings section, preview configuration details before scheduling update. -4. To create Firmware update, click **Schedule Update**. - - If you fill in details correctly, you will see the confirmation that your update has been scheduled successfully. +4. To create Firmware update, click **Schedule Update**. + + If you fill in details correctly, you will see the confirmation that your update has been scheduled successfully. ### Create new Basic Firmware update @@ -171,29 +171,29 @@ To create new, basic Firmware update, perform the following steps: Downloads using `CoAP(s)` over `UDP` tend to be slow due to the limitation of the maximum CoAP Block size of 1024 bytes and the required acknowledgements for each Block transfer. Choosing `CoAP(s)` over `TCP` or `HTTP(s)` usually results in faster download speeds. However, not every device supports these transport protocols. -6. Choose the URI format in which the URL will be send to the firmware package. +6. Choose the URI format in which the URL will be send to the firmware package. !!! Info In the **Preview** field, you can verify the location of the security token. 7. Once you check the details in **Firmware Update Flow Preview**, click **Next**. -8. In the **Summary** section, preview the Firmware update information and click **Schedule Update**. +8. In the **Summary** section, preview the Firmware update information and click **Schedule Update**. - If you filled in the details correctly, you will see the confirmation that the Firmware update has been scheduled successfully. + If you filled in the details correctly, you will see the confirmation that the Firmware update has been scheduled successfully. ### Create new, multi-component Firmware update To create new, multi-component Firmware update, perform the following steps: 1. Provide a name of the Firmware update. 2. Optionally, in the **Description** field, provide information about your Firmware version. - + !!! Info You can save FOTA configuration after its creation by enabling the appropriate toggle switch. Once it's activated, you can also make the configuration visible in subdomains by enabling **Visible in domains**. In case the configuration is saved for later purposes, the underlying files expiration date is extended to 6 months. ![FOTA configuration togglers](images/togglers.png) 3. To go to the component selection, click **Next**. -4. To select more than one component, click **Add new component** and upload a new firmware or choose one from resources. - ![Select components](images/selected_components.png) +4. To select more than one component, click **Add new component** and upload a new firmware or choose one from resources. + ![Select components](images/selected_components.png) 5. To go to **Settings**, click **Next**. 6. Choose the image delivery method: @@ -212,16 +212,16 @@ To create new, multi-component Firmware update, perform the following steps: Downloads using `CoAP(s)` over `UDP` tend to be slow due to the limitation of the maximum CoAP Block size of 1024 bytes and the required acknowledgements for each Block transfer. Choosing `CoAP(s)` over `TCP` or `HTTP(s)` usually results in faster download speeds. However, not every device supports these transport protocols. -6. Choose the URI format in which the URL will be send to the firmware package. +6. Choose the URI format in which the URL will be send to the firmware package. !!! Info In the **Preview** field, you can verify the location of the security token. 7. Once you check the details in the **Firmware Update Flow Preview** section, click **Next**. -8. In the **Summary** section, preview the Firmware update information and click **Schedule Update**. +8. In the **Summary** section, preview the Firmware update information and click **Schedule Update**. - If you filled in the details correctly, the Firmware update will be scheduled successfully. + If you filled in the details correctly, the Firmware update will be scheduled successfully. ## Download & Upgrade Process @@ -261,11 +261,11 @@ If no errors occur, the update process follows this pattern: 4. **Updated** `state 0` & `update result 1` !!! important "Update successful?" - - If the **State** `/5/*/3` reports `0` and the **Update Results** `/5/*/5` reports `1` for **Basic Firmware Update**, the firmware device has been completed successfully. Congratulations! - - If the **State** `/33629/*/3` reports `0` and the **Update Results** `/33629/*/5` reports `1`for **Multi-component Firmware Update**, the firmware device has been completed successfully. Congratulations! + - If the **State** `/5/*/3` reports `0` and the **Update Results** `/5/*/5` reports `1` for **Basic Firmware Update**, the firmware device has been completed successfully. Congratulations! + - If the **State** `/33629/*/3` reports `0` and the **Update Results** `/33629/*/5` reports `1`for **Multi-component Firmware Update**, the firmware device has been completed successfully. Congratulations! ## REST API - [REST API Documentation](http://cdm-tc-main-fleetfota.kube.si:8086/apidoc/coiotedm/v3) supports **Basic Firmware Update** and **Multi-component Firmware Update** for the the updates which use an existing configuration. For more information, see the [Firmware Configurations](Firmware_configurations.md), [Firmware Campaigns](Firmware_campaigns.md) or [Firmware Update](Firmware_update.md) sections. + [REST API Documentation](http://cdm-tc-main-fleetfota.kube.si:8086/apidoc/coiotedm/v3) supports **Basic Firmware Update** and **Multi-component Firmware Update** for the the updates which use an existing configuration. For more information, see the [Firmware Configurations](Configurations.md), [Firmware Campaigns](Campaigns.md) or [Single Update](Single_update.md) sections. ## Troubleshooting diff --git a/docs/Coiote_IoT_DM/introduction.md b/docs/Coiote_IoT_DM/introduction.md index c68015007..c261a7be7 100644 --- a/docs/Coiote_IoT_DM/introduction.md +++ b/docs/Coiote_IoT_DM/introduction.md @@ -24,7 +24,7 @@ In the **Device center** you can: * Set observations * Schedule firmware updates -→ **Learn more about the [**Device center**](/Coiote_IoT_DM/Device_Center/).** +→ **Learn more about the [**Device center**](./Device_Center.md).** ![Access DC from Device inventory](images/device-inventory.png "Access DC from Device inventory") @@ -32,7 +32,7 @@ In the **Device center** you can: The Dashboard is composed of widgets which display telemetry data. Widgets use different kinds of charts depending on the type of data collected. Go to the **Device center** to configure widgets. -→ **Learn more about [**Data visualization**](/Coiote_IoT_DM/Visualize_data/).** +→ **Learn more about [**Data visualization**](Visualize_data.md).** ## Operations center @@ -51,7 +51,7 @@ Devices can be added to **Groups** allowing for easy management of your device f Initiate integrations with popular cloud platforms such as Azure IoT Hub, AWS IoT Core or nRF Cloud. -→ **Learn more about [**Cloud integrations**](/Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration/).** +→ **Learn more about [**Cloud integrations**](../Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md).** ![Data Integrations](images/integrations.png "Data Integrations") @@ -60,7 +60,7 @@ Initiate integrations with popular cloud platforms such as Azure IoT Hub, AWS Io Test the performance of your device firmware by mimicking real-world scenarios. Device tests allow you to validate new application firmware, to test the implementation of the LwM2M standard, and to run regression tests to ensure new firmware doesn’t break existing functionality. -→ **Learn more about [**Device tests**](/Coiote_IoT_DM/Device_tests/Overview/).** +→ **Learn more about [**Device tests**](./Device_tests/Overview.md).** ![Device test](images/device-tests.png "Device test") diff --git a/docs/Demo_Projects/Air_quality_monitoring_tutorial.md b/docs/Demo_Projects/Air_quality_monitoring_tutorial.md index 1e618789e..03b7e896f 100644 --- a/docs/Demo_Projects/Air_quality_monitoring_tutorial.md +++ b/docs/Demo_Projects/Air_quality_monitoring_tutorial.md @@ -56,7 +56,7 @@ While your new IoT hub is deploying, you can add a new storage account: ## Configuring the Azure IoT Hub integration extension Once the deployments are complete, go to {{ coiote_short_name }} to set up the Azure IoT Hub extension. -If you haven't done this yet, please follow the [instruction for the Azure IoT Hub integration configuration](/Azure_IoT_Hub_integration/Configuring_Azure_IoT_Hub_integration_extension). +If you haven't done this yet, please follow the [instruction for the Azure IoT Hub integration configuration](../Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md). ## Adding and connecting LwM2M air quality meter simulators to {{ coiote_short_name }} and Azure IoT Hub 1. Go to your Azure IoT Hub and add new devices: @@ -108,7 +108,7 @@ If you haven't done this yet, please follow the [instruction for the Azure IoT H ### From Azure IoT Hub to {{ coiote_short_name }} !!! note - To read more about how the Device Twins work in the {{ coiote_short_name }} - Azure IoT Hub integration, please refer to [the LwM2M Mappings section](/Concepts/LwM2M_mappings/#lwm2m-readable-and-writable-resources). + To read more about how the Device Twins work in the {{ coiote_short_name }} - Azure IoT Hub integration, please refer to [the LwM2M Mappings section](../Cloud_integrations/Azure_IoT/Concepts/LwM2M_mappings_Hub.md). 1. In your Azure IoT hub, select **IoT devices**, click one of your added devices and select the **Device Twin** panel. 2. To change the ``Lifetime`` resource in {{ coiote_short_name }}, you need to modify the relevant Device Twin desired property. diff --git a/docs/Demo_Projects/Edge_Impulse_demo.md b/docs/Demo_Projects/Edge_Impulse_demo.md index d08df7797..b8c08aff7 100644 --- a/docs/Demo_Projects/Edge_Impulse_demo.md +++ b/docs/Demo_Projects/Edge_Impulse_demo.md @@ -207,4 +207,4 @@ Now start moving the Thingy:91 around to detect all three patterns. When a new m The LwM2M standard allows you to instruct the device about the minimum and maximum allowed intervals between two updates. The intervals can be set from 1 second to multiple days. To instruct the device, an OBSERVE operation can be sent from the LwM2M Server to the LwM2M Client. -For more information, see [how to set observations](/Coiote_IoT_DM/Device_Center/#set-observation) +For more information, see [how to set observations](../Coiote_IoT_DM/Device_Center.md) diff --git a/docs/LwM2M_Client/Nordic/Device_Provisioning.md b/docs/LwM2M_Client/Nordic/Device_Provisioning.md index e7bff07be..2af69141e 100644 --- a/docs/LwM2M_Client/Nordic/Device_Provisioning.md +++ b/docs/LwM2M_Client/Nordic/Device_Provisioning.md @@ -136,7 +136,7 @@ Now we will show how to provision the device using certificates. This method is !!!important By default the script generates certificates for the device using P-384 elliptic curve. -4. Connecting device to {{ coiote_short_name }} +4. Connect device to {{ coiote_short_name }} The certificates for the device need to be uploaded by hand. To do this fallow those steps: diff --git a/docs/LwM2M_Client/Nordic/Thingy91.md b/docs/LwM2M_Client/Nordic/Thingy91.md index be809cdc1..fcd8cea79 100644 --- a/docs/LwM2M_Client/Nordic/Thingy91.md +++ b/docs/LwM2M_Client/Nordic/Thingy91.md @@ -21,7 +21,7 @@ To get the latest binary file and flash the board: ### Start development using samples !!! Note - If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). + If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). #### Part 1: Get Zephyr and Python dependencies @@ -178,7 +178,7 @@ Current Anjay config: It does not affect the operation of the application and will no longer appear after reconnection. ## Next Steps -After configuring the Anjay Client, you can use the **nRF Cloud Location Service** to enable cell-based location services, or assisted GPS. [**Learn how to do it here.**](/Cloud_integrations/nRF_Cloud_Location_services/Configure_nRF_Cloud_integration/) +After configuring the Anjay Client, you can use the **nRF Cloud Location Service** to enable cell-based location services, or assisted GPS. [**Learn how to do it here.**](../../Cloud_integrations/nRF_Cloud_Location_services/Configure_nRF_Cloud_integration.md) !!! note **Thingy:91** uses the same radio for GPS and LTE connectivity. GPS signal is diff --git a/docs/LwM2M_Client/Nordic/nRF7002DK.md b/docs/LwM2M_Client/Nordic/nRF7002DK.md index acebf55a5..f72bdbba3 100644 --- a/docs/LwM2M_Client/Nordic/nRF7002DK.md +++ b/docs/LwM2M_Client/Nordic/nRF7002DK.md @@ -19,11 +19,11 @@ To get the latest binary file and flash the board: {{ nRF7002DK_binary_step }} {{ nRF7002DK_flash_downloaded_binary_step }} -Go to the [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). +Go to the [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). ### Start development using samples !!! Note - This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). + This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). #### Part 1: Getting Zephyr and Python dependencies @@ -54,7 +54,7 @@ Enter the command line interface on your machine and change the directory to the west flash ``` -## Connecting to the LwM2M Server +## Connect to the LwM2M Server To connect to {{ coiote_long_name }}, please register at [{{ coiote_site_link }}]({{ coiote_site_link }}). diff --git a/docs/LwM2M_Client/Nordic/nRF9160DK.md b/docs/LwM2M_Client/Nordic/nRF9160DK.md index 9847632f9..752128fcf 100644 --- a/docs/LwM2M_Client/Nordic/nRF9160DK.md +++ b/docs/LwM2M_Client/Nordic/nRF9160DK.md @@ -20,11 +20,11 @@ To get the latest binary file and flash the board: {{ nRF9160DK_updating_dk_firmware_step}} {{ nRF9160DK_flash_downloaded_binary_step }} -Go to the [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). +Go to the [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). ### Start development using samples !!! Note - This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). + This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). #### Part 1: Getting Zephyr and Python dependencies @@ -59,7 +59,7 @@ Enter the command line interface on your machine and change the directory to the west flash ``` -## Connecting to the LwM2M Server +## Connect to the LwM2M Server To connect to {{ coiote_long_name }}, please register at [{{ coiote_site_link }}]({{ coiote_site_link }}). diff --git a/docs/LwM2M_Client/RaspberryPi/RaspberryPi-Pico-W.md b/docs/LwM2M_Client/RaspberryPi/RaspberryPi-Pico-W.md index 97ab36f53..5179e7fbd 100644 --- a/docs/LwM2M_Client/RaspberryPi/RaspberryPi-Pico-W.md +++ b/docs/LwM2M_Client/RaspberryPi/RaspberryPi-Pico-W.md @@ -66,7 +66,7 @@ Integrate your Raspberry Pi Pico W board. 0. Copy the `.uf2` file to the open Mass Storage device folder. Depending on the application you want to program, copy the `.uf2` file from available directories, e.g. `mandatory_objects`. 0. Once the Pico has been programmed, disconnect the board and connect it again to make it execute the code. -## Connecting to the LwM2M Server +## Connect to the LwM2M Server To connect to a {{ coiote_long_name }}, register at [{{ coiote_site_link }}]({{ coiote_site_link }}). diff --git a/docs/LwM2M_Client/STMicroelectronics/B-U585I-IOT02A-BG96.md b/docs/LwM2M_Client/STMicroelectronics/B-U585I-IOT02A-BG96.md index 6b7e88fd8..8588f991b 100644 --- a/docs/LwM2M_Client/STMicroelectronics/B-U585I-IOT02A-BG96.md +++ b/docs/LwM2M_Client/STMicroelectronics/B-U585I-IOT02A-BG96.md @@ -22,7 +22,7 @@ To get the latest binary file and flash it to the board: ### Start development using samples !!! Note - This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connecting to the LwM2M Server](#connecting-to-the-lwm2m-server). + This step is optional. If you've gone through the [Use an already built binary](#use-an-already-built-binary) step, you can jump to [Connect to the LwM2M Server](#connect-to-the-lwm2m-server). #### Clone the Anjay freeRTOS client repository diff --git a/docs/Release_Notes/v2022.8.2.md b/docs/Release_Notes/v2022.8.2.md index 0bbdeae72..0f2966fc1 100644 --- a/docs/Release_Notes/v2022.8.2.md +++ b/docs/Release_Notes/v2022.8.2.md @@ -13,7 +13,7 @@ udpConnector.mode = Disabled # Disabled or Enabled ### Simplified setup of AWS integration -We have simplified the setup of the AWS integration. Now building and updating new lambdas is automated using one configuration template with all the required lambdas and dependencies. The updated integration guide can be found [here](https://iotdevzone.avsystem.com/docs/AWS_Integration_Guide/Configuring_AWS_integration/). +We have simplified the setup of the AWS integration. Now building and updating new lambdas is automated using one configuration template with all the required lambdas and dependencies. The updated integration guide can be found [here](../Cloud_integrations/AWS_IoT_Core/Configuring_AWS_integration.md). ### Modification and creation dates in Device test repository We have added modification and creation dates as new columns in the Device test repository. diff --git a/docs/academy/module5.md b/docs/academy/module5.md index efcf74f16..dd56ab440 100644 --- a/docs/academy/module5.md +++ b/docs/academy/module5.md @@ -79,7 +79,7 @@ Remote IoT device updates are essential for the long-term success of IoT applica ## Useful Resources -* [DevZone Firmware update documentation](https://iotdevzone.avsystem.com/docs/Coiote_IoT_DM/firmware_update/) +* [DevZone Firmware update documentation](../Coiote_IoT_DM/Single_update.md) * [Anjay firmware update documentation](https://avsystem.github.io/Anjay-doc/FirmwareUpdateTutorial.html) * [Anjay Demo for Zephyr](https://github.com/AVSystem/Anjay-zephyr-client/tree/master/demo) diff --git a/docs/index.md b/docs/index.md index ea792621f..d2a3ab646 100644 --- a/docs/index.md +++ b/docs/index.md @@ -45,15 +45,15 @@ With the {{ coiote_long_name }}, you can easily integrate your LwM2M data with p The guides will take you on a step-by-step journey to seamlessly activate the integrations. -[Webhooks](Cloud_integrations/Device_Integration_Center/webhooks.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} -[Kafka](Cloud_integrations/Device_Integration_Center/kafka.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} -[Azure IoT](Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} +[Webhooks](Cloud_integrations/Device_Integration_Center/webhooks.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} +[Kafka](Cloud_integrations/Device_Integration_Center/kafka.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} +[Azure IoT](Cloud_integrations/Azure_IoT/Azure_IoT_Hub/Configure_Azure_IoT_Hub_integration.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} ## LwM2M Academy **Take a deep-dive into the LwM2M standard by following the LwM2M Academy**. A comprehensive online course designed to provide you with both the theoretical understanding and hands-on skills necessary to utilize the powerful LwM2M standard. -[Join course](/academy){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} +[Join course](/docs/academy/exercise1.md){: .md-button .md-button--big :style="float: left;margin-right: 30px;"} ## Join our community on Discord diff --git a/docs/quickstart.md b/docs/quickstart.md index c1cc4f01b..fdaa8c10f 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -26,10 +26,10 @@ Start by running the Anjay client on your **Linux**, **Mac** or **Windows** mach !!! note If preferred, you can directly jump to the Getting Started guides of the popular hardware platforms: - * [Nordic](https://iotdevzone.avsystem.com/docs/LwM2M_Client/Nordic/Thingy91/) - * [STMicroelectronics](https://iotdevzone.avsystem.com/docs/LwM2M_Client/STMicroelectronics/Building_LwM2M_applications/Building_LwM2M_applications_with_I-CUBE-Anjay/), - * [ESP32](https://iotdevzone.avsystem.com/docs/LwM2M_Client/ESP32/M5Stick/) - * [Raspberry Pi](https://iotdevzone.avsystem.com/docs/Anjay_integrations/RaspberryPi_integration/RaspberryPi-Pico-W/) + * [Nordic](./LwM2M_Client/Nordic/Thingy91.md) + * [STMicroelectronics](./LwM2M_Client/STMicroelectronics/Building_LwM2M_applications/Building_LwM2M_applications_with_I-CUBE-Anjay.md) + * [ESP32](./LwM2M_Client/ESP32/ESP32-DevKitCBG96.md) + * [Raspberry Pi](./LwM2M_Client/RaspberryPi/RaspberryPi-Pico-W.md) !!! Info @@ -182,9 +182,9 @@ Follow the **Getting started** guides to kickstart your LwM2M application using ### Learn more about {{ coiote_short_name }} -Dive into {{ coiote_long_name }} and explore its numerous functionalities. From device onboarding using the [Bootstrap Server](/Coiote_IoT_DM/Onboarding/bootstrap/) to [Data Visualization](/Coiote_IoT_DM/Quick_Start/Visualize_device_data/) and running automated [Device Tests](/Coiote_IoT_DM/Device_tests/Overview/). +Dive into {{ coiote_long_name }} and explore its numerous functionalities. From device onboarding using the [Bootstrap Server](./Coiote_IoT_DM/Onboarding/bootstrap.md) to [Data Visualization](./Coiote_IoT_DM/Visualize_data.md) and running automated [Device Tests](./Coiote_IoT_DM/Device_tests/Overview.md). -[{{ coiote_short_name }} docs](/Coiote_IoT_DM/introduction/){: .md-button .md-button--big } +[{{ coiote_short_name }} docs](./Coiote_IoT_DM/introduction.md){: .md-button .md-button--big } ### Join our community on Discord