Libelium is offering new technical support channels, to contact with de Technical Support team to solve any issue our doubt please contact with your sales agent or visit our contact site



Post a new topicPost a reply Page 1 of 2   [ 12 posts ]
Go to page 1, 2  Next
Author Message
 Post subject: Código "getActuators" Opengarden
PostPosted: Tue Jan 09, 2018 8:06 pm 

Joined: Tue Feb 07, 2017 1:37 pm
Posts: 37
Hola,

Cómo me habéis comentado en otras ocasiones, el código "getActuators", tal cual se encuentra, solo funciona cuando en determinados servidores, dependiendo de la respuesta de este.
El problema es que a veces tengo que cambiar de servidor en la nube y aunque cambie el código de "checkData()" y "cleanVector()", de 1, 2, 3 a 5, 6, 7, tal y cómo me indicásteis, no funciona y no se cómo solucionarlo.

Os adjunto el código de cada una de las respuestas a ver si podéis indicarme qué código debo poner:

- Para revc 1,2,3:

$$$set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators
Received:HTTP/1.1 400 Bad Request
Date: Tue, 09 Jan 2018 17:44:57 GMT
IRGT1 BADATA
IRGT2 BADATA
IRGT3 BADATA

- Para recv 5, 6, 7:

$$$set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators
Received:HTTP/1.1 400 Bad Request
Date: Tue, 09 Jan 2018 18:57:38 GMT
IRGT1 ON
IRGT2 BADATA
IRGT3 ON

Gracias por anticipado


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Wed Jan 10, 2018 8:36 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Maria43,

Como se puede ver en la respuesta del servidor, obtienes una respuesta con código 400, lo cual significa que algo ha ido mal en la petición, pero no especifica a que es debido el error en la petición.

Cuando todo funciona correctamente se obtiene un código 200. Desconocemos la configuración de tu servidor y hasta donde podemos ver la petición con "GET /get_actuators.php?actuators" se hace de forma correcta, por lo que no podemos saber a que se debe exactamente el error. ¿Puedes probar con otros servidores?

Un saludo.


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Wed Jan 10, 2018 12:31 pm 

Joined: Tue Feb 07, 2017 1:37 pm
Posts: 37
Hola,

El código no es nuevo, estuvo funcionando con un servidor en local y un tiempo con un servidor en la nube, de hecho con este mismo. Por el momento no tengo posibilidad de probar con otro servidor, lo que si he probado es con otro equipo Opengarden y pasa lo mismo.
Desconozco que configuración debería tener mi servidor para que funcione, pero tengo dos sistemas Opengarden que no funcionan, por lo que agradecería que me indicárais que es lo que debo verificar o que información debo pasaros para encontrar una solución.

Gracias por anticipado. Un saludo,


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Thu Jan 11, 2018 8:30 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Maria43,

en estos casos te recomendamos que envies los comandos uno a uno a mano en modo gateway para observar mejor las respuestas que da el modulo a cada una.

Para ello debes poner los pines del XBee shield en modo USB
Image

Ahora tienes dos opciones, quitar el microcontrolador del arduino, o cargar un sketch "Bare Minimum" que solo incluye la definicion del setup() y el loop().

Ahora puedes seguir los pasos del punto 2 de este tutorial:
https://www.cooking-hacks.com/documenta ... ial/#step2

Lo primero que te recomendamos es que hagas un factory reset del modulo wifi, para ello copia estos comandos:
Code:
$$$
factory RESET
reboot


Un saludo


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Mon Jan 15, 2018 4:07 pm 

Joined: Tue Feb 07, 2017 1:37 pm
Posts: 37
Hola,

La WIFI no da problemas, de hecho se graban perfectamente los datos en BD y aparecen en la app Opengarden. Lo único que no funciona es que no lee los datos de los actuadores.
Adjunto os indico la respuesta que he obtenido después de hacer lo que me habéis indicado:

CMD
factory RESET

Set Factory Defaults
<4.41>
reboot

*Reboot*wifly-EZX Ver: 4.41 Build: r1057, Jan 17 2014 10:23:54 on RN-171
MAC Addr=00:06:66:9c:49:0d
*READY*
CMD

set ip dhcp 1

AOK
<4.41>
set ip protocol 18

AOK
<4.41>
set wlan join 0

AOK
<4.41>
set wlan phrase 4414131084

AOK
<4.41>
set wlan key 4414131084


<4.41> Auto-Assoc ONOE1E6 chan=11 mode=MIXED SCAN OK

Joining ONOE1E6 now..
Associated!
DHCP: Start
DHCP in 6167ms, lease=3600s
IF=UP
DHCP=ON
IP=192.168.1.7:2000
NM=255.255.255.0
GW=192.168.1.1
Listen on 2000

También obtengo la respuesta del servidor Libelium con el código:

Setting Wifi parameters
exit

$$$leave

set ip dhcp 1

set ip protocol 18

set wlan join 0

set wlan phrase 4414131084

join ONOE1E6

Connected to "ONOE1E6"
Wifi succesfully configured
Sending HTTP GET
$$$set i h 0

set d n test.libelium.com

set i r 80

set o f 1

set c r GET$/test-get-post.php?a=1&b=2

open

GET response:"method::get;a::1;b::2;"
Sending HTTP GET
$$$set i h 0

set d n test.libelium.com

set i r 80

set o f 1

set c r GET$/test-get-post.php?a=1&b=2

open

GET response:"method::get;a::1;b::2;"

Para recv 5,6,7 salen estas dos respuestas que cambian de una a otra de menera aleatoria, aunque la que más predomina es la primera:

$$$set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators
Received:HTTP/1.1 400 Bad Request
Date: Mon, 15 Jan 2018 15:47:43 GMT
IRGT1 ON
IRGT2 BADATA
IRGT3 ON


$$$set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators
Received:GET /get_actuators.php?actuators

ERR: ?-Cmd
<4.41> IRGT1 BADATA
IRGT2 BADATA
IRGT3 BADATA


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Tue Jan 16, 2018 9:43 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Maria43,

el objetivo de usar los comandos en modo gateway es que envíes los mismos que envía el programa con el codigo getActuators para observar las respuestas. Es decir, envia a mano los siguientes comandos y observa la respuesta, tras haberte conectado a una wifi:
Code:
set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators


Si sigues recibiendo el mensaje 400 del servidor prueba a hacer alguna variacion del tipo:
Code:
set d n 34.251.228.1
set i r  80
set o f 1
set c r GET$/get_actuators.php?actuators
open


Un saludo


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Tue Jan 16, 2018 12:30 pm 

Joined: Tue Feb 07, 2017 1:37 pm
Posts: 37
Hola, esta es la respuesta que obtengo para el primer código:

CMD
factory RESET

Set Factory Defaults
<4.41>
reboot

*Reboot*wifly-EZX Ver: 4.41 Build: r1057, Jan 17 2014 10:23:54 on RN-171
MAC Addr=00:06:66:9c:47:5e
*READY*
CMD
set ip dhcp 1set ip protocol 18set ip dhcp 1

AOK
<4.41>
set ip dhcp 1

AOK
<4.41>
set ip protocol 18

AOK
<4.41>
set wlan join 0

AOK
<4.41>
set wlan phrase 4414131084

AOK
<4.41>
join ONOE1E6

<4.41> Auto-Assoc ONOE1E6 chan=11 mode=MIXED SCAN OK

Joining ONOE1E6 now..
Associated!
DHCP: Start
DHCP in 6051ms, lease=3600s
IF=UP
DHCP=ON
IP=192.168.1.2:2000
NM=255.255.255.0
GW=192.168.1.1
Listen on 2000
set dns name 34.251.228.1

AOK
<4.41>
set ip adress 0

AOK
<4.41>
set i r 80

AOK
<4.41>
set com remote 0

AOK
<4.41>
open

<4.41>
*OPEN*ACT::000

Y ya no me deja meter más comandos.


Y esta para el segundo:
CMD
factory RESET

Set Factory Defaults
<4.41>
reboot

*Reboot*wifly-EZX Ver: 4.41 Build: r1057, Jan 17 2014 10:23:54 on RN-171
MAC Addr=00:06:66:9c:47:5e
*READY*
CMD
set ip dhcp 1

AOK
<4.41>
set ip protocol 18

AOK
<4.41>
set wlan join 0

AOK
<4.41>
set wlan phrase 4414131084

AOK
<4.41>
join ONOE1E6

<4.41> Auto-Assoc ONOE1E6 chan=11 mode=MIXED SCAN OK

Joining ONOE1E6 now..
Associated!
DHCP: Start
DHCP in 11117ms, lease=3600s
IF=UP
DHCP=ON
IP=192.168.1.2:2000
NM=255.255.255.0
GW=192.168.1.1
Listen on 2000
set d n 34.251.228.1

AOK
<4.41>
set i r 80

AOK
<4.41>
set o f 1

AOK
<4.41>
set c r GET$/get_actuators.php?actuators

AOK
<4.41>
open

<4.41>
*OPEN*


Si a continuación vuelvo a insertar "set c r GET$/get_actuators.php?actuators" , obtengo:

*OPEN*HTTP/1.1 200 OK
Date: Tue, 16 Jan 2018 13:35:43 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 8
Connection: close
Content-Type: text/html; charset=UTF-8

ACT::000*CLOS*

Y tampoco ya me deja meter más comandos.
Después de un tiempo:

DHCP:Renew


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Wed Jan 17, 2018 8:26 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Maria43,

como puedes ver, en ambos casos ha funcionado de manera correcta en modo gateway, esta es la respuesta que esperamos del servidor con el estado de los actuadores:
Code:
ACT::000


Donde los '0' indican que los tres actuadores se encuentran apagados. Por ejemplo si el primer actuador estuviera encendido recibirías "ACT::100".

Por tanto si en la funcion checkData() usas el código que coge los bytes 5, 6 y 7 (los tres '0' se encuentran en estas posiciones empezando a contar por el 0) debería funcionar, de este modo, ya que el codigo replica exactamente lo que has hecho en el primer caso:
Code:
  irrigation1_wf= recv[5];
  irrigation2_wf= recv[6];
  irrigation3_wf= recv[7];


Un saludo


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Wed Jan 17, 2018 1:13 pm 

Joined: Tue Feb 07, 2017 1:37 pm
Posts: 37
Pues la respuesta sigue siendo la misma:

$$$set dns name 34.251.228.1
set ip adress 0
set i r 80
set com remote 0
open
GET /get_actuators.php?actuators
Received:HTTP/1.1 400 Bad Request
Date: Wed, 17 Jan 2018 11:56:21 GMT
*CLOS*IRGT1 ON
IRGT2 BADATA
IRGT3 ON

Quisiera adjuntaros el programa completo por si fuera algún problema de codificación, tipo de variables, que hiciera la llamada a las funciones de manera incorrecta o algo.... Hay alguna manera de hacerlo para que sólo fuese visible para vosotros?


Top
 Profile  
 
 Post subject: Re: Código "getActuators" Opengarden
PostPosted: Thu Jan 18, 2018 8:38 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Maria43,

en vista de que el servidor contesta correctamente a los comandos en modo gateway y no funciona bien el codigo, creemos que se puede tratar de un problema de memoria RAM en arduino Uno (solo tiene 2Kb). Te recomendamos que uses el codigo básico "getActuators" que viene con la librería, cambiando solo lo imprescindible para que funcione con tu servidor y comprobar si así funciona, y entonces ir añadiendo poco a poco el resto de codigo comprobando si sigue funcionando.

Un saludo.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post a new topicPost a reply Page 1 of 2   [ 12 posts ]
Go to page 1, 2  Next


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Libelium theme based on 610nm Style by Daniel St. Jules of http://www.gamexe.net


© Libelium Comunicaciones Distribuidas S.L. | Terms of use.