AxedaGo Example for WizFi250 with WIZwiki-W7500
Dependencies: WizFi250Interface mbed-src
main.cpp@0:d7b297fc507b, 2015-06-24 (annotated)
- 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?
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 | 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 | } |