1
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPEchoServer by
main.cpp
00001 // TAK Server 00002 00003 #include "mbed.h" 00004 #include "EthernetInterface.h" 00005 00006 #define SERVER_PORT 23 00007 00008 DigitalOut myled1(LED1); 00009 DigitalOut myled2(LED2); 00010 DigitalOut myled3(LED3); 00011 DigitalOut myled4(LED4); 00012 DigitalOut RelayLED(p5); 00013 DigitalOut RelayPUMP(p6); 00014 00015 int main (void) { 00016 EthernetInterface eth; 00017 //eth.init(); //Use DHCP 00018 static const char* mbedIp = "192.168.0.102"; //IP 00019 static const char* mbedMask = "255.255.255.0"; // Mask 00020 static const char* mbedGateway = "192.168.0.1"; //Gateway 00021 eth.init(mbedIp,mbedMask,mbedGateway); //Use these parameters for static IP 00022 eth.connect(); 00023 printf("\nServer IP Address is %s\n", eth.getIPAddress()); 00024 00025 TCPSocketServer server; 00026 server.bind(SERVER_PORT); 00027 server.listen(); 00028 00029 while (true) { 00030 printf("\nWait for new connection...\n"); 00031 TCPSocketConnection client; 00032 server.accept(client); 00033 client.set_blocking(false, 15000); // Timeout after (15)s 00034 00035 printf("Connection from: %s\n", client.get_address()); 00036 char buffer[256]; 00037 while (true) { 00038 int n = client.receive(buffer, sizeof(buffer)); 00039 if (n <= 0) break; 00040 // print received message to terminal 00041 buffer[n] = '\0'; 00042 printf("Received message from Client :'%s'\n",buffer); 00043 00044 // reverse the message 00045 char temp; 00046 for(int f = 0, l = n-1; f<l; f++,l--){ 00047 temp = buffer[f]; 00048 if(temp=='1') 00049 { 00050 myled1 = 1; 00051 myled2 = 1; 00052 myled3 = 1; 00053 myled4 = 1; 00054 } 00055 if(temp=='0') 00056 { 00057 myled1 = 0; 00058 myled2 = 0; 00059 myled3 = 0; 00060 myled4 = 0; 00061 } 00062 if(temp=='5') 00063 { 00064 RelayLED = !RelayLED; 00065 } 00066 if(temp=='6') 00067 { 00068 RelayPUMP = !RelayPUMP; 00069 } 00070 buffer[f] = buffer[l]; 00071 buffer[l] = temp; 00072 } 00073 00074 // print reversed message to terminal 00075 printf("Sending message to Client: '%s'\n",buffer); 00076 00077 // Echo received message back to client 00078 client.send_all(buffer, n); 00079 if (n <= 0) break; 00080 } 00081 00082 client.close(); 00083 } 00084 } 00085
Generated on Fri Jul 15 2022 05:43:48 by 1.7.2