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 #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