Code for an ethernet-enabled mbed that calls to a web api, and reasons with JSON resonses

Dependencies:   NetServices RPCInterface mbed picojson xbee_api

Committer:
ammanvedi
Date:
Sat Jan 25 16:51:41 2014 +0000
Revision:
0:d956c5c1bdd6
Child:
1:7485d913aaf5
initial commit ; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ammanvedi 0:d956c5c1bdd6 1 #include "mbed.h"
ammanvedi 0:d956c5c1bdd6 2 #include "EthernetNetIf.h"
ammanvedi 0:d956c5c1bdd6 3 #include "HTTPClient.h"
ammanvedi 0:d956c5c1bdd6 4 #include "NTPClient.h"
ammanvedi 0:d956c5c1bdd6 5 #include "HTTPServer.h"
ammanvedi 0:d956c5c1bdd6 6 #include "RPCFunction.h"
ammanvedi 0:d956c5c1bdd6 7
ammanvedi 0:d956c5c1bdd6 8 #define HOSTNAME "HUB-01"
ammanvedi 0:d956c5c1bdd6 9
ammanvedi 0:d956c5c1bdd6 10 EthernetNetIf eth(HOSTNAME);
ammanvedi 0:d956c5c1bdd6 11 HTTPClient http;
ammanvedi 0:d956c5c1bdd6 12 NTPClient ntp;
ammanvedi 0:d956c5c1bdd6 13
ammanvedi 0:d956c5c1bdd6 14
ammanvedi 0:d956c5c1bdd6 15
ammanvedi 0:d956c5c1bdd6 16 int main() {
ammanvedi 0:d956c5c1bdd6 17
ammanvedi 0:d956c5c1bdd6 18
ammanvedi 0:d956c5c1bdd6 19 printf("Try starting the program with the network disconnected and then connect after a few timeouts reported\n\n");
ammanvedi 0:d956c5c1bdd6 20 EthernetErr ethErr;
ammanvedi 0:d956c5c1bdd6 21 int count = 0;
ammanvedi 0:d956c5c1bdd6 22 do {
ammanvedi 0:d956c5c1bdd6 23 printf("Setting up %d...\n", ++count);
ammanvedi 0:d956c5c1bdd6 24 ethErr = eth.setup();
ammanvedi 0:d956c5c1bdd6 25 if (ethErr) printf("Timeout\n", ethErr);
ammanvedi 0:d956c5c1bdd6 26 } while (ethErr != ETH_OK);
ammanvedi 0:d956c5c1bdd6 27
ammanvedi 0:d956c5c1bdd6 28 printf("Connected OK\n");
ammanvedi 0:d956c5c1bdd6 29 const char* hwAddr = eth.getHwAddr();
ammanvedi 0:d956c5c1bdd6 30 printf("HW address : %02x:%02x:%02x:%02x:%02x:%02x\n",
ammanvedi 0:d956c5c1bdd6 31 hwAddr[0], hwAddr[1], hwAddr[2],
ammanvedi 0:d956c5c1bdd6 32 hwAddr[3], hwAddr[4], hwAddr[5]);
ammanvedi 0:d956c5c1bdd6 33
ammanvedi 0:d956c5c1bdd6 34 IpAddr ethIp = eth.getIp();
ammanvedi 0:d956c5c1bdd6 35 printf("IP address : %d.%d.%d.%d\n", ethIp[0], ethIp[1], ethIp[2], ethIp[3]);
ammanvedi 0:d956c5c1bdd6 36 printf("Check router DHCP table for name : %s\n", eth.getHostname());
ammanvedi 0:d956c5c1bdd6 37
ammanvedi 0:d956c5c1bdd6 38 printf("\nHTTPClient get...\n");
ammanvedi 0:d956c5c1bdd6 39 HTTPText txt;
ammanvedi 0:d956c5c1bdd6 40 HTTPResult r = http.get("192.168.0.4:3000/devices", &txt);
ammanvedi 0:d956c5c1bdd6 41 if (r==HTTP_OK) {
ammanvedi 0:d956c5c1bdd6 42 printf("Result ok : %s\n", txt.gets());
ammanvedi 0:d956c5c1bdd6 43 } else {
ammanvedi 0:d956c5c1bdd6 44 printf("Error %d\n", r);
ammanvedi 0:d956c5c1bdd6 45 }
ammanvedi 0:d956c5c1bdd6 46
ammanvedi 0:d956c5c1bdd6 47
ammanvedi 0:d956c5c1bdd6 48 }