Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface FXOS8700Q HTTPClient HTTPD MQTTS SDFileSystem YodiwoPlegma mbed-rpc mbed-rtos mbed wolfSSL
pairing_backend.cpp@0:00797f1ebe04, 2015-09-01 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |