Module Provisioning: Module Utility CLI
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.
- For more details about provisioning, see Module Provisioning.
- For more details about virtual products, see Virtual Products.
Meet the following prerequisites, before you complete the instructions on this page.
- An ACK development kit, or a printed circuit board assembly (PCBA) with an integrated ACK module.
- A virtual product.
- The Module Utility CLI version 184.108.40.206 or later. For more details about how to set up the Module Utility, see the Module Utility CLI Quick Start.
- An internet connection.
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
- Sign-in to the ACK developer console.
- In the left-hand navigation, select Products.
- Select the product that you want to provision a module for.
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
- Find the ACK hardware development board debug port. For more details about your development kit, see Connect the development board to your computer.
- Connect the debug port to your computer using a USB cable.
- Run the Module Utility
listportscommand 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.
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.
Sign-in to your Amazon developer account and select Allow.
This grants the Alexa Connect Kit Device Provisioner permission to read ACK device certificates.Important: If you have multiple Amazon developer accounts, sign in with the account that you used to create your ACK virtual product.
When the provisioning process is successful, you see the following
Device provisioning successfulmessage.
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