Step 2: Provision Your ACK Module as a Virtual Product

You use the Module Utility Command Line Interface (CLI) provision command to provision the Alexa Connect Kit (ACK) module. After you do this, Login with Amazon (LWA) authorizes your module through the ACK managed services. After authorization completes, the ACK managed services generate device certificates and writes them to the memory of your module. Alexa uses these certificates to verify the identity of your product and to register it with the ACK managed services.

Prerequisites

Meet the following prerequisites, before you complete the instructions on this page.

Step 1: Connect to your debug port

Your development board and your Arduino Zero might be physically connected. If they're already connected, physically disconnect the two boards. After you disconnect the boards, plug a Micro-USB cable into the development kit debug port, and connect the other end to your computer. To find the debug port, see Development Kit Components.

Step 2: Download your configuration file

You download your virtual product configuration file directly from the ACK console. This configuration file contains a deviceType identifier that associates the module with your virtual product, as well as keys used for Wi-Fi Simple Setup.

To download your product configuration file

  1. Sign-in to the ACK developer console.
  2. In the left-hand navigation, select Products.
  3. Select the product that you want to provision a module for.
  4. Click Download provisioning file.

    Unzip the file to a convenient location.

Step 2: Find your module serial port

To provision your module, you must connect your computer to the ACK hardware development board debug port.

To connect to your ACK debug port

  1. Find the ACK hardware development board debug port. For more details about your development kit, see Connect the development board to your computer.
  2. Connect the debug port to your computer using a USB cable.
  3. Run the Module Utility listports command to list your Module serial port.

Step 3: Provision your module

To provision the module, use the Module Utility CLI provision command which moves the module state from module provisioned to product provisioned.

  1. Run the provision command.

    Pass-in your module port and the location of your configuration as arguments.

    $ java -jar <path-to>/ackmoduleutility.jar provision -p <serial-port> --provisionconfigfile <path-to>/ProvisioningInfo.conf
    

    If you have already provisioned your module as a product, you see the following message: The module is already provisioned as product AZCQX0BWIKW8F. Reprovision? Y/N. To reprovision your module, enter Y.

    After your module provisions, an LWA sign in page opens in your web browser.

  2. Sign-in to your Amazon developer account and select Allow.

    This grants the Alexa Connect Kit Device Provisioner permission to read ACK device certificates.

    Grant the Alexa Connect Kit device provisioner permission to read the device certificate.
    Grant the Alexa Connect Kit device provisioner permission to read the device certificate.

    When the provisioning process is successful, you see the following Device provisioning successful message.

    java -jar ackmoduleutility.jar provision -p /dev/tty.usbserial-XXXXXX --provisionconfigfile /Users/<username>/Downloads/ProvisioningInfo.conf
    Device provisioning beginning for device type AZCQXXXXXXXX...
    Setting device information
    Authorization is required. Your web browser should open the "Login with Amazon" page to the following link, please login with your Amazon developer credentials associated with device type AZCQXXXXXXXX. https://devicesigner.amazon.com/v1/authn?state=eBMxweDVK4bTojmFeHcXsQ-o2Oa1gelBSNOL9oSau6tIVWTrcpLGGvIbUKaY0AoNGE
    Waiting for you to login using "Login with Amazon"  |
    Login detected, sending request for device certificate to the ACK service...
    Device certificate request was successful and device certificate has been provided to ACK module utility.
    Device provisioning continuing...
    Device provisioning successful