cc3000 twitter demo, uses supertweet services. Set your account there and then fill a user and a secret inside the demo.

Dependencies:   HTTPClient NVIC_set_all_priorities cc3000_hostdriver_mbedsocket mbed

Uses http://www.supertweet.net/, please register there and fill user and secret inside the application.

Committer:
Kojto
Date:
Tue Jun 03 09:30:35 2014 +0000
Revision:
4:450623485778
Parent:
3:1fbe23ea24c1
update mbed lib to r84

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 0:5aa9273cb749 1 /* mbed Microcontroller Library
Kojto 0:5aa9273cb749 2 * Copyright (c) 2006-2013 ARM Limited
Kojto 0:5aa9273cb749 3 *
Kojto 0:5aa9273cb749 4 * Licensed under the Apache License, Version 2.0 (the "License");
Kojto 0:5aa9273cb749 5 * you may not use this file except in compliance with the License.
Kojto 0:5aa9273cb749 6 * You may obtain a copy of the License at
Kojto 0:5aa9273cb749 7 *
Kojto 0:5aa9273cb749 8 * http://www.apache.org/licenses/LICENSE-2.0
Kojto 0:5aa9273cb749 9 *
Kojto 0:5aa9273cb749 10 * Unless required by applicable law or agreed to in writing, software
Kojto 0:5aa9273cb749 11 * distributed under the License is distributed on an "AS IS" BASIS,
Kojto 0:5aa9273cb749 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Kojto 0:5aa9273cb749 13 * See the License for the specific language governing permissions and
Kojto 0:5aa9273cb749 14 * limitations under the License.
Kojto 0:5aa9273cb749 15 */
Kojto 0:5aa9273cb749 16 #include "mbed.h"
Kojto 0:5aa9273cb749 17 #include "cc3000.h"
Kojto 0:5aa9273cb749 18 #include "main.h"
Kojto 0:5aa9273cb749 19 #include "HTTPClient.h"
Kojto 0:5aa9273cb749 20
Kojto 0:5aa9273cb749 21 using namespace mbed_cc3000;
Kojto 0:5aa9273cb749 22
Kojto 0:5aa9273cb749 23 /* cc3000 module declaration specific for user's board. Check also init() */
Kojto 0:5aa9273cb749 24 #if (MY_BOARD == WIGO)
Kojto 3:1fbe23ea24c1 25 cc3000 wifi(PTA16, PTA13, PTD0, SPI(PTD2, PTD3, PTC5), "ssid", "key", WPA2, false);
Kojto 0:5aa9273cb749 26 Serial pc(USBTX, USBRX);
Kojto 0:5aa9273cb749 27 #elif (MY_BOARD == WIFI_DIPCORTEX)
Kojto 3:1fbe23ea24c1 28 cc3000 wifi(p28, p27, p30, SPI(p21, p14, p37), "ssid", "key", WPA2, false);
Kojto 0:5aa9273cb749 29 Serial pc(UART_TX, UART_RX);
Kojto 3:1fbe23ea24c1 30 #elif (MY_BOARD == MBED_BOARD_EXAMPLE)
Kojto 3:1fbe23ea24c1 31 cc3000 wifi(p9, p10, p8, SPI(p5, p6, p7), "ssid", "key", WPA2, false);
Kojto 3:1fbe23ea24c1 32 Serial pc(USBTX, USBRX);
Kojto 0:5aa9273cb749 33 #else
Kojto 0:5aa9273cb749 34
Kojto 0:5aa9273cb749 35 #endif
Kojto 0:5aa9273cb749 36
Kojto 0:5aa9273cb749 37 HTTPClient twitter;
Kojto 0:5aa9273cb749 38 char str[512];
Kojto 0:5aa9273cb749 39
Kojto 0:5aa9273cb749 40 /**
Kojto 1:f35cc7e300f7 41 * \brief Twitter demo
Kojto 0:5aa9273cb749 42 * \param none
Kojto 0:5aa9273cb749 43 * \return int
Kojto 0:5aa9273cb749 44 */
Kojto 0:5aa9273cb749 45 int main() {
Kojto 0:5aa9273cb749 46 init(); /* board dependent init */
Kojto 0:5aa9273cb749 47 pc.baud(115200);
Kojto 0:5aa9273cb749 48
Kojto 1:f35cc7e300f7 49 printf("cc3000 twitter demo. \r\n");
Kojto 3:1fbe23ea24c1 50 wifi.init();
Kojto 3:1fbe23ea24c1 51 if (wifi.connect() == -1) {
Kojto 3:1fbe23ea24c1 52 printf("Failed to connect. Please verify connection details and try again. \r\n");
Kojto 0:5aa9273cb749 53 } else {
Kojto 3:1fbe23ea24c1 54 printf("IP address: %s \r\n", wifi.getIPAddress());
Kojto 0:5aa9273cb749 55 }
Kojto 3:1fbe23ea24c1 56
Kojto 0:5aa9273cb749 57 //POST data
Kojto 0:5aa9273cb749 58 HTTPMap map;
Kojto 0:5aa9273cb749 59 HTTPText inText(str, 512);
Kojto 0:5aa9273cb749 60 map.put("status", "I am tweeting from mbed with cc3000.");
Kojto 1:f35cc7e300f7 61
Kojto 1:f35cc7e300f7 62 printf("\r\nTrying to post data...\r\n");
Kojto 0:5aa9273cb749 63 twitter.basicAuth("username", "secret"); //We use basic authentication, replace with you account's parameters
Kojto 0:5aa9273cb749 64 int ret = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", map, &inText);
Kojto 0:5aa9273cb749 65 if (!ret)
Kojto 0:5aa9273cb749 66 {
Kojto 1:f35cc7e300f7 67 printf("Executed POST successfully - read %d characters\r\n", strlen(str));
Kojto 1:f35cc7e300f7 68 printf("Result: %s \r\n", str);
Kojto 0:5aa9273cb749 69 }
Kojto 0:5aa9273cb749 70 else
Kojto 0:5aa9273cb749 71 {
Kojto 1:f35cc7e300f7 72 printf("Error - ret = %d - HTTP return code = %d \r\n", ret, twitter.getHTTPResponseCode());
Kojto 0:5aa9273cb749 73 }
Kojto 1:f35cc7e300f7 74
Kojto 1:f35cc7e300f7 75 printf("Twitter demo completed.\r\n");
Kojto 0:5aa9273cb749 76 }