Arthur Coupe / Mbed OS tcp-server

Dependencies:   C12832 LM75B

Committer:
jens_c
Date:
Fri Nov 06 13:20:24 2020 +0000
Revision:
2:1632f52f0f40
Parent:
1:b658dfbe2a7c
tcp-server

Who changed what in which revision?

UserRevisionLine numberNew contents of line
deepikabhavnani 0:ddb5698aa782 1 #include "mbed.h"
deepikabhavnani 0:ddb5698aa782 2 #include "EthernetInterface.h"
jens_c 2:1632f52f0f40 3 #include "LM75B.h"
jens_c 2:1632f52f0f40 4 #include "C12832.h"
pcordemans 1:b658dfbe2a7c 5
jens_c 2:1632f52f0f40 6 C12832 lcd(D11, D13, D12, D7, D10);
pcordemans 1:b658dfbe2a7c 7 DigitalOut led(LED1);
deepikabhavnani 0:ddb5698aa782 8
deepikabhavnani 0:ddb5698aa782 9 int main()
deepikabhavnani 0:ddb5698aa782 10 {
pcordemans 1:b658dfbe2a7c 11 printf("Server example\n\r");
deepikabhavnani 0:ddb5698aa782 12
deepikabhavnani 0:ddb5698aa782 13 EthernetInterface eth;
jens_c 2:1632f52f0f40 14 eth.set_network("192.168.0.19","255.255.255.0","192.168.0.1");
deepikabhavnani 0:ddb5698aa782 15 eth.connect();
deepikabhavnani 0:ddb5698aa782 16
pcordemans 1:b658dfbe2a7c 17 printf("The Server IP address is '%s'\n\r", eth.get_ip_address());
pcordemans 1:b658dfbe2a7c 18
pcordemans 1:b658dfbe2a7c 19 TCPServer srv(&eth);
deepikabhavnani 0:ddb5698aa782 20
pcordemans 1:b658dfbe2a7c 21 srv.bind(4000);
deepikabhavnani 0:ddb5698aa782 22
pcordemans 1:b658dfbe2a7c 23 srv.listen();
deepikabhavnani 0:ddb5698aa782 24
pcordemans 1:b658dfbe2a7c 25 while(true){
pcordemans 1:b658dfbe2a7c 26 TCPSocket client;
pcordemans 1:b658dfbe2a7c 27 SocketAddress client_addr;
pcordemans 1:b658dfbe2a7c 28 char *buffer = "Hello TCP client!\r\n";
pcordemans 1:b658dfbe2a7c 29
pcordemans 1:b658dfbe2a7c 30 srv.accept(&client, &client_addr);
pcordemans 1:b658dfbe2a7c 31
pcordemans 1:b658dfbe2a7c 32 printf("Accepted %s:%d\n\r", client_addr.get_ip_address(),
deepikabhavnani 0:ddb5698aa782 33 client_addr.get_port());
pcordemans 1:b658dfbe2a7c 34
pcordemans 1:b658dfbe2a7c 35 client.send(buffer, 256);
jens_c 2:1632f52f0f40 36
jens_c 2:1632f52f0f40 37 char data[3];
jens_c 2:1632f52f0f40 38 client.recv(data, sizeof data);
jens_c 2:1632f52f0f40 39 float temp = float(((data[0]<<8)|data[1]) / 256.0);
jens_c 2:1632f52f0f40 40 int pwm = (int)data[2];
jens_c 2:1632f52f0f40 41 printf("The temperature is: %f\r\n", temp);
jens_c 2:1632f52f0f40 42 printf("The PWM value is: %x\r\n", data[2]);
jens_c 2:1632f52f0f40 43
jens_c 2:1632f52f0f40 44 lcd.cls();
jens_c 2:1632f52f0f40 45 lcd.locate(0,3);
jens_c 2:1632f52f0f40 46 lcd.printf("Temp = %.1f\n", temp);
deepikabhavnani 0:ddb5698aa782 47
pcordemans 1:b658dfbe2a7c 48 client.close();
pcordemans 1:b658dfbe2a7c 49
pcordemans 1:b658dfbe2a7c 50 }
deepikabhavnani 0:ddb5698aa782 51 }