* Update to 1.4.1
Add devkit-ota project
Update the firmware-upgrading doc

* Update the version to 1.4.1
Add release notes of 1.4.1
Arrage the API reference doc

* minor fixes
This commit is contained in:
Arthur Ma 2018-08-03 23:29:33 +08:00 коммит произвёл GitHub
Родитель 9a5af760ae
Коммит 97f19ec57e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
45 изменённых файлов: 202 добавлений и 86 удалений

Просмотреть файл

@ -8,7 +8,7 @@ main:
url: /docs/projects/
- title: "Blog"
url: https://blogs.msdn.microsoft.com/iotdev/
- title: "v1.4.0"
- title: "v1.4.1"
url: /versions/
class: "masthead-circle"
@ -41,6 +41,52 @@ docs:
children:
- title: "Arduino"
url: /docs/apis/arduino-language-reference/
- title: "AudioV2"
url: /docs/apis/audio-v2/
- title: "Display"
url: /docs/apis/display/
- title: "EEPROMInterface"
url: /docs/apis/eeprom-interface/
- title: "FileSystem"
url: /docs/apis/file-system/
- title: "HTTP Client"
url: /docs/apis/http-client/
- title: "External Interrupts"
url: /docs/apis/external-interrupts/
- title: "IrDA"
url: /docs/apis/irda/
- title: "LED"
url: /docs/apis/led/
- title: "MemoryPool"
url: /docs/apis/memory-pool/
- title: "Memory Status"
url: /docs/apis/memory-status/
- title: "Mutex"
url: /docs/apis/mutex/
- title: "OTA Programing"
url: /docs/apis/ota/
- title: "Queue"
url: /docs/apis/queue/
- title: "Semaphore"
url: /docs/apis/semaphore/
- title: "Sensor: Humidity & Temperature (HTS221)"
url: /docs/apis/hts221/
- title: "Sensor: Magnetic (LIS2MDL)"
url: /docs/apis/lis2mdl/
- title: "Sensor: Pressure (LPS22HB)"
url: /docs/apis/lps22hb/
- title: "Sensor: Accelerometer & Gyroscope (LSM6DSL)"
url: /docs/apis/lsm6dsl/
- title: "System Function"
url: /docs/apis/system-function/
- title: "Thread"
url: /docs/apis/thread/
- title: "Timer"
url: /docs/apis/timer/
- title: "Watchdog Timer"
url: /docs/apis/watchdog-timer/
- title: "WebSocket Client"
url: /docs/apis/websocket-client/
- title: "WiFi"
url: /docs/apis/wifi/
- title: "WiFiClient"
@ -49,49 +95,5 @@ docs:
url: /docs/apis/wifi-server/
- title: "WiFiUDP"
url: /docs/apis/wifi-udp/
- title: "Display"
url: /docs/apis/display/
- title: "LED"
url: /docs/apis/led/
- title: "AudioV2"
url: /docs/apis/audioV2/
- title: "HTS221"
url: /docs/apis/hts221/
- title: "LSM6DSL"
url: /docs/apis/lsm6dsl/
- title: "LIS2MDL"
url: /docs/apis/lis2mdl/
- title: "LPS22HB"
url: /docs/apis/lps22hb/
- title: "IrDA"
url: /docs/apis/irda/
- title: "EEPROMInterface"
url: /docs/apis/EEPROMInterface/
- title: "MemoryPool"
url: /docs/apis/MemoryPool/
- title: "Queue"
url: /docs/apis/Queue/
- title: "Thread"
url: /docs/apis/Thread/
- title: "Mutex"
url: /docs/apis/Mutex/
- title: "Semaphore"
url: /docs/apis/Semaphore/
- title: "Timer"
url: /docs/apis/Timer/
- title: "FileSystem"
url: /docs/apis/FileSystem/
- title: "Audio-Retired"
url: /docs/apis/audio-retired/
- title: "Memory Status"
url: /docs/apis/memory-status/
- title: "WebSocket Client"
url: /docs/apis/websocket-client/
- title: "Watchdog Timer"
url: /docs/apis/watchdog-timer/
- title: "External Interrupts"
url: /docs/apis/external-interrupts/
- title: "System Function"
url: /docs/apis/system-function/
- title: "HTTP Client"
url: /docs/apis/http-client/
- title: "Retired: AudioV1"
url: /docs/apis/retired/audio-v1/

Просмотреть файл

@ -7,12 +7,16 @@ author_profile: false
<h3>Official tutorials that guide you build and learn IoT empowered by Azure.</h3>
<p class="notice--warning">DevKit is moving to use Azure IoT Workbench as the new tool for developing on it. If you are looking for old experience, you can still find it by clicking <strong>"Previous verion"<strong>.</p>
> **Notice:** IoT DevKit is moving to use [Azure IoT Workbench](https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-iot-workbench) as the new tool for developing on it. If you are looking for old experience, you can still find it by clicking "**Previous version**".
<div class="grid__wrapper">
{% assign projects = '' | split: '' %} {% comment %} Empty array {% endcomment %}
{% for project in site.projects %}
{% comment %} Collect all the multi-part projects based on the presence of the part attribute of the file {% endcomment %}
@ -22,11 +26,11 @@ author_profile: false
{% comment %} Collect all the single page projects {% endcomment %}
{% elsif project.part == nil %}
{% assign projects = projects | push: project %}
{% endif %}
{% endfor %}
{% for post in projects %}
{% include archive-single.html type="grid" %}

Просмотреть файл

@ -1,5 +1,5 @@
---
title: "Upgrade DevKit firmware"
title: "Upgrade the bootloader for IoT DevKit"
permalink: /docs/firmware-upgrading/
excerpt: "Instructions for upgrading device firmware."
last_modified_at: 2017-10-11
@ -7,21 +7,21 @@ last_modified_at: 2017-10-11
{% include toc icon="columns" %}
## Upgrade Firmware
## Upgrade the bootloader for IoT DevKit
Follow bellowing steps to upgrade your DevKit firmware to [latest version]({{"/versions" | absolute_url }}).
Follow bellowing steps to download the [latest version]({{"/versions" | absolute_url }}) of default firmware for IoT DevKit, and upgrade the bootloader.
### Step 1. Connect DevKit to your computer via USB
### Step 1. Connect IoT DevKit to your computer via USB
Once the DevKit is connected, in Windows you see a new USB mass storage device in Windows Explorer called `AZ3166`.
Once the IoT DevKit is connected, in Windows you see a new USB mass storage device in Windows Explorer called `AZ3166`.
### Step 2. Upgrade firmware
1. Download the latest firmware.
1. Download the latest version of default firmware for IoT DevKit which includes the bootloader.
[<i class='fa fa-download'></i> Download](https://aka.ms/devkit/prod/firmware/latest){: .click-download-tracker .btn .btn--success .btn--large}
2. Drag & drop the `.bin` file you downloaded to `AZ3166` device.
3. Wait until the file is copied, then the DevKit will reboot to the latest firmware.

Просмотреть файл

@ -19,14 +19,14 @@ The STSAFE-A100 consists of a full turnkey solution with a secure operating syst
![STSAFE on DevKit]({{"/assets/images/how-to/stsafe/stsafe-on-devkit.png" | absolute_url }})
On the chip, it employs data partitions to be used to store critical data such as Wi-Fi SSID, Wi-Fi password and IoT hub connection string safely. Credential data can be isolated in those partitions. To read and write those partitions, a developer uses `dataZoneIndex` for operating on specific partition. See [API Reference](http://microsoft.github.io/azure-iot-developer-kit/docs/apis/EEPROMInterface/) to learn about using it on Arduino.
On the chip, it employs data partitions to be used to store critical data such as Wi-Fi SSID, Wi-Fi password and IoT hub connection string safely. Credential data can be isolated in those partitions. To read and write those partitions, a developer uses `dataZoneIndex` for operating on specific partition. See [API Reference](http://microsoft.github.io/azure-iot-developer-kit/docs/apis/eeprom-interface/) to learn about using it on Arduino.
### Enable the secure channel
By default, the security chip is not enabled. It means the data you store on EEPROM is in plain text. There are two ways to enable it:
1. Use `enable_secure 1` command in [Configurition Mode]({{"/docs/use-configuration-mode/" | absolute_url }}).
2. Call `enableHostSecurityChannel()` function in Arduino. see [API reference]({{"/docs/apis/EEPROMInterface/" | absolute_url }}).
2. Call `enableHostSecurityChannel()` function in Arduino. see [API reference]({{"/docs/apis/eeprom-interface/" | absolute_url }}).
After enabled, the DevKit will negotiate a key with secure chip. The key will be stored at both DevKit and secure chip side. All data as well as the read / write operations on I2C will then be encrypted.

Просмотреть файл

Просмотреть файл

@ -1,7 +1,7 @@
---
title: "Audio"
permalink: /docs/apis/audioV2/
excerpt: "The second version Audio module for AZ3166"
permalink: /docs/apis/audio_v2/
excerpt: "The Audio module for AZ3166"
last_modified_at: 2017-11-22T10:16:34-04:00
---

Просмотреть файл

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "EEPROMInterface"
permalink: /docs/apis/EEPROMInterface/
permalink: /docs/apis/eeprom-interface/
excerpt: "Library for EEPROMInterface on AZ3166"
last_modified_at: 2018-01-04T05:16:34-04:00
---

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "FileSystem"
permalink: /docs/apis/FileSystem/
permalink: /docs/apis/file-system/
excerpt: "Library for FileSystem on AZ3166"
last_modified_at: 2018-01-09T05:16:34-04:00
---

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "MemoryPool"
permalink: /docs/apis/MemoryPool/
permalink: /docs/apis/memory-pool/
excerpt: "Library for MemoryPool on AZ3166"
last_modified_at: 2018-01-05T05:16:34-04:00
---

Просмотреть файл

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Mutex"
permalink: /docs/apis/Mutex/
permalink: /docs/apis/mutex/
excerpt: "Library for Mutex on AZ3166"
last_modified_at: 2018-01-09T05:16:34-04:00
---

61
docs/_docs/apis/ota.md Normal file
Просмотреть файл

@ -0,0 +1,61 @@
---
title: "OTA Programing"
permalink: /docs/apis/ota/
excerpt: "The OTA module for AZ3166"
last_modified_at: 2018-8-3T10:16:34-04:00
---
The OTA (Over-the-Air) programing API provide the capbility of update the firmware from Azure cloud for IoT DevKit.
## Assembly
OTAFirmwareUpdate.h
## Summary
| Methods |
| :------ |
| [OTADownloadFirmware](#otadownloadfirmware) - `int OTADownloadFirmware(const char *url, uint16_t *crc16Checksum, const char* ssl_ca_pem)` |
| [OTAApplyNewFirmware](#otaapplynewfirmware) - `int OTAApplyNewFirmware(int fwSize, uint16_t crc16Checksum)` |
## Methods
### OTADownloadFirmware
```cpp
int OTADownloadFirmware(const char *url, uint16_t *crc16Checksum, const char* ssl_ca_pem);
```
> Download new firmware from given url.
>
> #### Parameters
>
> | Type | Name | Description |
> | :--- | :--- | :---------- |
> | const char* | [in] url | The url to download firmware from. |
> | uint16_t* | [out] crc16Checksum | Return the CRC-16 (xmodem) checksum of the downloaded firmware |
> | const char* | [in] ssl_ca_pem | Cert of the site of the given url to ensure the connection is under a secure manner, default is NULL which means use cert of Microsoft Azure for TLS communiction. |
## Sample Code
``` cpp
// This can be customized according to the board type.
uint16_t checksum = 0;
int fwSize = OTADownloadFirmware(packageURI, &checksum);
if (fwSize == 0 || fwSize == -1)
{
// Report error status, DownloadFailed
return;
}
else if (fwSize == -2)
{
// Report error status, DeviceError
return;
}
else if (fwSize != fwInfo->fwSize)
{
// Report error status, FileSizeNotMatch
return;
}
```

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Queue"
permalink: /docs/apis/Queue/
permalink: /docs/apis/queue/
excerpt: "Library for Queue on AZ3166"
last_modified_at: 2018-01-05T05:16:34-04:00
---

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Audio-retired"
permalink: /docs/apis/audio-retired/
permalink: /docs/apis/retired/audio-v1/
excerpt: "The retired Audio module for AZ3166"
last_modified_at: 2017-11-22T10:16:34-04:00
---

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Semaphore"
permalink: /docs/apis/Semaphore/
permalink: /docs/apis/semaphore/
excerpt: "Library for Semaphore on AZ3166"
last_modified_at: 2018-01-09T05:16:34-04:00
---

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Thread"
permalink: /docs/apis/Thread/
permalink: /docs/apis/thread/
excerpt: "Library for Thread on AZ3166"
last_modified_at: 2018-01-08T05:16:34-04:00
---

Просмотреть файл

@ -1,6 +1,6 @@
---
title: "Timer"
permalink: /docs/apis/Timer/
permalink: /docs/apis/timer/
excerpt: "Library for Timer on AZ3166"
last_modified_at: 2018-01-09T05:16:34-04:00
---

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -7,6 +7,30 @@ last_modified_at: 2018-01-09
{% include toc icon="columns" %}
## Version 1.4.1 (Augest 6, 2018)
### Release Summary
* SDK
* Add [OTA Programming API](https://microsoft.github.io/azure-iot-developer-kit/docs/apis/ota/).
* UARTClass class support extra serial port (PB_6 & PB_7).
![UART1]({{"/assets/images/release/141_uart.png" | absolute_url }})
* [Audio class]({{"docs/apis/audio-v2" | absolute_url }}) support automatic level control on microphone.
* Mini Solution
* Add IoT DevKit firmware OTA update mini solution.
**Notice:** Please make sure you have upgrade the firmware before running the OTA mini solution.
{: .notice--warning}
* Special thanks to [capfish](https://github.com/capfish) , [Adamantinu](https://github.com/Adamantinu) and [Chris Lovett](https://github.com/lovettchris), thank you for your contributions and feedbacks.
## Version 1.4.0 (July 19, 2018)
### Release Summary
@ -19,13 +43,13 @@ last_modified_at: 2018-01-09
* SDK
* Reduce the size of file system which builds upon the 2MB on-board SPI flash.
**Notice:** Because it need more on-board SPI flash space to store the new firmware for firmware updating, we reduced the space of [file system]({{"docs/apis/FileSystem" | absolute_url }}). So if you have files on IoT DevKit, please make sure they have been well backed up before upgrade to this new SDK.
**Notice:** Because it need more on-board SPI flash space to store the new firmware for firmware updating, we reduced the space of [file system]({{"docs/apis/file-system" | absolute_url }}). So if you have files on IoT DevKit, please make sure they have been well backed up before upgrade to this new SDK.
{: .notice--warning}
* Add [setVolume API]({{"docs/apis/audioV2" | absolute_url }}) to support change the audio volume.
* Add [setVolume API]({{"docs/apis/audio-v2" | absolute_url }}) to support change the audio volume.
* Mini Solution
* Update the DevKit Translator to use the new [Audio APIs]({{"docs/apis/audioV2" | absolute_url }}).
* Update the DevKit Translator to use the new [Audio APIs]({{"docs/apis/audio-v2" | absolute_url }}).
* Development Tools
* Deprecate existing one-click installation package.

Просмотреть файл

@ -0,0 +1,24 @@
---
title: "DevKit OTA updates"
permalink: /docs/projects/devkit-ota/
redirect_to:
- https://github.com/Microsoft/vscode-iot-workbench/blob/master/docs/iot-devkit/devkit-ota.md
excerpt: "Update IoT DevKit firmware OTA (Over-the-Air) through Azure IoT Hub Automatic Device Management."
header:
overlay_image: /assets/images/projects-ota-firmware-updateg.jpg
overlay_full: true
teaser: /assets/images/projects-ota-firmware-update-th.jpg
icons:
- url: /assets/images/icon-iot-hub.svg
target: https://azure.microsoft.com/en-us/services/iot-hub/
title: IoT Hub
difficulty: MEDIUM
variable:
- platform: windows
name: Windows
- platform: macos
name: macOS
last_modified_at: 2018-08-03
---

Просмотреть файл

@ -2,8 +2,9 @@
title: "Device registration with DPS"
permalink: /docs/projects/dps/
redirect_to:
- https://docs.microsoft.com/en-us/azure/iot-dps/how-to-connect-mxchip-iot-devkit
- https://github.com/Microsoft/vscode-iot-workbench/blob/master/docs/iot-devkit/devkit_dps.md
excerpt: "Use the Device Provisioning Service to automatically provision security enabled devices to IoT hub."
PreviousVersionUrl: https://docs.microsoft.com/en-us/azure/iot-dps/how-to-connect-mxchip-iot-devkit
header:
overlay_image: /assets/images/projects-dps.jpg
overlay_full: true
@ -40,7 +41,7 @@ To complete the steps in this tutorial, you need the following:
To enable the DevKit to connect to the Device Provisiong Service instance you just created:
1. In the Azure portal, select the **Overview** blade for your Device Provisioning Service and note down the **Global device endpoint** and **ID Scope** value.
![DPS Global Endpoint and ID Scope]({{"/assets/images/mini-solution/dps/dps-global-endpoint.png" | absolute_url }})
![DPS Global Endpoint and ID Scope]({{"/assets/images/mini-solution/dps/dps-global-endpoint.png" | absolute_url }})
2. Make sure `git` is installed on your machine and is added to the environment variables accessible to the command window. See [Software Freedom Conservancy's Git client tools](https://git-scm.com/download/) to have the latest version installed.
@ -52,8 +53,8 @@ To enable the DevKit to connect to the Device Provisiong Service instance you ju
4. Launch VS Code and connect DevKit to computer, open the folder that contains the code you cloned.
5. Open **DevKitDPS.ino**, Find and replace `[Global Device Endpoint]` and `[ID Scope]` with the values you just note down.
![DPS Endpoint]({{"/assets/images/mini-solution/dps/endpoint.png" | absolute_url }})
You can leave the **registrationId** as blank, the application will generate one for you based on the MAC address and firmware version. If you want to customized it, the Registration ID has to use alphanumeric, lowercase, and hyphen combinations only with maximum 128 characters long. See [Manage device enrollments with Azure portal](https://docs.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments) for more details.
![DPS Endpoint]({{"/assets/images/mini-solution/dps/endpoint.png" | absolute_url }})
You can leave the **registrationId** as blank, the application will generate one for you based on the MAC address and firmware version. If you want to customized it, the Registration ID has to use alphanumeric, lowercase, and hyphen combinations only with maximum 128 characters long. See [Manage device enrollments with Azure portal](https://docs.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments) for more details.
6. Use **Quick Open** in VS Code (Windows: `Ctrl+P`, macOS: `Cmd+P`) and type **task device-upload** to build and upload the code to the DevKit.
@ -87,14 +88,14 @@ To save Unique Device Secret on the DevKit:
5. Without closing the serial monitor window, press reset button on the DevKit.
6. Note down **DevKit MAC Address** and **DevKit Firmware Version** value.
![Firmware version]({{"/assets/images/mini-solution/dps/firmware-version.png" | absolute_url }})
![Firmware version]({{"/assets/images/mini-solution/dps/firmware-version.png" | absolute_url }})
## Generate X.509 certificate
{% include switch.html content = page.variable %}
1. Open file explorer and go to the folder contain the DSP sample code you cloned, there is a **.build** folder, find and copy **DPS.ino.bin** and **DPS.ino.map** in it.
![Generated files]({{"/assets/images/mini-solution/dps/generated-files.png" | absolute_url }})
![Generated files]({{"/assets/images/mini-solution/dps/generated-files.png" | absolute_url }})
**Note:** If you have changed the `built.path` configuration for Arduino to other folder. You need to find those files in the folder you configured.
{: .notice--info}
@ -115,12 +116,12 @@ To save Unique Device Secret on the DevKit:
## Create a device enrollment entry in the Device Provisioning Service
1. In the Azure portal, navigate to your provisioning service. Click **Manage enrollments**, and select the **Individual Enrollments** tab.
![Individual enrollments]({{"/assets/images/mini-solution/dps/individual-enrollments.png" | absolute_url }})
![Individual enrollments]({{"/assets/images/mini-solution/dps/individual-enrollments.png" | absolute_url }})
2. Click **Add**.
3. In **Mechanism**, choose **X.509**.
![Upload cert]({{"/assets/images/mini-solution/dps/upload-cert.png" | absolute_url }})
![Upload cert]({{"/assets/images/mini-solution/dps/upload-cert.png" | absolute_url }})
4. In **Certificate .pem or .cer file**, upload the **.pem** certificate you just have.
@ -145,7 +146,7 @@ Once your device boots, the following actions should take place:
3. On successful registration, the Device Provisioning Service sends the IoT hub URI and device ID back to the device.
4. The IoT Hub client application on the device then connects to your hub.
5. On successful connection to the hub, you should see the device appear in the IoT hub's Device Explorer.
![Device registered]({{"/assets/images/mini-solution/dps/device-registered.png" | absolute_url }})
![Device registered]({{"/assets/images/mini-solution/dps/device-registered.png" | absolute_url }})
## Customize device ID
@ -195,7 +196,7 @@ function generateUDS() {
for (var i = 0; i < 32; i++) {
$(chars.get(i)).html(`0x${uds[i]}`);
}
$('p:has(#steps) + ol li:first-child').remove();
}
}, 500);

Двоичные данные
docs/assets/images/devkit-board-vector@2x.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 23 KiB

После

Ширина:  |  Высота:  |  Размер: 24 KiB

Двоичные данные
docs/assets/images/getting-started/firmware.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 510 KiB

После

Ширина:  |  Высота:  |  Размер: 121 KiB

Двоичные данные
docs/assets/images/getting-started/sensors.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 329 KiB

После

Ширина:  |  Высота:  |  Размер: 118 KiB

Двоичные данные
docs/assets/images/getting-started/wifi-ap.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 477 KiB

После

Ширина:  |  Высота:  |  Размер: 118 KiB

Двоичные данные
docs/assets/images/getting-started/wifi-ip.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 323 KiB

После

Ширина:  |  Высота:  |  Размер: 138 KiB

Двоичные данные
docs/assets/images/projects-ota-firmware-update-th.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 273 KiB

Двоичные данные
docs/assets/images/projects-ota-firmware-update.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 164 KiB

Двоичные данные
docs/assets/images/release/141_uart.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 8.4 KiB

Просмотреть файл

@ -1 +1 @@
1.4.0
1.4.1