ethernet

Dependencies:   LCDLib

Files at this revision

API Documentation at this revision

Comitter:
WessVP
Date:
Wed Dec 12 18:31:46 2018 +0000
Commit message:
ola

Changed in this revision

LCDLib.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
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