AxedaGo Example for WizFi250 with WIZwiki-W7500
Dependencies: WizFi250Interface mbed-src
main.cpp@2:f99c99c1970c, 2015-07-30 (annotated)
- 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?
User | Revision | Line number | New 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 | } |