Staging:CC3220 HTTP Client Demo (Texas Instruments NDA restrictions applicable)

Overview
This sample application demonstrates how to use HTTP Client Library (in minimum mode) to communicate with an HTTP server.

Application Details
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.

This sample application demonstrates the usage of HTTP Client library for HTTP based application development in minimum mode. This application demonstrates:
 * Connect to an AP
 * Connect to an HTTP Server with and without proxy
 * Performs 4 most common HTTP operations - POST, DELETE, PUT, and GET
 * Parse JSON data using JSMN

For more details on HTTP, please refer to Wikipedia Article: HTTP.

Source Files Details

 * main.c - Application code. Initializes the device in default configuration and performs all application tasks.
 * pinmux.c - Pinmux configurations as required by the application.
 * cc_launchpad.c - Initializes peripherals.
 * timer_if.c - Functions to control timer.
 * uart_if.c - Functions to display information on UART.
 * startup_*.c - IDE specific startup functions (not required when working with TI-RTOS).

HTTP Client Library Details
TI provides the HTTP Client library code to simplify your development process. The library project environment can be found under the directory \netapps\http\client\.

The HTTP client library support two modes:
 * 1) Minimum Mode - supports synchronous mode, redirection handling, chunked transfer encoding, proxy and TLS.
 * 2) Full Mode - supports all the features of the minimal mode along with asynchronous mode and content handling and requires RTOS support.

To compile the library in either Minimum or Full mode, please add/remove the HTTPCli_LIBTYPE_FULL flag in the project preprocessor.

Precompiled library binaries are provided in both full and min sub-directories of the library project directory.

JSMN Library Details
The open source JSON parser JSMN is used in this application. The library project environment can be found under the directory \netapps\json. Precompiled library binary file is provided.

Prerequisite

 * 1x CC3220LP
 * 1x Micro-USB cable
 * 1x 2.4GHz AP with internet access

Configurations
At the top of the main.c file, set the target HTTP server address and port. In this example, we use httpbin.org.

Example Use Cases and Outputs
Simply compile and run the application. You should see the following console print out. For instructions on how to compile a project and to bring up a terminal, please refer to Getting Started Guide and Terminal setup.

Limitations/Known Issues

 * Default library and application code doesn't support IPv6. Please modify the source code to enable it.