CC3000 Smart Config

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Overview

A first step in utilizing CC3000 in a Wi-Fi enabled application is to configure CC3000 to a user’s Wi-Fi network. This requires information on the AP, or SSID name, and the security passcode when WEP/WPA/WPA2 is enabled. Considering that embedded Wi-Fi applications will generally lack user interfaces such as keypads or touchscreens, this process can be complex without the use of advanced I/O.

To create a great user experience, TI has created SmartConfig™ technology - a one-step and one-time process to connect a CC3000-enabled device to the home wireless network. This greatly stands apart from other Wi-Fi suppliers who require multiple steps to configure a device onto the network.

Smart Config leverages the standard mechanisms present in Wi-Fi to configure a CC3000's association information on the fly, regardless of whether user-interface is available. In this process a Wi-Fi enabled device such as a smartphone, tablet or a laptop is used to send the association information to the CC3000.

Addtionally, SmartConfig does not depend on the host microcontroller's I/O capabilities, thereby usable by deeply embedded applications. It can be used to associate multiple devices to the same AP simultaneously. The Configuration process is secured with AES-128 encryption, and the SSID and KEY length are supported up to 32 bytes. And furthermore, the device used to configure (smartphone, tablet, or PC) stays connected to the user’s home network during the configuration process (as opposed to other methods that require disconnection).

 


Cc3000 smart config.PNG

Procedure

In order to perform the Smart Config procedure, CC3000 must initially enter the Smart config mode. This process can be triggered externally on the CC3000 device by pressing a button on the processor's board. For example, it will be S1 on the MSP430 Experimenter board. For more details on this, please refer to Using Smart Config section in the CC3000 First Time Getting Started Guide.

When the configuration process is triggered, the CC3000 device performs the following:



Smart Config flow - AES encryption enabled


Procedure smart config.PNG
 

Smart Config flow - AES encryption disabled


Procedure smart config1.PNG
 

APIs

The APIs used to complete the Smart Config process are as follows:


nvmem_create_entry(NVMEM_AES128_KEY_FILEID, AES128_KEY_SIZE) – Create an entry at field ID 12 to store the AES key. (Only when AES encryption is enabled)

aes_write_key(key)- write the key to EEPROM - fileID 12. (Only when AES encryption is enabled)

wlan_smart_config_set_prefix(aucCC3000_prefix)– Set CC3000 prefix. Currently this API has to be called with the value ‘TTT’.

wlan_smart_config_start() – Send command to CC3000 to start the Smart config process.

wlan_smart_config_process(1) – Call this API with value 1 when AES encryption is enabled, otherwise 0. Brief process the acquired data and store it as a profile.

wlan_ioctl_set_connection_policy(DISABLE, DISABLE, ENABLE)– sets the connection policy, Set parameters to use Auto connect in order to connect to a stored profile.

 

 

Limitations

     NOTE: It is possible to configure multiple CC3000 devices to different APs serially, OR configure multiple CC3000 devices to the same AP simultaneously

Examples using IOS\Android devices

The following section shows how to set the IOS application to configure CC3000 to connect to a specific AP. Before you begin, it is important to ensure that CC3000 is in Smart Config mode and the configuring device is connected to the same network that you want the CC3000 to connect to.



IOS configuration.PNG


Application Development Information

TI provides Smart Config example application for IOS and Android devices.

This application is the configurable side in the process of connecting CC3000 device to a specific AP using the Smart Config feature.

In order to develop similar application for your product, please use the following wiki pages:

Smart Config Application development information - IOS

Smart Config Application development information - Android


Leave a Comment

Comments

Comments on CC3000 Smart Config


Featured said ...

1. if we don't use the AES encryption, this would let the AP's password fly in the air, isn't it horrible thing 2. if we use AES encryption enabled , how would the cc3000 know my inputed de-encrypt key? pass to it? 3. "starts probing UDP packets which contain the information", if cc3000 is not connected to AP, which means, layer2 is not built, can it receive the layer-3 (UDP layer) information?

--Featured 09:37, 28 March 2013 (CDT)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox