ported Axeda app. to mbed LPC1114FN28 with WIZ550io

Dependencies:   W5500Interface mbed

Fork of AxedaGo-mbedNXP by Axeda Corp

Revision:
0:ab4e84579da0
Child:
1:16dd56f0f6c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Oct 09 19:25:56 2013 +0000
@@ -0,0 +1,87 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+ 
+EthernetInterface eth;
+ 
+AnalogIn pot1(p19);
+TCPSocketConnection sock;
+ 
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+ 
+int main() 
+{
+    
+    char *MODEL = "mbed";
+    char *SERIAL_NUM = "abc-123-ume"; 
+    float DEADBAND = 0.015;
+    
+    char* ip;
+    
+    char http_cmd[300];   
+    char buffer[300];  
+    int returnCode = 0;
+    
+    led1 = 1;
+    led2 = 1;
+    led3 = 1;
+    led4 = 1;
+    
+    printf("initializing Ethernet\r\n");
+    returnCode = eth.init(); //Use DHCP
+ 
+    if ( returnCode == 0 )
+    {
+        printf(" - Ethernet ready\r\n");
+        led1 = returnCode;
+    }
+    else
+    {
+        printf(" - Could not initialize Ethernet - ending\r\n");
+        return 0;
+    }
+    
+    printf("Ethernet.connecting \r\n");
+    returnCode = eth.connect();
+    printf(" - connecting returned %d \r\n", returnCode);
+    led2 = returnCode != -1 ? 0: 1;
+    printf("Trying to get IP address..\r\n");
+    ip = eth.getIPAddress();
+    led3 = strlen(ip)<4 ? 1: 0;
+    printf("  -  IP address:%s\r\n", ip);
+    
+    float potVal = 0.0;
+    float oldPotVal = -2.0;
+    
+    while(1) {
+    
+        potVal = pot1.read();
+        
+        if ( abs(potVal - oldPotVal) < DEADBAND)
+        {
+            continue;   
+        }
+        else
+        {
+            led4 = 1;
+            oldPotVal = potVal;
+            printf("Sending Value  %.2f\n\r", potVal);
+            sock.connect("dev6-connect.axeda.com", 52689);
+ 
+            sprintf(http_cmd,  "POST /axeda/data/%s!%s HTTP/1.1\r\nContent-Type: application/vnd.m2m.msgbuf-v1+json\r\nContent-Length: 49\r\n\r\n{\"data\":[{\"items\":{\"bar\":\"camp\",\"pot1\":%.2f}}]}\r\n\r\n", MODEL, SERIAL_NUM,potVal);
+            sock.send_all(http_cmd, sizeof(http_cmd)-1);
+    
+            while ( (returnCode = sock.receive(buffer, sizeof(buffer)-1)) > 0)
+            {
+                buffer[returnCode] = '\0';
+                printf("Received %d chars from server:\n\r%s\n", returnCode, buffer);
+            }
+            led4 = returnCode;
+            sock.close();
+        }
+ 
+    }
+ 
+}