Provision Your Module

This step shows you how to provision an ACK module as a virtual product via ACK managed services. You use the ACK Module Utility CLI tool to manually provision individual modules or ACK development kits. For general information about module provisioning, see the Module Life Cycle.

Prerequisites

Step 1: Download the configuration file for you product

To download the configuration file for your product

  1. Log in to developer.amazon.com, if you aren't already logged in.
  2. Go to the ACK console products page.
  3. Click on the product that you would like to provision the module as.
  4. In the upper-right, click Download Provisioning File. This will save a zip file to your computer's default download location. After unzipping, you will find a ProvisioningInfo_[devicetypeid].conf file, which has three values that should not be modified:

    • deviceType– A unique identifier that represents your virtual product. When you create a virtual product in the ACK console, a unique device type is created.
    • simpleSetupId – The Wifi Simple Setup ID used to register the product with Alexa via Amazon's Wifi Simple Setup service. For more information about Wifi Simple Setup, see Wifi Simple Setup.
    • ztsKey – The Zero-Touch Setup key used to register the product with Alexa via Amazon's Wifi Simple Setup service.

Step 2: Determine the serial port that corresponds to the module

  1. First, connect the ACK hardware development board debug port to your computer. If you are using a Development Kit, see connect the development board to your computer.

  2. To provision the module, you need to specify the serial port that corresponds to the module. Use the Module Utility listports command to list the serial ports and their connection status.

Step 3: Use the Module Utility CLI to provision the ACK module

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

  1. Run the provision command, and specify the port that corresponds to the module and the location of the provisioning configuration file that you downloaded from the ACK console product page.

    Enter the following code into the terminal:

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

    If the module is already provisioned as a product, you'll see a message like The module is already provisioned as product AZCQX0BWIKW8F. Reprovision? Y/N. In this case, choose Y to reprovision the module.

  2. An LWA sign in page opens in your web browser. Sign in to your Amazon developer account, and select Allow to grant 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.
  3. When the provisioning process is successful, you'll see a Device provisioning successful message in your terminal window.

    The following output appears:

     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