AxedaGo Example for WizFi250 with WIZwiki-W7500

Dependencies:   WizFi250Interface mbed-src

Committer:
kaizen
Date:
Wed Jun 24 06:27:57 2015 +0000
Revision:
0:d7b297fc507b
Child:
1:566f9356d41c
AxedaGo Example for WizFi250 with WIZwiki-W7500

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:d7b297fc507b 1 #include <stdio.h>
kaizen 0:d7b297fc507b 2 #include "mbed.h"
kaizen 0:d7b297fc507b 3 #include "WizFi250Interface.h"
kaizen 0:d7b297fc507b 4
kaizen 0:d7b297fc507b 5 #define SECURE WizFi250::SEC_AUTO
kaizen 0:d7b297fc507b 6 #define SSID "wizohp"
kaizen 0:d7b297fc507b 7 #define PASS "wiznet218"
kaizen 0:d7b297fc507b 8
kaizen 0:d7b297fc507b 9 WizFi250Interface wizfi250(D0,D1,D7,D8,PA_12,NC,115200);
kaizen 0:d7b297fc507b 10
kaizen 0:d7b297fc507b 11 AnalogIn pot1(A0);
kaizen 0:d7b297fc507b 12 TCPSocketConnection sock;
kaizen 0:d7b297fc507b 13
kaizen 0:d7b297fc507b 14 DigitalOut led1(LED1);
kaizen 0:d7b297fc507b 15 DigitalOut led2(LED2);
kaizen 0:d7b297fc507b 16 DigitalOut led3(LED3);
kaizen 0:d7b297fc507b 17 DigitalOut led4(LED4);
kaizen 0:d7b297fc507b 18
kaizen 0:d7b297fc507b 19 int main()
kaizen 0:d7b297fc507b 20 {
kaizen 0:d7b297fc507b 21 S_UART_Init(115200);
kaizen 0:d7b297fc507b 22
kaizen 0:d7b297fc507b 23 char *MODEL = "mbed";
kaizen 0:d7b297fc507b 24 char *SERIAL_NUM = "nlr__kaizen8501_gmail_com___6245114";
kaizen 0:d7b297fc507b 25 float DEADBAND = 0.03;
kaizen 0:d7b297fc507b 26
kaizen 0:d7b297fc507b 27 int http_cmd_sz=800;
kaizen 0:d7b297fc507b 28 char http_cmd[http_cmd_sz];
kaizen 0:d7b297fc507b 29 int buffer_sz=300;
kaizen 0:d7b297fc507b 30 char buffer[buffer_sz];
kaizen 0:d7b297fc507b 31 int returnCode = 0;
kaizen 0:d7b297fc507b 32
kaizen 0:d7b297fc507b 33 led1 = 1;
kaizen 0:d7b297fc507b 34 led2 = 1;
kaizen 0:d7b297fc507b 35 led3 = 1;
kaizen 0:d7b297fc507b 36 led4 = 1;
kaizen 0:d7b297fc507b 37
kaizen 0:d7b297fc507b 38 wizfi250.init();
kaizen 0:d7b297fc507b 39 returnCode = wizfi250.connect(SECURE, SSID, PASS);
kaizen 0:d7b297fc507b 40
kaizen 0:d7b297fc507b 41 if ( returnCode == 0 )
kaizen 0:d7b297fc507b 42 {
kaizen 0:d7b297fc507b 43 printf(" - WiFi Ready\r\n");
kaizen 0:d7b297fc507b 44 printf("IP Address is %s\r\n", wizfi250.getIPAddress());
kaizen 0:d7b297fc507b 45 led1 = returnCode;
kaizen 0:d7b297fc507b 46 }
kaizen 0:d7b297fc507b 47 else
kaizen 0:d7b297fc507b 48 {
kaizen 0:d7b297fc507b 49 printf(" - Could not initialize WiFi - ending\r\n");
kaizen 0:d7b297fc507b 50 return 0;
kaizen 0:d7b297fc507b 51 }
kaizen 0:d7b297fc507b 52
kaizen 0:d7b297fc507b 53 float oil_level = 0.0;
kaizen 0:d7b297fc507b 54 float oldPotVal = -2.0;
kaizen 0:d7b297fc507b 55
kaizen 0:d7b297fc507b 56 while(1) {
kaizen 0:d7b297fc507b 57 oil_level = pot1.read();
kaizen 0:d7b297fc507b 58
kaizen 0:d7b297fc507b 59 if ( abs(oil_level - oldPotVal) < DEADBAND)
kaizen 0:d7b297fc507b 60 {
kaizen 0:d7b297fc507b 61 continue;
kaizen 0:d7b297fc507b 62 }
kaizen 0:d7b297fc507b 63 else
kaizen 0:d7b297fc507b 64 {
kaizen 0:d7b297fc507b 65 oldPotVal = oil_level;
kaizen 0:d7b297fc507b 66 printf("Sending Value for well1 %.2f\n\r", oil_level);
kaizen 0:d7b297fc507b 67 sock.connect("toolbox-connect.axeda.com", 80);
kaizen 0:d7b297fc507b 68
kaizen 0:d7b297fc507b 69 snprintf(http_cmd, http_cmd_sz, "POST /ammp/data/1/%s!%s HTTP/1.1\r\nContent-Type: application/json\r\nContent-Length: 65\r\n\r\n{\"data\":[{\"di\":{\"oil_level\":%.2f}}]}\r\n\r\n", MODEL, SERIAL_NUM, oil_level);
kaizen 0:d7b297fc507b 70 sock.send_all(http_cmd, http_cmd_sz-1);
kaizen 0:d7b297fc507b 71
kaizen 0:d7b297fc507b 72 while ( (returnCode = sock.receive(buffer, buffer_sz-1)) > 0)
kaizen 0:d7b297fc507b 73 {
kaizen 0:d7b297fc507b 74 buffer[returnCode] = '\0';
kaizen 0:d7b297fc507b 75 printf("Received %d chars from server:\n\r%s\n", returnCode, buffer);
kaizen 0:d7b297fc507b 76 }
kaizen 0:d7b297fc507b 77
kaizen 0:d7b297fc507b 78 sock.close();
kaizen 0:d7b297fc507b 79 }
kaizen 0:d7b297fc507b 80 }
kaizen 0:d7b297fc507b 81 }