ETH_SD_JPG

Dependencies:   DS1820 SDFileSystem SLCD WIZnet_Library mbed

Committer:
slawcio
Date:
Thu Oct 16 09:43:03 2014 +0000
Revision:
1:cbd681a86f90
Parent:
0:d02fb9a8c1ae
WEB SERVER KL46Z W5100, SD, DS18B20, SLCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
slawcio 0:d02fb9a8c1ae 1 //w5100
slawcio 0:d02fb9a8c1ae 2 #include "main.h"
slawcio 0:d02fb9a8c1ae 3
slawcio 0:d02fb9a8c1ae 4 //Serial pc(USBTX, USBRX); // tx, rx
slawcio 0:d02fb9a8c1ae 5 void baud (int baudrate = 115200);
slawcio 0:d02fb9a8c1ae 6
slawcio 0:d02fb9a8c1ae 7 char wartosc[20];
slawcio 0:d02fb9a8c1ae 8 float temperatura;
slawcio 0:d02fb9a8c1ae 9
slawcio 0:d02fb9a8c1ae 10 int x;
slawcio 0:d02fb9a8c1ae 11
slawcio 0:d02fb9a8c1ae 12 //******************
slawcio 0:d02fb9a8c1ae 13
slawcio 0:d02fb9a8c1ae 14 void f_ethernet_init(void);
slawcio 0:d02fb9a8c1ae 15
slawcio 0:d02fb9a8c1ae 16 const char * IP_Addr = "10.192.144.204";
slawcio 0:d02fb9a8c1ae 17 const char * IP_Subnet = "255.255.252.0";
slawcio 0:d02fb9a8c1ae 18 const char * IP_Gateway = "10.192.147.254";
slawcio 0:d02fb9a8c1ae 19
slawcio 0:d02fb9a8c1ae 20
slawcio 0:d02fb9a8c1ae 21
slawcio 0:d02fb9a8c1ae 22 int ret,dummy;
slawcio 0:d02fb9a8c1ae 23 int lv=1;
slawcio 0:d02fb9a8c1ae 24 bool status;
slawcio 0:d02fb9a8c1ae 25
slawcio 0:d02fb9a8c1ae 26 int sw11;
slawcio 0:d02fb9a8c1ae 27 int sw33;
slawcio 0:d02fb9a8c1ae 28
slawcio 0:d02fb9a8c1ae 29
slawcio 0:d02fb9a8c1ae 30
slawcio 0:d02fb9a8c1ae 31
slawcio 0:d02fb9a8c1ae 32
slawcio 0:d02fb9a8c1ae 33 //================= main =======================================================================
slawcio 0:d02fb9a8c1ae 34
slawcio 0:d02fb9a8c1ae 35 int main()
slawcio 0:d02fb9a8c1ae 36 {
slawcio 0:d02fb9a8c1ae 37 pc.baud(BAUD);
slawcio 0:d02fb9a8c1ae 38 f_ethernet_init();
slawcio 0:d02fb9a8c1ae 39 TCPSocketServer server;
slawcio 0:d02fb9a8c1ae 40 TCPSocketConnection client;
slawcio 0:d02fb9a8c1ae 41 server.bind(ECHO_SERVER_PORT);
slawcio 0:d02fb9a8c1ae 42 server.listen();
slawcio 0:d02fb9a8c1ae 43
slawcio 0:d02fb9a8c1ae 44
slawcio 0:d02fb9a8c1ae 45
slawcio 0:d02fb9a8c1ae 46 odczyt_z_SD(client, 2); //2 wyslij na com zawartosc karty SD
slawcio 0:d02fb9a8c1ae 47 temperatura_f();
slawcio 0:d02fb9a8c1ae 48 pc.printf("\nEsperando conexion con cliente...\n");
slawcio 0:d02fb9a8c1ae 49
slawcio 0:d02fb9a8c1ae 50 while(lv)
slawcio 0:d02fb9a8c1ae 51 {
slawcio 0:d02fb9a8c1ae 52 lv=server.accept(client);
slawcio 0:d02fb9a8c1ae 53 if(!lv)
slawcio 0:d02fb9a8c1ae 54 {
slawcio 0:d02fb9a8c1ae 55 pc.printf("Cliente conectado: %s\n", client.get_address());
slawcio 0:d02fb9a8c1ae 56 }
slawcio 0:d02fb9a8c1ae 57 else
slawcio 0:d02fb9a8c1ae 58 {
slawcio 0:d02fb9a8c1ae 59 wait(1);
slawcio 0:d02fb9a8c1ae 60 }
slawcio 0:d02fb9a8c1ae 61 }
slawcio 0:d02fb9a8c1ae 62 client.receive(data,sizeof(data));
slawcio 0:d02fb9a8c1ae 63 // pc.printf("Adres: %c",data);
slawcio 0:d02fb9a8c1ae 64
slawcio 0:d02fb9a8c1ae 65
slawcio 0:d02fb9a8c1ae 66 while(1)
slawcio 0:d02fb9a8c1ae 67 {
slawcio 0:d02fb9a8c1ae 68 sw11=myled;
slawcio 0:d02fb9a8c1ae 69 sw33=myled2;
slawcio 0:d02fb9a8c1ae 70 probe[0]->convertTemperature(true, DS1820::all_devices);
slawcio 0:d02fb9a8c1ae 71 slcd.Home();
slawcio 0:d02fb9a8c1ae 72 slcd.printf("%3.1f",probe[0]->temperature());
slawcio 0:d02fb9a8c1ae 73 pc.printf("\n\rTemperatura: %3.2f\r\n",probe[0]->temperature() );
slawcio 0:d02fb9a8c1ae 74
slawcio 0:d02fb9a8c1ae 75 data_all[0]=0;
slawcio 0:d02fb9a8c1ae 76 while(1)
slawcio 0:d02fb9a8c1ae 77 {
slawcio 0:d02fb9a8c1ae 78 data_rozmiar2=client.receive(data_all,data_rozmiar);
slawcio 0:d02fb9a8c1ae 79 pc.printf("\n\r Zmienna\n\r %s",data_all); // wysyła dane na com
slawcio 0:d02fb9a8c1ae 80
slawcio 0:d02fb9a8c1ae 81 if (data_rozmiar2<data_rozmiar)
slawcio 0:d02fb9a8c1ae 82 {
slawcio 0:d02fb9a8c1ae 83 data_all[data_rozmiar2]=0;
slawcio 0:d02fb9a8c1ae 84 break;
slawcio 0:d02fb9a8c1ae 85 }
slawcio 0:d02fb9a8c1ae 86 }
slawcio 0:d02fb9a8c1ae 87 diody(); // funkcja do sterowania diodami
slawcio 0:d02fb9a8c1ae 88
slawcio 0:d02fb9a8c1ae 89 //fotka(client,1); // wczytuje zdjecie i wysyła na ETH, na końcu czyszci tablice
slawcio 0:d02fb9a8c1ae 90
slawcio 0:d02fb9a8c1ae 91 client.send(a,sizeof(a)); //nagłowek htm
slawcio 0:d02fb9a8c1ae 92 client.send(b,sizeof(b));
slawcio 0:d02fb9a8c1ae 93 sprintf(paq_en,"<center><table border=10><tr><td><h1>%3.2f oC</h1></td></tr></table></center>",probe[0]->temperature());
slawcio 0:d02fb9a8c1ae 94 client.send(paq_en,sizeof(paq_en));
slawcio 0:d02fb9a8c1ae 95 sprintf(paq_en,"<center><table border=10><tr><td><h1>P1:[%d]____P2:[%i]</h1></td></tr></table></center>",sw33,sw11);
slawcio 0:d02fb9a8c1ae 96 client.send(paq_en,sizeof(paq_en));
slawcio 0:d02fb9a8c1ae 97
slawcio 0:d02fb9a8c1ae 98 odczyt_z_SD(client, 1); //1 wysyła na ETH, 2 wysyła na COM, 3 wysyła na ETH i COM
slawcio 0:d02fb9a8c1ae 99 client.send(t,sizeof(t));
slawcio 0:d02fb9a8c1ae 100
slawcio 0:d02fb9a8c1ae 101 client.Socket::~Socket();
slawcio 0:d02fb9a8c1ae 102 server.bind(ECHO_SERVER_PORT);
slawcio 0:d02fb9a8c1ae 103 server.listen();
slawcio 0:d02fb9a8c1ae 104 server.accept(client);
slawcio 0:d02fb9a8c1ae 105 }
slawcio 0:d02fb9a8c1ae 106 }
slawcio 0:d02fb9a8c1ae 107
slawcio 0:d02fb9a8c1ae 108
slawcio 0:d02fb9a8c1ae 109
slawcio 0:d02fb9a8c1ae 110 void f_ethernet_init()
slawcio 0:d02fb9a8c1ae 111 {
slawcio 0:d02fb9a8c1ae 112 uint8_t mac[]={0x00,0x08,0x0C,0x1C,0xAA,0xCA};
slawcio 0:d02fb9a8c1ae 113 // mbed_mac_address((char *)mac);
slawcio 0:d02fb9a8c1ae 114 pc.printf("\tIniciando Servidor Ethernet...\n\r");
slawcio 0:d02fb9a8c1ae 115 wait(1);
slawcio 0:d02fb9a8c1ae 116 ret = eth.init(mac, IP_Addr, IP_Subnet, IP_Gateway);
slawcio 0:d02fb9a8c1ae 117 if(!ret)
slawcio 0:d02fb9a8c1ae 118 {
slawcio 0:d02fb9a8c1ae 119 pc.printf("Inicializado, MAC= %s\n\r",eth.getMACAddress());
slawcio 0:d02fb9a8c1ae 120 }
slawcio 0:d02fb9a8c1ae 121 else
slawcio 0:d02fb9a8c1ae 122 {
slawcio 0:d02fb9a8c1ae 123 pc.printf("Fallo comunicacion... Reinicie dispositivos...\n\r");
slawcio 0:d02fb9a8c1ae 124 }
slawcio 0:d02fb9a8c1ae 125 pc.printf("Conectando.");
slawcio 0:d02fb9a8c1ae 126 wait(0.5);
slawcio 0:d02fb9a8c1ae 127 pc.printf(".");
slawcio 0:d02fb9a8c1ae 128 wait(0.5);
slawcio 0:d02fb9a8c1ae 129 pc.printf(".\n\r");
slawcio 0:d02fb9a8c1ae 130 wait(0.5);
slawcio 0:d02fb9a8c1ae 131 ret = eth.connect();
slawcio 0:d02fb9a8c1ae 132 if(!ret)
slawcio 0:d02fb9a8c1ae 133 {
slawcio 0:d02fb9a8c1ae 134 pc.printf("Conexion Establecida!\n\n\r");
slawcio 0:d02fb9a8c1ae 135 wait(1);
slawcio 0:d02fb9a8c1ae 136 pc.printf("IP=%s\n\rMASK=%s\n\rGW=%s\n\r",eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
slawcio 0:d02fb9a8c1ae 137 }
slawcio 0:d02fb9a8c1ae 138 else
slawcio 0:d02fb9a8c1ae 139 {
slawcio 0:d02fb9a8c1ae 140 pc.printf("Fallo conexion... Reinicie dispositivos...\n\r");
slawcio 0:d02fb9a8c1ae 141 }
slawcio 0:d02fb9a8c1ae 142 }
slawcio 0:d02fb9a8c1ae 143