weslley picone
/
APSSO_GeizieLucas
ethernet
Revision 0:2ebe78041ef8, committed 2018-12-12
- Comitter:
- WessVP
- Date:
- Wed Dec 12 18:31:46 2018 +0000
- Commit message:
- ola
Changed in this revision
diff -r 000000000000 -r 2ebe78041ef8 LCDLib.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LCDLib.lib Wed Dec 12 18:31:46 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/rlanghbv/code/LCDLib/#241842336d78
diff -r 000000000000 -r 2ebe78041ef8 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Dec 12 18:31:46 2018 +0000 @@ -0,0 +1,150 @@ +#include "mbed.h" +#include "rtos.h" +//https://os.mbed.com/users/4180_1/notebook/using-a-speaker-for-audio-output/ +#include "EthernetInterface.h" + + + const char* ECHO_SERVER_ADDRESS = "10.3.2.162"; + AnalogIn ain(A1); + AnalogOut aout(DAC0_OUT); + PwmOut speaker(D3); + + int i,x=5000; + int dist; + + double temp,leitura,max=30; + + EthernetInterface eth; + // Threads + + Thread thread1; + Thread thread2; + Thread thread3; + Thread thread4; + + // Mutex +Mutex mut_temp; +Mutex mut_temp_dese; + +void temperatura(){ + while (true) { + mut_temp.lock(); + leitura = ain.read(); + temp = (leitura*330); // + + // temp = double((ain.read()*5)/1023)/0.01; + printf("Valor calc %0.3f%\n\r", temp); + printf("Valor lido %0.3f%\n\n\r", leitura); + mut_temp.unlock(); + Thread::wait(1000); + } + } + +void cooler(){ + while (true) { + if(temp>max){ + printf("Liga o cooler\n\r"); + aout=1; + } + else{ + aout=0; + printf("Desliga o cooler\n\r"); + + } + Thread::wait(1000); + } +} + +void speakerAlarm(){ + while(true){ + if(temp>max){ + printf("Liga o speaker\n\r"); + for (i=0; i<26; i=i+2) { + + speaker.period(1.0/750.0); + speaker = double(i)/50.0; + wait(.25); + speaker.period(1.0/550.0); + wait(.25); + } + speaker=0; + } + else{speaker=0;} + Thread::wait(1000); + } +} +void udp_client_thread () { + + EthernetInterface net; + + while(1){printf("Ethernet socket example\n"); + if(flag==1){ + net.connect(); + + // Show the network address + const char *ip = net.get_ip_address(); + printf("IP address is: %s\n", ip ? ip : "No IP"); + + // Open a socket on the network interface, and create a TCP connection to mbed.org + TCPSocket socket; + socket.open(&net); + socket.connect("10.3.2.162", 5000); + + char mensagem=dist+'0'; + char sbuffer[] = {mensagem}; + + // Send a simple http request + char sbuffer[] = {mensagem}; + int scount = socket.send(sbuffer, sizeof sbuffer); + printf("sent %d [%.*s]\n", scount, strstr(sbuffer, "\r\n")-sbuffer, sbuffer); + + + // Recieve a simple http response and print out the response line + char rbuffer[64]; + int rcount = socket.recv(rbuffer, sizeof rbuffer); + printf("recv %d [%.*s]\n", rcount, strstr(rbuffer, "\r\n")-rbuffer, rbuffer); + + if(rbuffer == "m") + DigitalOut led(LED_RED); + // Close the socket to return its memory and bring down the network interface + socket.close(); + + // Bring down the ethernet interface + net.disconnect(); + printf("Done\n");} +} +} +} +void digital_thread() +{ + while (true) { + + mut_temp.lock(); + leitura = ain.read(); + for(int i=0;i<10;i++){ + dist=i; + flag=1; + }; + //if(leitura != 1){ + //cont1 = cont2 + 1; + //dist = cont1 * 19.5; + //cont2 = cont2 + 1; + + //if (dist == socket.recv(rbuffertemp, sizeof rbuffertemp) ) + //{socket.send(sbuffertemp, sizeof sbuffertemp)="5" ;} + +}} +int main (void) +{ printf("Teste inicializa \n\n"); + //---------Inicializa + aout=0; + speaker = 0; + eth.connect(); + //---------Inicializando threads----------- + thread1.start(digital_thread); + thread2.start(cooler); + thread3.start(speakerAlarm); + thread4.start(udp_client_thread); + while(true) { } + + } \ No newline at end of file
diff -r 000000000000 -r 2ebe78041ef8 mbed-os.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Wed Dec 12 18:31:46 2018 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#5f6572179d66ce4c09d6517b659ac51133cc980d