Table of Contents

Example Summary

This example introduce the user to simple provisioning configuration on CC32xx devices.

Peripherals Exercised

Example Usage

The connection should have the following settings

    Baud-rate:    115200
    Data bits:       8
    Stop bits:       1
    Parity:       None
    Flow Control: None

Application Design Details

The SimpleLink Wi-Fi provisioning process is divided into the Configuration stage and the Confirmation stage. The process begins with the configuration stage. During this stage, the SimpleLink Wi-Fi device waits for the end user to provide (using an external device such as a smartphone or tablet running a dedicated provisioning application) the information needed to connect to the wireless network as follows:

• Network name (SSID)
• Password
• Device name (optional)
• UUID (optional)

The device internally saves the provided network information into its serial flash memory as a new profile. Once a profile is successfully configured, the device moves to the confirmation stage. The confirmation stage tests the profile that was configured during the configuration stage. During the confirmation stage, the device tries to connect to the wireless network found in the new configured profile. If the connection is successful, the device also tries to provide feedback about the successful connection to the user’s smart phone provisioning application, which configured the profile. A connection is defined as successful if the WLAN connection is established, and an IP address is acquired. If the connection is successful, and the feedback is delivered to the user, the confirmation stage is successful, and the provisioning process successfully ends. If the connection attempt fails, or if it is successful but the feedback is not delivered to the user, the confirmation stage fails, and the device moves back to the configuration stage. At this point, the user’s smart phone provisioning app can ask the device to send the fail reason of the previous confirmation attempt, and configure a new profile.

External Configuration

When the provisioning process is started in APSC + external configuration mode , the device is ready to serve stations trying to connect to it (for AP provisioning), ready to handle SmartConfig transmissions (SC provisioning), and can allow the host to execute an additional external provisioning method that is not implemented inside the networking subsystem (for example: WAC).

Using the external configuration requires to implement and uncomment the following functions (search for [External configuration] in the example code): • StartExternalProvisioning() - start the external provisioning process. once SL_WLAN_PROVISIONING_EXTERNAL_CONFIGURATION_READY arrives, call this function in order to start the external provisioning process (i.e open socket and receive the profile credentials). • StopExternalProvisioning() - stop the external provisioning process (i.e in case of AP provisioning or AP SC success, external provisioning is no longer needed). • IsActiveExternalConfirmation() - Implement a function which check the current status of the external provisioning run.

In order to start the provisioning in SL_WLAN_PROVISIONING_CMD_START_MODE_APSC_EXTERNAL_CONFIGURATION call sl_WlanProvisioning API with provisioningCmd = SL_WLAN_PROVISIONING_CMD_START_MODE_APSC_EXTERNAL_CONFIGURATION;

Please install the latest CC32xx Service Pack in order to get the most optimization and lowest current consumption.

References