AxedaGo Example for WizFi250 with WIZwiki-W7500

Dependencies:   WizFi250Interface mbed-src

Committer:
kaizen
Date:
Thu Jul 30 04:37:15 2015 +0000
Revision:
2:f99c99c1970c
Parent:
1:566f9356d41c
revert mbed-src to official version

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 1:566f9356d41c 6 #define SSID "ssid"
kaizen 1:566f9356d41c 7 #define PASS "key"
kaizen 1:566f9356d41c 8
kaizen 0:d7b297fc507b 9
kaizen 1:566f9356d41c 10 #if defined(TARGET_WIZwiki_W7500)
kaizen 1:566f9356d41c 11 WizFi250Interface wizfi250(D1,D0,D7,D8,PA_12,NC,115200);
kaizen 1:566f9356d41c 12 Serial pc(USBTX,USBRX);
kaizen 1:566f9356d41c 13 #endif
kaizen 0:d7b297fc507b 14
kaizen 0:d7b297fc507b 15 AnalogIn pot1(A0);
kaizen 0:d7b297fc507b 16 TCPSocketConnection sock;
kaizen 0:d7b297fc507b 17
kaizen 0:d7b297fc507b 18 DigitalOut led1(LED1);
kaizen 0:d7b297fc507b 19 DigitalOut led2(LED2);
kaizen 0:d7b297fc507b 20 DigitalOut led3(LED3);
kaizen 0:d7b297fc507b 21 DigitalOut led4(LED4);
kaizen 0:d7b297fc507b 22
kaizen 0:d7b297fc507b 23 int main()
kaizen 0:d7b297fc507b 24 {
kaizen 0:d7b297fc507b 25 char *MODEL = "mbed";
kaizen 1:566f9356d41c 26 char *SERIAL_NUM = "serial number";
kaizen 0:d7b297fc507b 27 float DEADBAND = 0.03;
kaizen 0:d7b297fc507b 28
kaizen 0:d7b297fc507b 29 int http_cmd_sz=800;
kaizen 0:d7b297fc507b 30 char http_cmd[http_cmd_sz];
kaizen 0:d7b297fc507b 31 int buffer_sz=300;
kaizen 0:d7b297fc507b 32 char buffer[buffer_sz];
kaizen 0:d7b297fc507b 33 int returnCode = 0;
kaizen 0:d7b297fc507b 34
kaizen 0:d7b297fc507b 35 led1 = 1;
kaizen 0:d7b297fc507b 36 led2 = 1;
kaizen 0:d7b297fc507b 37 led3 = 1;
kaizen 0:d7b297fc507b 38 led4 = 1;
kaizen 0:d7b297fc507b 39
kaizen 1:566f9356d41c 40 pc.baud(115200);
kaizen 1:566f9356d41c 41
kaizen 0:d7b297fc507b 42 wizfi250.init();
kaizen 0:d7b297fc507b 43 returnCode = wizfi250.connect(SECURE, SSID, PASS);
kaizen 0:d7b297fc507b 44
kaizen 0:d7b297fc507b 45 if ( returnCode == 0 )
kaizen 0:d7b297fc507b 46 {
kaizen 0:d7b297fc507b 47 printf(" - WiFi Ready\r\n");
kaizen 0:d7b297fc507b 48 printf("IP Address is %s\r\n", wizfi250.getIPAddress());
kaizen 0:d7b297fc507b 49 led1 = returnCode;
kaizen 0:d7b297fc507b 50 }
kaizen 0:d7b297fc507b 51 else
kaizen 0:d7b297fc507b 52 {
kaizen 0:d7b297fc507b 53 printf(" - Could not initialize WiFi - ending\r\n");
kaizen 0:d7b297fc507b 54 return 0;
kaizen 0:d7b297fc507b 55 }
kaizen 0:d7b297fc507b 56
kaizen 0:d7b297fc507b 57 float oil_level = 0.0;
kaizen 0:d7b297fc507b 58 float oldPotVal = -2.0;
kaizen 0:d7b297fc507b 59
kaizen 0:d7b297fc507b 60 while(1) {
kaizen 0:d7b297fc507b 61 oil_level = pot1.read();
kaizen 0:d7b297fc507b 62
kaizen 0:d7b297fc507b 63 if ( abs(oil_level - oldPotVal) < DEADBAND)
kaizen 0:d7b297fc507b 64 {
kaizen 0:d7b297fc507b 65 continue;
kaizen 0:d7b297fc507b 66 }
kaizen 0:d7b297fc507b 67 else
kaizen 0:d7b297fc507b 68 {
kaizen 0:d7b297fc507b 69 oldPotVal = oil_level;
kaizen 0:d7b297fc507b 70 printf("Sending Value for well1 %.2f\n\r", oil_level);
kaizen 0:d7b297fc507b 71 sock.connect("toolbox-connect.axeda.com", 80);
kaizen 0:d7b297fc507b 72
kaizen 0:d7b297fc507b 73 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 74 sock.send_all(http_cmd, http_cmd_sz-1);
kaizen 0:d7b297fc507b 75
kaizen 0:d7b297fc507b 76 while ( (returnCode = sock.receive(buffer, buffer_sz-1)) > 0)
kaizen 0:d7b297fc507b 77 {
kaizen 0:d7b297fc507b 78 buffer[returnCode] = '\0';
kaizen 0:d7b297fc507b 79 printf("Received %d chars from server:\n\r%s\n", returnCode, buffer);
kaizen 0:d7b297fc507b 80 }
kaizen 0:d7b297fc507b 81
kaizen 0:d7b297fc507b 82 sock.close();
kaizen 0:d7b297fc507b 83 }
kaizen 0:d7b297fc507b 84 }
kaizen 0:d7b297fc507b 85 }