ETH_SD_JPG
Dependencies: DS1820 SDFileSystem SLCD WIZnet_Library mbed
main.cpp@1:cbd681a86f90, 2014-10-16 (annotated)
- 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?
User | Revision | Line number | New 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 |