Staging:CC3200 HTTP Server

Overview
HTTP Server Application demonstrates interaction between HTTP Client(Browser) and SimpleLink Device. The SimpleLink device runs an HTTP Server and user can interact with the device using a Web Browser. User Can interact using Simple HTTP GET and POST Command

Using HTTP Server, User can do below:
 * 1) Get Static Pages Stored on ROM/SFLash
 * 2) Update Device Settings by filling Forms on Static HTML pages
 * 3) Get Dynamic Data such as Device status etc using Tokens in HTML pages.
 * 4) Send Command to Device using Tokens in HTML pages. For e.g User controls the LED on the Device.

Usage

 * Flash Example Content (html,image,Application binary) on serial flash by following below steps.
 * Ensure that the CC3200 Launchpad is formatted to 1MB and that the latest servicepack is programmed to the device.
 * Open \examples\httpserver\html\httpserver.ucf session file in Uniflash.
 * Ensure that SOP2 jumper is connected and flash the files to the device. Detailed instructions at Uniflash User Guide.

Case 1 - AP Mode Case 2 - STA Mode
 * Run the reference application
 * Run From IDE (IAR/CCS)
 * Open the Project as mentioned in the \docs\CC3200-Getting Started Guide.pdf.
 * Build and download the application to the board.
 * Run Flashed Binary
 * Remove SOP-2 Jumper on Board and Press Reset. Refer \docs\CC3200-Getting Started Guide.pdf for detailed Information.
 * Device starts and checks for Force AP Jumper as shown below. If Jumper is placed, it starts in AP Mode
 * CC3200 device will boot in AP Mode. It will print its SSID and HTTP Server domain name in UART Terminal and the red LED should blink 3 times.
 * User needs to connect its WIFI enabled device PC/MAC/Smartphone to the device AP (Default SSID: mysimplelink-MACAddr).
 * User opens the browser and type mysimplelink.net\main.html in browser URL field.
 * Browser displays the main page. User selects Demo Tab as shown below.
 * Browser displays the demo web page as shown below.
 * User clicks on ON/OFF Switch button to control the red LED on the Device.
 * Install TI WiFi Starter Pro Application on your Smartphone.
 * User needs to provision the device using AP provisioning. The procedure is a little different for Android and iOS, where additional steps are required for iOS. To provision the device using iOS, the following steps need to be followed:
 * Connect your Smartphone to the selected AP.
 * Launch TI WiFi Starter Pro Application. [[Image:provisioning main page.png|center|300px|provisioning main page.png]]
 * Click the Device to configure and follow the pop up message to direct you to the WiFi Settings. Choose your device SSID starting with mysimplelink- and concatenated with a portion of the MAC address. [[Image:provisioning choose device to configure.png|center|300px|provisioning choose device to configure.png]]
 * If the name of the network for provisioning is not automatically shown in WiFi Network field, click the drop down and pick the desired network from the list. Enter the Network Password in case it is a secured network. For open network, leave the 'Password' field blank. [[Image:provisioning fill credentials.png|center|300px|provisioning fill credentials.png]]
 * The name of the device is filled automatically but can be modified. This will be used to identify your device.
 * Press START CONFIGURATION button to start the procedure.
 * Once the provisioning process is completed, a pop-up windows shows up to indicate that the new device is connected to the network. [[Image:provisioning successful.png|center|300px|provisioning successful.png]]
 * Once provisioning is Successful, CC3200 device will connect to the AP and print its IP address on UART Terminal as shown below. Also note the messages indicating the start and finish points for the provisioning.
 * User Opens the browser and type  \led_demo.html e.g. 192.168.1.157\main.html in browser URL field.
 * Browser displays the main page and user selects the Demo Tab.
 * Browser displays the demo web page as shown below.
 * User clicks on ON/OFF Switch button to control the red LED on the Device.

Source Files briefly explained

 * main.c - Handles HTTP Request, Controls LED and Send HTTP Response with LED Status
 * gpio_if.c - Handles GPIO related operations
 * pinmux.c - Generated by Pinmux utility pin out LED GPIOs.
 * uart_if.c - Implements the UART terminal.
 * startup_*.c - Implements tools specific interrupt vector table

Limitations/Known Issues
None.