MiddleWare GUS
Dependencies: Middleware EthernetInterface HC_SR04_Ultrasonic_Library mbed-rtos mbed
Revision 1:106e93f9c7c8, committed 2015-12-09
- Comitter:
- RoHe
- Date:
- Wed Dec 09 04:45:01 2015 +0000
- Parent:
- 0:5db5c980e717
- Child:
- 2:c8a2aa07cfdd
- Commit message:
- ok
Changed in this revision
--- a/Coments.cpp Sat Dec 05 17:46:07 2015 +0000
+++ b/Coments.cpp Wed Dec 09 04:45:01 2015 +0000
@@ -13,75 +13,177 @@
/*
-
-
- /*
+ // Connect to Server1
+ //TODO: try to connect to both servers
+ //TODO: only try 5 times after ti server1 goes down
+ //TODO: cual es la diferencia entre recieved_all y recieved
+ //TOTRY: que valor regresa cuando hace el connect???
+
+ //QUESTION: que son los numero que aparecen despues de los dos puntos,
+ //parece ser uqe es el numero que noceciones que lleva acabo 192.168.1.81:49160
+ //NOSIRVE: si se conecta los dos micros con el programa de TCP Server4 y se les pide un reply
+ //los micros no contestan y para terminarla si pides dos veces un reply se queda colgado ..
+ //ACCOMPLISH: los colores de los leds ya responen de acuerdo a la conexion
+
+ //GetPersonStatus(1);
+
+ for(int i=0,isConServer1=0; i<2 && isConServer1==0; i++) {
+ if(socketTCP1.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
+ _isConnectedServer1=false;
+ pc.printf("Unable to connect1 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
+ pc.printf("TRY SERVER 1 number (%d)\n\r",(i+1));
+ isConServer1=0;
+ } else {
+ _isConnectedServer1=socketTCP1.is_connected();
+ pc.printf("Ya se conecto con el servidor 1\n\r");
+ isConServer1=1;
+ wait(1);
- // Receive message from server
- char buf1[256];
- int n1 = socketTCP1.receive(buf1, 256);
+ char hello[] = "Hello World\n\r";
+ printf("Sending message to Server : '%s' \n",hello);
+ socketTCP1.send_all(hello, sizeof(hello) - 1);
+
+
+
+
+ }
+ }//END FOR1
+
+ for(int i=0,isConServer2=0; i<2 && isConServer2==0; i++) {
+ if(socketTCP2.connect(ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2) == -1) {
+ _isConnectedServer2=false;
+ pc.printf("Unable to connect2 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2);
+ pc.printf("TRY SERVER 2 number (%d)\n\r",(i+1));
+ isConServer2=0;
+ //wait(1);
+ } else {
+ _isConnectedServer2=socketTCP2.is_connected();
+ pc.printf("Ya se conecto con el servidor 2\n\r");
+ isConServer2=1;
+ }
+ }//END FOR2
+
+
+ //RECEIVED from TCP SERVER1
+ n1 = socketTCP1.receive_all(buf1, 256);
buf1[n1] = '\0';
-
if(n1>0) {
pc.printf("Received message from server1 IF: '%s'\n\r", buf1);
- socketTCP1.close();
- //isConnectedServer1=false;
+ socketTCP1.close();
+
} else {
//_isConnectedServer1==false; //quiere decir que se desconecto del servidor
- pc.printf("Not received ELSE value of lenght: '%u'\n\r",strlen(buf1));
+ pc.printf("Not received1 ELSE value of lenght: '%u'\n\r",strlen(buf1));
socketTCP1.close();
//isConnectedServer1=false;
}
+ //socketTCP1.close();
+ //socketTCP2.close();
+
+ if(strcmp(buf1,"reply")==0) {
+ // SEND to server1
+ //Entra pero no puede mandar los datos
+ // pc.printf("Entro a la funcion strcmp: \n\r");
+ if(socketTCP1.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
+ pc.printf("Unable to connect1 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
+ }
+
+ char c_myIP[] = "192.168.1.77\n\r";
+ pc.printf("Sending message to Server : %s \n\r",c_myIP);
+ socketTCP1.send_all(c_myIP, sizeof(c_myIP) - 1);
+ socketTCP1.close();
+ }
+ //socketTCP1.close();
+
+
+
+ //RECEIVED from TCP SERVER2
+ n2 = socketTCP2.receive(buf2, 256);
+ buf2[n2] = '\0';
+ if(n2>0) {
+ pc.printf("Received message from server2 IF: '%s'\n\r", buf2);
+ socketTCP2.close();
+ //isConnectedServer1=false;
+ } else {
+ //_isConnectedServer1==false; //quiere decir que se desconecto del servidor
+ pc.printf("Not received2 ELSE value of lenght: '%u'\n\r",strlen(buf2));
+ socketTCP2.close();
+ //isConnectedServer1=false;
+ }
+ //
+
+
+*/
+
+
+
+/*
+
+ // Receive message from server
+ char buf1[256];
+ int n1 = socketTCP1.receive(buf1, 256);
+ buf1[n1] = '\0';
+
+ if(n1>0) {
+ pc.printf("Received message from server1 IF: '%s'\n\r", buf1);
+ socketTCP1.close();
+ //isConnectedServer1=false;
+ } else {
+ //_isConnectedServer1==false; //quiere decir que se desconecto del servidor
+ pc.printf("Not received ELSE value of lenght: '%u'\n\r",strlen(buf1));
+ socketTCP1.close();
+ //isConnectedServer1=false;
+ }
+
+ if(bo_somethingWrong==true) {
+ return 0;
+ }
+
+//if(socketTCP.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1 && _isConnectedServer1==false ) {
+ if(socketTCP.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
+ _isConnectedServer1=socketTCP.is_connected();
+ //_isConnectedServer1=false;
+ pc.printf("Unable to connect to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
+ wait(1);
+} else {
+ _isConnectedServer1=socketTCP.is_connected();
+ //_isConnectedServer1=true;
+ //pc.printf("Connected to Server at %s\n\r",ECHO_SERVER_ADDRESS1);
+ pc.printf("Connected to Server at %s\n\r",socketTCP.get_address());
+ pc.printf("Connected to PORT at %u\n\r",socketTCP.get_port());
+
+
+
+ //TODO: split strings
+
+ char hello[] = "reply:get:status:192.168.1.77:door:1\n\r";
+
+ pc.printf("Sending message to Server : %s \n\r",hello);
+ socketTCP.send_all(hello, sizeof(hello)- 1);
+
+
+
+// Receive message from server
+ char buf[256];
+ int n = socketTCP.receive(buf, 256);
+ buf[n] = '\0';
+ pc.printf("Received message from server: '%s'\n\r", buf);
if(bo_somethingWrong==true) {
return 0;
}
- //if(socketTCP.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1 && _isConnectedServer1==false ) {
- if(socketTCP.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
- _isConnectedServer1=socketTCP.is_connected();
- //_isConnectedServer1=false;
- pc.printf("Unable to connect to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
- wait(1);
- } else {
- _isConnectedServer1=socketTCP.is_connected();
- //_isConnectedServer1=true;
- //pc.printf("Connected to Server at %s\n\r",ECHO_SERVER_ADDRESS1);
- pc.printf("Connected to Server at %s\n\r",socketTCP.get_address());
- pc.printf("Connected to PORT at %u\n\r",socketTCP.get_port());
+
+}
- //TODO: split strings
-
- char hello[] = "reply:get:status:192.168.1.77:door:1\n\r";
-
- pc.printf("Sending message to Server : %s \n\r",hello);
- socketTCP.send_all(hello, sizeof(hello)- 1);
-
-
-
- // Receive message from server
- char buf[256];
- int n = socketTCP.receive(buf, 256);
- buf[n] = '\0';
- pc.printf("Received message from server: '%s'\n\r", buf);
+}
- if(bo_somethingWrong==true) {
- return 0;
- }
-
-
- }
-
-
-
- }
-
- // Clean up
- socketTCP1.close();
- socketTCP2.close();
- */
+// Clean up
+socketTCP1.close();
+socketTCP2.close();
+*/
@@ -108,7 +210,16 @@
//Thread *thread2;
//thread2 = new Thread(conect_Server);
-
+/*
+// Echo received message back to client
+pc.printf("bufferReply: '%s'\n\r",bufferReply);
+//Todas las cadenas que son enviadas tienen el final de \r\n
+int lengBuffer = stringManager.stringLenght(bufferReply);
+pc.printf("longhtBuffer: '%u'\n\r",strlen(buffer));
+pc.printf("longhtBuffer n : '%u'\n\r",n);
+pc.printf("longhtBufferReply: '%u'\n\r",lengBuffer);
+pc.printf("strcmp: '%u'\n\r",strcmp(buffer,"set\r\n"));
+*/
//IMPORT FROM LIBRARY
--- a/Middleware.lib Sat Dec 05 17:46:07 2015 +0000 +++ b/Middleware.lib Wed Dec 09 04:45:01 2015 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/users/RoHe/code/Middleware/#d1ff330c5128 +https://developer.mbed.org/users/RoHe/code/Middleware/#fd355dc296b1
--- a/main.cpp Sat Dec 05 17:46:07 2015 +0000
+++ b/main.cpp Wed Dec 09 04:45:01 2015 +0000
@@ -9,7 +9,7 @@
#include "mbed.h"
#include "EthernetInterface.h"
#include "rtos.h"
-#include "SensorPIR.h"
+#include "Sensors.h"
#include "Ether.h"
#include "Initial.h"
#include "Threads.cpp"
@@ -40,17 +40,11 @@
/*//////////////////////////////////
Declares all necessary CLASSES
*/
-
- EthernetInterface eth;
eth.init(); //Use DHCP
eth.connect();
-
- /*///////////////////////////////////
- Declares all necessary THREADS
- */
- Thread thread1(led_thread);
- //Thread thread2(receivedFromServer1);
+ serverTCP.bind(ECHO_SERVER_PORT1);
+ serverTCP.listen();
/*////////////////////////////////////
Declares all necessary INTERRUPTIONS
@@ -59,135 +53,40 @@
//////////////////////////////////////////////////////APPLICATION /////////////////////////////////////////////////////////
+ pc.printf("Server IP Address is %s\r", eth.getIPAddress());
+ pc.printf("\nServer IP MAC address is %s\r", eth.getMACAddress);
+ pc.printf("\nServer IP Gateway is %s\r", eth.getGateway());
+ pc.printf("\nServer IP network mask is %s\n\r", eth.getNetworkMask());
- s_myIP = eth.getIPAddress();
- pc.printf("\nClient IP Address is %s\r", s_myIP);
- pc.printf("\nClient IP MAC address is %s\r", eth.getMACAddress);
- pc.printf("\nClient IP Gateway is %s\r", eth.getGateway());
- pc.printf("\nClient IP network mask is %s\n\r", eth.getNetworkMask());
+
+ /*///////////////////////////////////
+ Declares all necessary THREADS
+ */
+ Thread thread1(led_thread);
+ Thread thread2(messsageFromClient);
+ //Thread thread2(receivedFromServer1);
/*
+ QUESTIONS:
+ -EMMA: para que sirve que yo reciva la IP del Broker
+ -EMMA: Para que succes/fail si si se pudo prender o apagar ?
+ -EMMA: Por que el get Room no sigue el mismo formato
+ -JORGE: no hay una confirmacion del pin para setLight ocupamos un geLight
+
CONSTRAINS:
- -No se puede poner un serial print el los threads ....
- -se tiene que abrir y cerrar las conecciones par que pueda leer nuevos mensajes
- -se puede leer mensajes si no se cierra el socket pero la conexion se queda abierta
- y no puede recibir mas mensajes .. se saco el forpara hacerlo una sola vez y no se cierra la conexion
-
+ -JORGE: meti las variables a Initial.h por que decia que se habian declarado mas
+ de una vez.
+ -ROBER: no se puede usar el strcat por que cuando trata de concatenar la cadena
+ se queda colgado el sistema, workaround: se usara un return para cada caso.
+
+
+ TODO:
+ -JORGE: leer el pin de salida para ver que si realmente se prende la Luz
+ -COTA / PONCHO: ultrasonic
+ -ROBER: manejo de string
*/
-
-
- /*
- // Connect to Server2
- (socketTCP.connect(ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2) < 0) {
- pc.printf("Unable to connect to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2);
- }
- _isConnectedServer2=true;
- pc.printf("Connected to Server at %s\n\r",ECHO_SERVER_ADDRESS2);
- */
-
-
while(true) {
- // Connect to Server1
- //TODO: try to connect to both servers
- //TODO: only try 5 times after ti server1 goes down
- //TODO: cual es la diferencia entre recieved_all y recieved
- //TOTRY: que valor regresa cuando hace el connect???
- //QUESTION: que son los numero que aparecen despues de los dos puntos,
- //parece ser uqe es el numero que noceciones que lleva acabo 192.168.1.81:49160
- //NOSIRVE: si se conecta los dos micros con el programa de TCP Server4 y se les pide un reply
- //los micros no contestan y para terminarla si pides dos veces un reply se queda colgado ..
- //ACCOMPLISH: los colores de los leds ya responen de acuerdo a la conexion
-
- //GetPersonStatus(1);
-
- for(int i=0,isConServer1=0; i<2 && isConServer1==0; i++) {
- if(socketTCP1.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
- _isConnectedServer1=false;
- pc.printf("Unable to connect1 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
- pc.printf("TRY SERVER 1 number (%d)\n\r",(i+1));
- isConServer1=0;
- } else {
- _isConnectedServer1=socketTCP1.is_connected();
- pc.printf("Ya se conecto con el servidor 1\n\r");
- isConServer1=1;
- wait(1);
-
- char hello[] = "Hello World\n\r";
- printf("Sending message to Server : '%s' \n",hello);
- socketTCP1.send_all(hello, sizeof(hello) - 1);
-
-
-
-
- }
- }//END FOR1
-
- for(int i=0,isConServer2=0; i<2 && isConServer2==0; i++) {
- if(socketTCP2.connect(ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2) == -1) {
- _isConnectedServer2=false;
- pc.printf("Unable to connect2 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS2, ECHO_SERVER_PORT2);
- pc.printf("TRY SERVER 2 number (%d)\n\r",(i+1));
- isConServer2=0;
- //wait(1);
- } else {
- _isConnectedServer2=socketTCP2.is_connected();
- pc.printf("Ya se conecto con el servidor 2\n\r");
- isConServer2=1;
- }
- }//END FOR2
-
-
- //RECEIVED from TCP SERVER1
- n1 = socketTCP1.receive_all(buf1, 256);
- buf1[n1] = '\0';
- if(n1>0) {
- pc.printf("Received message from server1 IF: '%s'\n\r", buf1);
- socketTCP1.close();
-
- } else {
- //_isConnectedServer1==false; //quiere decir que se desconecto del servidor
- pc.printf("Not received1 ELSE value of lenght: '%u'\n\r",strlen(buf1));
- socketTCP1.close();
- //isConnectedServer1=false;
- }
- //socketTCP1.close();
- //socketTCP2.close();
-
- if(strcmp(buf1,"reply")==0) {
- // SEND to server1
- //Entra pero no puede mandar los datos
- // pc.printf("Entro a la funcion strcmp: \n\r");
- if(socketTCP1.connect(ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1) == -1) {
- pc.printf("Unable to connect1 to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS1, ECHO_SERVER_PORT1);
- }
-
- char c_myIP[] = "192.168.1.77\n\r";
- pc.printf("Sending message to Server : %s \n\r",c_myIP);
- socketTCP1.send_all(c_myIP, sizeof(c_myIP) - 1);
- socketTCP1.close();
- }
- //socketTCP1.close();
-
-
-
- //RECEIVED from TCP SERVER2
- n2 = socketTCP2.receive(buf2, 256);
- buf2[n2] = '\0';
- if(n2>0) {
- pc.printf("Received message from server2 IF: '%s'\n\r", buf2);
- socketTCP2.close();
- //isConnectedServer1=false;
- } else {
- //_isConnectedServer1==false; //quiere decir que se desconecto del servidor
- pc.printf("Not received2 ELSE value of lenght: '%u'\n\r",strlen(buf2));
- socketTCP2.close();
- //isConnectedServer1=false;
- }
- //
}// END while
- eth.disconnect();
-
-
-
+ //eth.disconnect();
}