ETH_SD_JPG

Dependencies:   DS1820 SDFileSystem SLCD WIZnet_Library mbed

main.cpp

Committer:
slawcio
Date:
2014-10-16
Revision:
1:cbd681a86f90
Parent:
0:d02fb9a8c1ae

File content as of revision 1:cbd681a86f90:

//w5100
#include "main.h"

//Serial pc(USBTX, USBRX); // tx, rx 
void baud (int baudrate = 115200);

char wartosc[20];
float temperatura;
 
int x; 

//******************

void f_ethernet_init(void);

const char * IP_Addr    = "10.192.144.204";
const char * IP_Subnet  = "255.255.252.0";
const char * IP_Gateway = "10.192.147.254";



int ret,dummy;
int lv=1;
bool status;

int sw11;
int sw33;





//================= main =======================================================================

int main()
{       
        pc.baud(BAUD); 
        f_ethernet_init();
        TCPSocketServer server;
        TCPSocketConnection client;
        server.bind(ECHO_SERVER_PORT);
        server.listen();


              
        odczyt_z_SD(client, 2); //2 wyslij na com zawartosc karty SD          
        temperatura_f(); 
        pc.printf("\nEsperando conexion con cliente...\n");
        
    while(lv)
          {
             lv=server.accept(client);
             if(!lv)
                 {
                     pc.printf("Cliente conectado: %s\n", client.get_address());          
                  }
            else
                 {
                  wait(1);
                  }
            }   
           client.receive(data,sizeof(data));           
          // pc.printf("Adres: %c",data);
           
                  
    while(1)       
        {   
            sw11=myled;
            sw33=myled2;
            probe[0]->convertTemperature(true, DS1820::all_devices);  
            slcd.Home(); 
            slcd.printf("%3.1f",probe[0]->temperature());  
            pc.printf("\n\rTemperatura: %3.2f\r\n",probe[0]->temperature() );            
            
            data_all[0]=0;
            while(1)
            {
                data_rozmiar2=client.receive(data_all,data_rozmiar);
                pc.printf("\n\r Zmienna\n\r %s",data_all);  // wysyła dane na com
               
                if (data_rozmiar2<data_rozmiar)
                { 
                data_all[data_rozmiar2]=0;
                 break;
                 }
            } 
            diody(); // funkcja do sterowania diodami
           
           //fotka(client,1); // wczytuje zdjecie i wysyła na ETH, na końcu czyszci tablice
                    
                client.send(a,sizeof(a)); //nagłowek htm
                client.send(b,sizeof(b));
                sprintf(paq_en,"<center><table border=10><tr><td><h1>%3.2f oC</h1></td></tr></table></center>",probe[0]->temperature());
                client.send(paq_en,sizeof(paq_en));
                sprintf(paq_en,"<center><table border=10><tr><td><h1>P1:[%d]____P2:[%i]</h1></td></tr></table></center>",sw33,sw11);
                client.send(paq_en,sizeof(paq_en));  
                         
                odczyt_z_SD(client, 1);  //1 wysyła na ETH, 2 wysyła na COM, 3 wysyła na ETH i COM
                client.send(t,sizeof(t)); 
                          
                client.Socket::~Socket();  
                server.bind(ECHO_SERVER_PORT);
                server.listen();
                server.accept(client);         
        }         
}  

 

void f_ethernet_init()
{
     uint8_t mac[]={0x00,0x08,0x0C,0x1C,0xAA,0xCA};
   // mbed_mac_address((char *)mac); 
    pc.printf("\tIniciando Servidor Ethernet...\n\r");
    wait(1);
    ret = eth.init(mac, IP_Addr, IP_Subnet, IP_Gateway);
    if(!ret)
    {
        pc.printf("Inicializado, MAC= %s\n\r",eth.getMACAddress());
    }    
    else
    {
        pc.printf("Fallo comunicacion... Reinicie dispositivos...\n\r");    
    }
    pc.printf("Conectando.");
    wait(0.5);
    pc.printf(".");
    wait(0.5);
    pc.printf(".\n\r");
    wait(0.5);
    ret = eth.connect();
    if(!ret)
    {
        pc.printf("Conexion Establecida!\n\n\r");
        wait(1);
        pc.printf("IP=%s\n\rMASK=%s\n\rGW=%s\n\r",eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
    }    
    else
    {
        pc.printf("Fallo conexion... Reinicie dispositivos...\n\r"); 
    }
}