Recently TI released a new single-chip IoT solution CC3200 with integrated WiFi and Cortex-M4 application processor. The chip is intended for all kinds of Internet-of-Things applications, including home appliances, smart metering, security systems, and more. Many of the target products do not provide any kind of user interface for entering configuration parameters of WiFi network access.
|CC3200 LaunchPad development board.|
SmartConfig is a method introduced by TI for initial configuration of network access. The idea is simply to use a specific app in mobile or PC to transmit configuration parameters to the embedded device over wireless network. But how to do that if no initial network configuration exists?
When no configuration exists, the embedded device can not join any network, secured or unsecured, but it can listen to all traffic in a silent monitor mode. In case of secured network the content of individual packages is unknown, the only thing that the device can detect is MAC address and the length of individual packets.
The length of a packet is the coding key, a modern day Morse code. An application transmits dummy UDP packets with certain length. Device listens to the traffic and recognizes certain fixed pattern of packet lengths. After the pre-ample the actual network configuration including SSID and WPA key is transmitted as coded into packet length of following messages. Once network configuration is received, the device can start operating normally using the available network infrastructure.