Yodiwo / Mbed 2 deprecated YoPlegma

Dependencies:   EthernetInterface FXOS8700Q HTTPClient HTTPD MQTTS SDFileSystem YodiwoPlegma mbed-rpc mbed-rtos mbed wolfSSL

Committer:
mitsarionas
Date:
Tue Sep 01 10:23:13 2015 +0000
Revision:
0:00797f1ebe04
Child:
1:c5abc450140c
1st p0st

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitsarionas 0:00797f1ebe04 1 #include "pairing_backend.h"
mitsarionas 0:00797f1ebe04 2 #include "HTTPClient.h"
mitsarionas 0:00797f1ebe04 3 #include "mbed.h"
mitsarionas 0:00797f1ebe04 4 #include "rtos.h"
mitsarionas 0:00797f1ebe04 5
mitsarionas 0:00797f1ebe04 6 HTTPClient http;
mitsarionas 0:00797f1ebe04 7 char recvBuff[1024*20];
mitsarionas 0:00797f1ebe04 8 int __get_tokens(pairing_context *ctx);
mitsarionas 0:00797f1ebe04 9
mitsarionas 0:00797f1ebe04 10 int pairing_context_init_with_defaults(pairing_context *ctx, onPaired_callback callback)
mitsarionas 0:00797f1ebe04 11 {
mitsarionas 0:00797f1ebe04 12 ctx->postUrl = "http://10.30.254.199:3334/pairing/";
mitsarionas 0:00797f1ebe04 13 ctx->uuid = "1337CNode";
mitsarionas 0:00797f1ebe04 14 ctx->name = "Nodas";
mitsarionas 0:00797f1ebe04 15 ctx->onPaired = callback;
mitsarionas 0:00797f1ebe04 16 return 0;
mitsarionas 0:00797f1ebe04 17 }
mitsarionas 0:00797f1ebe04 18
mitsarionas 0:00797f1ebe04 19 #define STACK_SIZE 24000
mitsarionas 0:00797f1ebe04 20
mitsarionas 0:00797f1ebe04 21 void get_tokens_thread(void const *arg);
mitsarionas 0:00797f1ebe04 22
mitsarionas 0:00797f1ebe04 23 int start_pairing(pairing_context *ctx)
mitsarionas 0:00797f1ebe04 24 {
mitsarionas 0:00797f1ebe04 25 printf("getting tokens from server\n");
mitsarionas 0:00797f1ebe04 26 Thread t(get_tokens_thread, ctx, osPriorityNormal, STACK_SIZE);
mitsarionas 0:00797f1ebe04 27 while (t.get_state() != Thread::Inactive) {
mitsarionas 0:00797f1ebe04 28 // printf("yielding... %d\n", t.get_state());
mitsarionas 0:00797f1ebe04 29 // Thread::yield();
mitsarionas 0:00797f1ebe04 30 // Thread::wait(1000);
mitsarionas 0:00797f1ebe04 31 }
mitsarionas 0:00797f1ebe04 32 printf("thread ended?\n");
mitsarionas 0:00797f1ebe04 33 return 0;
mitsarionas 0:00797f1ebe04 34 }
mitsarionas 0:00797f1ebe04 35
mitsarionas 0:00797f1ebe04 36 char str[512];
mitsarionas 0:00797f1ebe04 37 char url[100];
mitsarionas 0:00797f1ebe04 38
mitsarionas 0:00797f1ebe04 39 void get_tokens_thread(void const *arg)
mitsarionas 0:00797f1ebe04 40 {
mitsarionas 0:00797f1ebe04 41 printf("in thread\n");
mitsarionas 0:00797f1ebe04 42 __get_tokens((pairing_context *)arg);
mitsarionas 0:00797f1ebe04 43 }
mitsarionas 0:00797f1ebe04 44
mitsarionas 0:00797f1ebe04 45 int __get_tokens(pairing_context *ctx)
mitsarionas 0:00797f1ebe04 46 {
mitsarionas 0:00797f1ebe04 47
mitsarionas 0:00797f1ebe04 48 strcpy(url, ctx->postUrl);
mitsarionas 0:00797f1ebe04 49 strcat(url, "/gettokens");
mitsarionas 0:00797f1ebe04 50 // http.dumpReqHeader(true);
mitsarionas 0:00797f1ebe04 51 // http.dumpResHeader(true);
mitsarionas 0:00797f1ebe04 52 int ret;
mitsarionas 0:00797f1ebe04 53
mitsarionas 0:00797f1ebe04 54 //GET data
mitsarionas 0:00797f1ebe04 55 // printf("\nTrying to fetch page...\n");
mitsarionas 0:00797f1ebe04 56 // ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
mitsarionas 0:00797f1ebe04 57 // if (!ret)
mitsarionas 0:00797f1ebe04 58 // {
mitsarionas 0:00797f1ebe04 59 // printf("Page fetched successfully - read %d characters\n", strlen(str));
mitsarionas 0:00797f1ebe04 60 // printf("Result: %s\n", str);
mitsarionas 0:00797f1ebe04 61 // }
mitsarionas 0:00797f1ebe04 62 // else
mitsarionas 0:00797f1ebe04 63 // {
mitsarionas 0:00797f1ebe04 64 // printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
mitsarionas 0:00797f1ebe04 65 // }
mitsarionas 0:00797f1ebe04 66
mitsarionas 0:00797f1ebe04 67 //POST data
mitsarionas 0:00797f1ebe04 68 HTTPMap map;
mitsarionas 0:00797f1ebe04 69 HTTPText inText(str, 512);
mitsarionas 0:00797f1ebe04 70 map.put("name", ctx->name);
mitsarionas 0:00797f1ebe04 71 map.put("uuid", ctx->uuid);
mitsarionas 0:00797f1ebe04 72 printf("\nTrying to post data...\n");
mitsarionas 0:00797f1ebe04 73 ret = http.post(url, map, &inText);
mitsarionas 0:00797f1ebe04 74 if (!ret)
mitsarionas 0:00797f1ebe04 75 {
mitsarionas 0:00797f1ebe04 76 printf("Executed POST successfully - read %d characters\n", strlen(str));
mitsarionas 0:00797f1ebe04 77 printf("Result: %s\n", str);
mitsarionas 0:00797f1ebe04 78
mitsarionas 0:00797f1ebe04 79 }
mitsarionas 0:00797f1ebe04 80 else
mitsarionas 0:00797f1ebe04 81 {
mitsarionas 0:00797f1ebe04 82 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
mitsarionas 0:00797f1ebe04 83 }
mitsarionas 0:00797f1ebe04 84 return ret;
mitsarionas 0:00797f1ebe04 85
mitsarionas 0:00797f1ebe04 86 }