Axeda AMMMP sample code for the mbed NXP LPC1768 Prototyping Board
Dependencies: EthernetInterface mbed-rtos mbed
Dependents: AxedaGo-mbed_WIZnetInterface
main.cpp
- Committer:
- AxedaCorp
- Date:
- 2013-10-09
- Revision:
- 0:ab4e84579da0
- Child:
- 1:16dd56f0f6c7
File content as of revision 0:ab4e84579da0:
#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(); } } }