ETH_SD_JPG
Dependencies: DS1820 SDFileSystem SLCD WIZnet_Library mbed
main.h@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 | #include "mbed.h" |
slawcio | 0:d02fb9a8c1ae | 2 | #include "WIZnetInterface.h" |
slawcio | 0:d02fb9a8c1ae | 3 | #define ECHO_SERVER_PORT 80 |
slawcio | 0:d02fb9a8c1ae | 4 | |
slawcio | 0:d02fb9a8c1ae | 5 | |
slawcio | 0:d02fb9a8c1ae | 6 | //****************** |
slawcio | 0:d02fb9a8c1ae | 7 | #define MULTIPLE_PROBES |
slawcio | 0:d02fb9a8c1ae | 8 | #define DATA_PIN PTC10 //1wire |
slawcio | 0:d02fb9a8c1ae | 9 | |
slawcio | 0:d02fb9a8c1ae | 10 | |
slawcio | 0:d02fb9a8c1ae | 11 | |
slawcio | 0:d02fb9a8c1ae | 12 | #include "SerialBase.h" |
slawcio | 0:d02fb9a8c1ae | 13 | #include "mbed.h" |
slawcio | 0:d02fb9a8c1ae | 14 | #include "DS1820.h" |
slawcio | 0:d02fb9a8c1ae | 15 | #include "SLCD.h" |
slawcio | 0:d02fb9a8c1ae | 16 | #include "Serial.h" |
slawcio | 0:d02fb9a8c1ae | 17 | #define MAX_PROBES 64 |
slawcio | 0:d02fb9a8c1ae | 18 | #define BAUD (115200) |
slawcio | 0:d02fb9a8c1ae | 19 | #include "SDFileSystem.h" |
slawcio | 0:d02fb9a8c1ae | 20 | |
slawcio | 0:d02fb9a8c1ae | 21 | char zp; |
slawcio | 0:d02fb9a8c1ae | 22 | char zpp[1001]; |
slawcio | 0:d02fb9a8c1ae | 23 | int tt; |
slawcio | 0:d02fb9a8c1ae | 24 | //int ustaw; |
slawcio | 0:d02fb9a8c1ae | 25 | char data[8]; |
slawcio | 0:d02fb9a8c1ae | 26 | char data_all[600]; //="komarowski"; |
slawcio | 0:d02fb9a8c1ae | 27 | int data_rozmiar=599; |
slawcio | 0:d02fb9a8c1ae | 28 | int data_rozmiar2=599; |
slawcio | 0:d02fb9a8c1ae | 29 | int lenght; |
slawcio | 0:d02fb9a8c1ae | 30 | char zzpp[1001]; |
slawcio | 0:d02fb9a8c1ae | 31 | |
slawcio | 0:d02fb9a8c1ae | 32 | |
slawcio | 0:d02fb9a8c1ae | 33 | DigitalOut myled(LED1);//PTD5 |
slawcio | 0:d02fb9a8c1ae | 34 | DigitalOut myled2(LED2); //PTE29 |
slawcio | 0:d02fb9a8c1ae | 35 | DigitalOut SD_SEL(PTA12); |
slawcio | 0:d02fb9a8c1ae | 36 | |
slawcio | 0:d02fb9a8c1ae | 37 | DigitalIn sw1(PTC3); //if(sw1) Release else Press |
slawcio | 0:d02fb9a8c1ae | 38 | DigitalIn sw3(PTC12); //while(sw3); wait for Press |
slawcio | 0:d02fb9a8c1ae | 39 | //DigitalIn sw4(PTD5);//dioda czerwona |
slawcio | 0:d02fb9a8c1ae | 40 | //DigitalIn sw5(PTE29);//dioda czerwona |
slawcio | 0:d02fb9a8c1ae | 41 | |
slawcio | 0:d02fb9a8c1ae | 42 | SLCD slcd; |
slawcio | 0:d02fb9a8c1ae | 43 | DS1820* probe[MAX_PROBES]; |
slawcio | 0:d02fb9a8c1ae | 44 | |
slawcio | 0:d02fb9a8c1ae | 45 | |
slawcio | 0:d02fb9a8c1ae | 46 | SPI spi(PTD6, PTD7, PTD5); // mosi, miso, sclk |
slawcio | 0:d02fb9a8c1ae | 47 | WIZnetInterface eth(&spi, PTD4, PTA20); // spi, cs, reset |
slawcio | 0:d02fb9a8c1ae | 48 | SDFileSystem sd(PTD6, PTD7, PTD5, PTA4, "sd"); // MOSI, MISO, SCLK, SSEL |
slawcio | 0:d02fb9a8c1ae | 49 | |
slawcio | 0:d02fb9a8c1ae | 50 | Serial pc(PTA2,PTA1); |
slawcio | 0:d02fb9a8c1ae | 51 | DigitalOut led(PTB0); |
slawcio | 0:d02fb9a8c1ae | 52 | |
slawcio | 0:d02fb9a8c1ae | 53 | char a[]={"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 54 | char aa[]={"HTTP/1.0 200 OK\r\nContent-Type: image/jpeg\r\nPragma: no-cache\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 55 | //char aa[]={"HTTP/1.0 200 OK\r\nContent-Type: image/jpg\r\nPragma: no-cache\r\n\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 56 | char b[]={"<html>\r\n<body>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 57 | char bb[]={"<html>\r\n<body>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 58 | //char ab[]={"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 59 | //char b[]={"<meta http-equiv=refresh content=1>"}; |
slawcio | 0:d02fb9a8c1ae | 60 | //char b[]={"<html>\r\n<body>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 61 | char c[]={"<body bgcolor=\"green\">"}; |
slawcio | 0:d02fb9a8c1ae | 62 | char c1[]={"<body bgcolor=\"000ff0\"></body>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 63 | char d[]={"<H2>Test W5100 i DS18b20</H2>"}; |
slawcio | 0:d02fb9a8c1ae | 64 | char e[]={"<form action=\"http://10.192.144.204/d\"><input type=\"submit\" value=\"Wylacz LED2\" /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 65 | char f[]={""}; |
slawcio | 0:d02fb9a8c1ae | 66 | char g[]={"<form action=\"http://10.192.144.204/c\"><input type=\"submit\" value=\"Wlacz LED 2\" /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 67 | char h[]={"<H1>__________</H1>"}; |
slawcio | 0:d02fb9a8c1ae | 68 | char i[]={"<form action=\"http://10.192.144.204/bb\"><input type=\"submit\" value=\"Wylacz LED1\" /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 69 | char j[]={"_"}; |
slawcio | 0:d02fb9a8c1ae | 70 | char k[]={"<form action=\"http://10.192.144.204/aa\"><input type=\"submit\" value=\"Wlacz LED1\" /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 71 | char l[]={"<form action=http://10.192.144.204 method=post onsubmit><input type=text name=tekst /><input type=submit value=OK /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 72 | char m[]={"Temp"}; |
slawcio | 0:d02fb9a8c1ae | 73 | //if (this.tekst2.value == '') { alert('Zanim wyślesz formularz, musisz wypełnić pole tekstem!'); return false }><input type=text name=tekst /><input type=submit value=OK /></form>"}; |
slawcio | 0:d02fb9a8c1ae | 74 | //char g[]={"<FONT FACE=\"Arial\" SIZE=\"8\" COLOR=\"FF0000\">"}; |
slawcio | 0:d02fb9a8c1ae | 75 | //char w[]={"<meta http-equiv=\"refresh\" content=\"10; url=/\">\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 76 | //char g[]={"<center><h2>Tutaj jestes -01 :)</h2>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 77 | //char h[]={"<center><div STYLE=\"position:absolute;bgcolor:black; top:100px; left:200px;width:54px\">"}; |
slawcio | 0:d02fb9a8c1ae | 78 | //char i[]={"<center><h2>Tutaj jestes :)</h2>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 79 | //char s[]={"Content-Type: text/html\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 80 | char t[]={"Connection: close\r\n\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 81 | //char u[]={"Refresh content=5\r\n\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 82 | //char u[]={"<meta http-equiv=refresh content=1>"}; |
slawcio | 0:d02fb9a8c1ae | 83 | //char v[]={"<!DOCTYOE HTML>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 84 | //char y[]={"<html>\r\n"}; |
slawcio | 0:d02fb9a8c1ae | 85 | |
slawcio | 0:d02fb9a8c1ae | 86 | |
slawcio | 0:d02fb9a8c1ae | 87 | char paq_en[128]; |
slawcio | 0:d02fb9a8c1ae | 88 | |
slawcio | 0:d02fb9a8c1ae | 89 | |
slawcio | 0:d02fb9a8c1ae | 90 | void temperatura_f() |
slawcio | 0:d02fb9a8c1ae | 91 | { |
slawcio | 0:d02fb9a8c1ae | 92 | |
slawcio | 0:d02fb9a8c1ae | 93 | int num_devices = 0; |
slawcio | 0:d02fb9a8c1ae | 94 | while(DS1820::unassignedProbe(DATA_PIN)) |
slawcio | 0:d02fb9a8c1ae | 95 | { |
slawcio | 0:d02fb9a8c1ae | 96 | probe[num_devices] = new DS1820(DATA_PIN); |
slawcio | 0:d02fb9a8c1ae | 97 | num_devices++; |
slawcio | 0:d02fb9a8c1ae | 98 | if (num_devices == MAX_PROBES) |
slawcio | 0:d02fb9a8c1ae | 99 | break; |
slawcio | 0:d02fb9a8c1ae | 100 | } |
slawcio | 0:d02fb9a8c1ae | 101 | } |
slawcio | 0:d02fb9a8c1ae | 102 | |
slawcio | 0:d02fb9a8c1ae | 103 | |
slawcio | 0:d02fb9a8c1ae | 104 | |
slawcio | 0:d02fb9a8c1ae | 105 | void odczyt_z_SD(TCPSocketConnection client, int ustaw) |
slawcio | 0:d02fb9a8c1ae | 106 | { |
slawcio | 0:d02fb9a8c1ae | 107 | FILE *zw; |
slawcio | 0:d02fb9a8c1ae | 108 | if(strstr(data_all, "zmiana")!=0) |
slawcio | 0:d02fb9a8c1ae | 109 | zw = fopen("/sd/index_old.htm","r"); |
slawcio | 0:d02fb9a8c1ae | 110 | else |
slawcio | 0:d02fb9a8c1ae | 111 | zw = fopen("/sd/index.htm","r"); |
slawcio | 0:d02fb9a8c1ae | 112 | |
slawcio | 0:d02fb9a8c1ae | 113 | if(zw==NULL) |
slawcio | 0:d02fb9a8c1ae | 114 | { |
slawcio | 0:d02fb9a8c1ae | 115 | printf("plik jest pusty, lub nie istnieje"); |
slawcio | 0:d02fb9a8c1ae | 116 | } |
slawcio | 0:d02fb9a8c1ae | 117 | zp=0; |
slawcio | 0:d02fb9a8c1ae | 118 | tt=0; |
slawcio | 0:d02fb9a8c1ae | 119 | |
slawcio | 0:d02fb9a8c1ae | 120 | while(1) // aż napotka pusty znak |
slawcio | 0:d02fb9a8c1ae | 121 | { |
slawcio | 0:d02fb9a8c1ae | 122 | zp=fgetc(zw); // czytanie z pliku |
slawcio | 0:d02fb9a8c1ae | 123 | if(feof(zw))//wychodzi z pętli gdy napotka nie zapisaną komórkę |
slawcio | 0:d02fb9a8c1ae | 124 | break; |
slawcio | 0:d02fb9a8c1ae | 125 | |
slawcio | 0:d02fb9a8c1ae | 126 | zpp[tt]=zp; |
slawcio | 0:d02fb9a8c1ae | 127 | tt++; |
slawcio | 0:d02fb9a8c1ae | 128 | if (tt==1000) |
slawcio | 0:d02fb9a8c1ae | 129 | { |
slawcio | 0:d02fb9a8c1ae | 130 | if (ustaw==1) |
slawcio | 0:d02fb9a8c1ae | 131 | { |
slawcio | 0:d02fb9a8c1ae | 132 | client.send(zpp,1001); |
slawcio | 0:d02fb9a8c1ae | 133 | //zpp[1000]=0; |
slawcio | 0:d02fb9a8c1ae | 134 | // printf("\r\n Wyslal \r\n %s",zpp); |
slawcio | 0:d02fb9a8c1ae | 135 | } |
slawcio | 0:d02fb9a8c1ae | 136 | else if (ustaw==2) |
slawcio | 0:d02fb9a8c1ae | 137 | { |
slawcio | 0:d02fb9a8c1ae | 138 | printf("\r\n Wyslal \r\n %s",zpp); |
slawcio | 0:d02fb9a8c1ae | 139 | } |
slawcio | 0:d02fb9a8c1ae | 140 | |
slawcio | 0:d02fb9a8c1ae | 141 | zpp[0]=0;//zerowanie tablicy |
slawcio | 0:d02fb9a8c1ae | 142 | tt=0; |
slawcio | 0:d02fb9a8c1ae | 143 | } |
slawcio | 0:d02fb9a8c1ae | 144 | } |
slawcio | 0:d02fb9a8c1ae | 145 | |
slawcio | 0:d02fb9a8c1ae | 146 | // tt=0; |
slawcio | 0:d02fb9a8c1ae | 147 | zpp[tt]=0; |
slawcio | 0:d02fb9a8c1ae | 148 | if (ustaw==1) |
slawcio | 0:d02fb9a8c1ae | 149 | { |
slawcio | 0:d02fb9a8c1ae | 150 | client.send(zpp,tt); |
slawcio | 0:d02fb9a8c1ae | 151 | // printf("\n Doslal \r\n %s",zpp); |
slawcio | 0:d02fb9a8c1ae | 152 | } |
slawcio | 0:d02fb9a8c1ae | 153 | else if (ustaw==2) |
slawcio | 0:d02fb9a8c1ae | 154 | { |
slawcio | 0:d02fb9a8c1ae | 155 | |
slawcio | 0:d02fb9a8c1ae | 156 | |
slawcio | 0:d02fb9a8c1ae | 157 | printf("\n Doslal \r\n %s",zpp); |
slawcio | 0:d02fb9a8c1ae | 158 | } |
slawcio | 0:d02fb9a8c1ae | 159 | |
slawcio | 0:d02fb9a8c1ae | 160 | zpp[0]=0;//zerowanie tablicy |
slawcio | 0:d02fb9a8c1ae | 161 | |
slawcio | 0:d02fb9a8c1ae | 162 | fclose(zw); |
slawcio | 0:d02fb9a8c1ae | 163 | |
slawcio | 0:d02fb9a8c1ae | 164 | } |
slawcio | 0:d02fb9a8c1ae | 165 | |
slawcio | 0:d02fb9a8c1ae | 166 | void diody() |
slawcio | 0:d02fb9a8c1ae | 167 | { |
slawcio | 0:d02fb9a8c1ae | 168 | |
slawcio | 0:d02fb9a8c1ae | 169 | //zmiena dla funkcji POST |
slawcio | 0:d02fb9a8c1ae | 170 | printf("%s ",a); |
slawcio | 0:d02fb9a8c1ae | 171 | if (strstr(data_all,"komarowski") !=0) |
slawcio | 0:d02fb9a8c1ae | 172 | { |
slawcio | 0:d02fb9a8c1ae | 173 | myled2=0; |
slawcio | 0:d02fb9a8c1ae | 174 | } |
slawcio | 0:d02fb9a8c1ae | 175 | else if (strstr(data_all,"wotlinski") !=0) |
slawcio | 0:d02fb9a8c1ae | 176 | { |
slawcio | 0:d02fb9a8c1ae | 177 | myled2=1; |
slawcio | 0:d02fb9a8c1ae | 178 | } |
slawcio | 0:d02fb9a8c1ae | 179 | else if (strstr(data_all,"obojski") !=0) |
slawcio | 0:d02fb9a8c1ae | 180 | { |
slawcio | 0:d02fb9a8c1ae | 181 | myled2=!myled2; |
slawcio | 0:d02fb9a8c1ae | 182 | } |
slawcio | 0:d02fb9a8c1ae | 183 | |
slawcio | 0:d02fb9a8c1ae | 184 | //zmienne dla funkcji GET |
slawcio | 0:d02fb9a8c1ae | 185 | |
slawcio | 0:d02fb9a8c1ae | 186 | if (data_all[6]=='a') |
slawcio | 0:d02fb9a8c1ae | 187 | { |
slawcio | 0:d02fb9a8c1ae | 188 | myled=0; |
slawcio | 0:d02fb9a8c1ae | 189 | pc.printf("\r\n Myled=0"); |
slawcio | 0:d02fb9a8c1ae | 190 | } |
slawcio | 0:d02fb9a8c1ae | 191 | else if (data_all[6]=='b') |
slawcio | 0:d02fb9a8c1ae | 192 | { |
slawcio | 0:d02fb9a8c1ae | 193 | myled=1; |
slawcio | 0:d02fb9a8c1ae | 194 | pc.printf("\r\n Myled=1"); |
slawcio | 0:d02fb9a8c1ae | 195 | } |
slawcio | 0:d02fb9a8c1ae | 196 | |
slawcio | 0:d02fb9a8c1ae | 197 | if (data_all[5]=='c') |
slawcio | 0:d02fb9a8c1ae | 198 | { |
slawcio | 0:d02fb9a8c1ae | 199 | myled2=0; |
slawcio | 0:d02fb9a8c1ae | 200 | pc.printf("\r\n Myled2=0"); |
slawcio | 0:d02fb9a8c1ae | 201 | } |
slawcio | 0:d02fb9a8c1ae | 202 | else if (data_all[5]=='d') |
slawcio | 0:d02fb9a8c1ae | 203 | { |
slawcio | 0:d02fb9a8c1ae | 204 | myled2=1; |
slawcio | 0:d02fb9a8c1ae | 205 | pc.printf("\r\n Myled2=1"); |
slawcio | 0:d02fb9a8c1ae | 206 | } |
slawcio | 0:d02fb9a8c1ae | 207 | |
slawcio | 0:d02fb9a8c1ae | 208 | |
slawcio | 0:d02fb9a8c1ae | 209 | } |
slawcio | 0:d02fb9a8c1ae | 210 | |
slawcio | 0:d02fb9a8c1ae | 211 | |
slawcio | 0:d02fb9a8c1ae | 212 | |
slawcio | 0:d02fb9a8c1ae | 213 | //*******załącza i wyłącza diody |