WWW serwer SKM
Dependencies: SDFileSystem mbed
Fork of SKM_SERWER_WWW by
main.cpp
- Committer:
- barti19941
- Date:
- 2017-11-13
- Revision:
- 2:8d5a84fcf90c
- Parent:
- 1:623f51ea713b
- Child:
- 3:c05bbec8d96b
File content as of revision 2:8d5a84fcf90c:
#include "mbed.h" #include "EthernetInterface.h" #include "SDFileSystem.h" #include <string.h> #include <stdio.h> #define PORT 80 const char *ip = "192.168.3.2"; const char *mask = "255.255.255.0"; const char *gateway = "192.168.3.2"; Serial pc(USBTX, USBRX); EthernetInterface eth; //uchwyt do Ethernet SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); //inicjalizacja karty SD (MOSI,MISO,SCK,CS) TCPSocketConnection client; TCPSocketServer svr; bool server_is_listened = false; bool client_is_connected = false; void Send_Data_From_SD() { int i = 0; const char *index = "/sd/www/index.html"; //const char *style = "/sd/www/style.css"; //const char *alien = "/sd/www/img/alien.jpg"; //const char *forrest = "/sd/www/img/forrest.jpg"; char send_char[1]; FILE *fp = fopen(index, "r"); while (1) { if (fgets(send_char,1, fp) == NULL) break; client.send(send_char, 1); //przerobic na get line i++; } fclose(fp); /* fp = fopen(style, "r"); while (fread(&send_char, sizeof(char), 1, fp) == 1) { client.send(&send_char, 1); } fclose(fp); fp = fopen(alien, "r"); while (fread(&send_char, sizeof(char), 1, fp) == 1) { client.send(&send_char, 1); } fclose(fp); fp = fopen(forrest, "r"); while (fread(&send_char, sizeof(char), 1, fp) == 1) { client.send(&send_char, 1); } fclose(fp); */ client_is_connected = false; } void Initialize_Server(void) { eth.init(ip,mask,gateway); //inicjalizacja ethernet, statyczny adres ip eth.connect(); //wlaczenie interfejsu printf("Zainicjowano Ethernet! \n"); printf("Adres IP: %s\n",eth.getIPAddress()); printf("Maska: %s\n",eth.getNetworkMask()); printf("Brama: %s\n",eth.getGateway()); printf("Adres MAC urzadzenia: %s\n",eth.getMACAddress()); if (svr.bind(PORT) < 0) { printf("Nie udalo sie powiazac serwera TCP z portem 80 (HTTP)! \n"); return; } else { printf("Powiazano serwer TCP z portem 80 (HTTP). \n"); server_is_listened = true; } if (svr.listen(1) < 0) { printf("Nie udalo sie rozpoczac nasluchiwania polaczen przychodzacych serwera TCP! \n"); return; } else { printf("Serwer TCP rozpoczal nasluchiwanie polaczen przychodzacych. \n"); } } int main() { pc.baud(9600); printf("Zainicjowano UART! \n"); printf("Predkosc bitowa transmisji - 9600b/s.\n"); Initialize_Server(); while (server_is_listened) { if (svr.accept(client)) { printf("Nie udalo sie zaakceptowac polaczenia z klientem! \n"); } else { printf("Polaczono z klientem. IP klienta: %s\n", client.get_address()); client_is_connected = true; while (client_is_connected) { Send_Data_From_SD(); } client.close(); printf("Wyslano dane do klienta i rozlaczono sesje. \n"); } } }