ported Axeda app. to mbed LPC1114FN28 with WIZ550io
Dependencies: W5500Interface mbed
Fork of AxedaGo-mbedNXP by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #if defined(TARGET_LPC1114) 00005 SPI spi(dp2, dp1, dp6); // mosi, miso, sclk 00006 EthernetInterface eth(&spi, dp25, dp26); // spi, cs, reset 00007 AnalogIn pot1(dp13); 00008 #else 00009 EthernetInterface eth; 00010 AnalogIn pot1(p19); 00011 AnalogIn pot2(p20); 00012 #endif 00013 00014 #if defined(TARGET_LPC1768) 00015 DigitalOut led1(LED1); 00016 DigitalOut led2(LED2); 00017 DigitalOut led3(LED3); 00018 DigitalOut led4(LED4); 00019 #endif 00020 00021 TCPSocketConnection sock; 00022 00023 int main() 00024 { 00025 char *MODEL = "mbed"; 00026 char *SERIAL_NUM = "nlr__embeddist_gmail_com___343881"; 00027 float DEADBAND = 0.015; 00028 00029 char* ip; 00030 00031 int http_cmd_sz=800; 00032 char http_cmd[http_cmd_sz]; 00033 int buffer_sz=300; 00034 char buffer[buffer_sz]; 00035 int returnCode = 0; 00036 00037 #if defined(TARGET_LPC1768) 00038 led1 = 1; 00039 led2 = 1; 00040 led3 = 1; 00041 led4 = 1; 00042 #endif 00043 00044 printf("initializing Ethernet\r\n"); 00045 returnCode = eth.init(); //Use DHCP 00046 00047 if ( returnCode == 0 ) 00048 { 00049 printf(" - Ethernet ready\r\n"); 00050 #if defined(TARGET_LPC1768) 00051 led1 = returnCode; 00052 #endif 00053 } 00054 else 00055 { 00056 printf(" - Could not initialize Ethernet - ending\r\n"); 00057 return 0; 00058 } 00059 00060 printf("Ethernet.connecting \r\n"); 00061 returnCode = eth.connect(); 00062 printf(" - connecting returned %d \r\n", returnCode); 00063 #if defined(TARGET_LPC1768) 00064 led2 = returnCode != -1 ? 0: 1; 00065 #endif 00066 printf("Trying to get IP address..\r\n"); 00067 ip = eth.getIPAddress(); 00068 #if defined(TARGET_LPC1768) 00069 led3 = strlen(ip)<4 ? 1: 0; 00070 #endif 00071 printf(" - IP address:%s\r\n", ip); 00072 00073 float oil_level = 0.0; 00074 float oil_level2= 0.0; 00075 float oldPotVal = -2.0; 00076 float oldPotVal2 = -2.0; 00077 00078 while(1) { 00079 00080 oil_level = pot1.read(); 00081 #if defined(TARGET_LPC1768) 00082 oil_level2=pot2.read(); 00083 #endif 00084 //if ( abs(oil_level - oldPotVal) < DEADBAND && abs(oil_level2 - oldPotVal2) < DEADBAND) //LPC1768 00085 if ( abs(oil_level - oldPotVal) < DEADBAND) //LPC1114 00086 { 00087 continue; 00088 } 00089 else 00090 { 00091 //led4 = 1; 00092 oldPotVal = oil_level; 00093 #if defined(TARGET_LPC1768) 00094 oldPotVal2 = oil_level2; 00095 #endif 00096 printf("Sending Value for well1 %.2f\n\r", oil_level); 00097 #if defined(TARGET_LPC1768) 00098 printf("Sending Value for well2 %.2f\n\r", oil_level2); 00099 #endif 00100 sock.connect("toolbox-connect.axeda.com", 80); 00101 00102 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, \"oil_level2\":%.2f}}]}\r\n\r\n", MODEL, SERIAL_NUM, oil_level, oil_level2); 00103 sock.send_all(http_cmd, http_cmd_sz-1); 00104 00105 while ( (returnCode = sock.receive(buffer, buffer_sz-1)) > 0) 00106 { 00107 buffer[returnCode] = '\0'; 00108 printf("Received %d chars from server:\n\r%s\n", returnCode, buffer); 00109 } 00110 //led4 = returnCode; 00111 sock.close(); 00112 } 00113 00114 } 00115 00116 }
Generated on Sat Jul 16 2022 22:52:52 by 1.7.2