Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Mensajes - PabloGa

Páginas: 1 ... 4 5 [6] 7
76
STX8081 / Re: Envío de emails II
« : diciembre 26, 2014, 11:31:24 am »
Hola Boris,

Bueno, armé un "mini-proyecto" que reproduce perfectamente la falla que te había descripto.
Podés leer en el archivo .TXT qué es lo que hace el programa, y cómo simular la falla.
Un mail sale, el siguiente no, y así sucesivamente.
Los mails son originados en una cuenta SMTP Arnet, y son destinados a una cuenta GMAIL.

Saludos y muchas gracias !
Pablo.


Buen día Pablo,

Es posible que me envíes un proyecto, con el mínimo código posible que te produzca la falla?

De esa forma, "si me decís proba de tal forma y el error aparece", puedo debuguearlo y determinar la causa.

Yo tengo arnet, no hace falta que me envíes usuario y clave.

Aguado tus comentarios.

PD: Del 1 de enero al 22 de enero de 2015 cerramos por vacaciones. Tener en cuenta para consultas y pedidos.

77
STX8081 / Re: Envío de emails II
« : diciembre 23, 2014, 09:26:37 am »
OK, muchas gracias. En los próximos días te armo un mini-proyecto extractando del código mío y te lo mando.
Saludos,
Pablo.


Buen día Pablo,

Es posible que me envíes un proyecto, con el mínimo código posible que te produzca la falla?

De esa forma, "si me decís proba de tal forma y el error aparece", puedo debuguearlo y determinar la causa.

Yo tengo arnet, no hace falta que me envíes usuario y clave.

Aguado tus comentarios.

PD: Del 1 de enero al 22 de enero cerramos por vacaciones. Tener en cuenta para consultas y pedidos.

78
STX8081 / Envío de emails II
« : diciembre 19, 2014, 20:46:54 pm »
Hola Boris, como estas ?

Te acordás que en Junio ya te había reportado que tenía dificultades con el envío de mails.
Bueno, nunca pude resolver el problema todavía.
Pero le he dedicado muchas, muchas horas en estos días, y he podido llegar a algunas conclusiones.

Por lo pronto, te cuento que estoy usando el SMTP de Arnet, con destino a una cuenta Gmail que levanto en mi celular.
Esto está probado y anda perfecto.

En mi opinión, hay un bug en la función SmtpSend().
Y es una falla tipo "toggle", que está presente en una ejecución, y no en la siguiente.

Fijate esta secuencia de eventos:

1- Cargo el firmware al PLC (esto hace que se resetee todo). Automáticamente me envía un email de notificación de encendido. Sale el mail y llega al instante.
2- Provoco un evento que hace salir una notificación. Sale el mail y llega al instante.
3- Provoco un evento que hace salir una notificación. Se queda aprox. 30 segundos en SmtpStatus=127 (enviando), y luego termina con SmtpStatus=-1  (falló el envío).

Ahora repito los pasos 2 y 3:
4- Provoco un evento que hace salir una notificación. Sale el mail y llega al instante.
5- Provoco un evento que hace salir una notificación. Se queda aprox. 30 segundos en SmtpStatus=127 (enviando), y luego termina con SmtpStatus=-1  (falló el envío).

Y así indefinidamente los últimos 2 eventos: el primero sale, el segundo no sale.

Si vuelvo a repetir todo desde el paso 1, se repite todo exactamente igual.

He revisado mi código mil veces, y he llegado a la conclusión de que la función SmtpSend tiene que tener un bug tipo "toggle".

Tengo en uso la última versión de firmware disponible, y también el ultimo entorno de desarrollo.

Bueno, te dejo la inquietud.

Muchas gracias desde ya,
Pablo.

79
STX8081 / Re: Envío de emails
« : junio 04, 2014, 16:20:07 pm »
Hola Boris,

Es cierto: cuando te llega un mail a Gmail, te notifica instantáneamente. El problema es que dependés de que el mail llegue al servidor de Gmail. Me explico mejor: llevo un par de días probando el nuevo firmware; todavía no sé si mejoró o no. Pero los síntomas son: se genera la notificación, y el mail llega a Gmail como 4 horas después. O no llega nunca.
O sea: el problema está en el maldito servidor SMTP de Arnet, que funciona como quiere y cuando quiere.

La gran diferencia es que PushBullet llega instantáneamente. Siempre. Nunca falla. Lo podés instalar en tu celular (si es Android), y te va a sorprender. Pero creo que representa un significativo esfuerzo poder integrarlo al PLC (incorporar JSON y todo lo que la API de PushBullet requiere).  Pero es en esta dirección que van las cosas: las notificaciones van a ser utilizando aplicativos directos via internet, no via email. Vos ves factible incorporar integración con PushBullet??

Un gran paliativo sería poder usar otros servidores SMTP, que no sean el de AOL (nunca me anduvo) o Arnet (ya vemos como funciona). En mi trabajo utilizo servidores de mi propio hosting y también Yahoo.com.ar, y andan perfecto. Pero ahí estaba el problema de que el PLC no soporta el método de autenticación.

Te mando un cordial saludo y gracias por seguir atento a estos temas,
Pablo.

80
STX8081 / Re: Envío de emails
« : junio 02, 2014, 09:26:07 am »
Hola Boris, buen día,

Bueno, hice el upgrade de firmware con la versión 197 que me generaste.

Lo voy a probar unos días y te aviso qué pasó.

Saludos y muchas gracias !
Pablo.

PD: has considerado los métodos "modernos" de hacer notificaciones, tal como:
Pushbullet: https://docs.pushbullet.com/
If This Then That: https://ifttt.com/recipes

81
STX8081 / Re: Envío de emails
« : mayo 27, 2014, 12:13:34 pm »
Muchas Gracias !

82
STX8081 / Re: Sensor de temperatura
« : mayo 23, 2014, 08:37:19 am »
Hola buen día,

Me parecen perfectas las soluciones con LM75 y LM92, pero son caros...

Voy a pensarlo mejor y cualquier cosa te aviso. Quizá le pongo un LM35 a un puerto analógico y listo.
Además, es mucho más facil conectarlo y leerlo...

Saludos y muchas gracias,
Pablo.



83
STX8081 / Re: Envío de emails
« : mayo 23, 2014, 08:12:15 am »
Hola Boris,

Me demoré mucho en responder sobre este tema porque tenía que dar con la circunstancia en que se produce la anormalidad.
Hace ya algunas semanas le puse que 1 vez por día se haga la reasignación del servidor SMTP (SmtpInit), y creí que esta solución sería definitiva.
Sin embargo, ayer hice una prueba de forzar un evento que siempre me manda un email de notificación, y no salió. SMTP Error 127. Desenchufé el PLC y lo volví a enchufar, forcé de nuevo el evento, y salió el mail correctamente.

Estuve pensando (mas o menos en línea con lo que vos escribías) que quizá puede tener que ver con el hecho de que todos los días yo tengo un IP diferente, porque el router se rebootea automaticamente 1 vez por día. Y que por alguna razón, la resolución del nombre del servidor SMTP no sea válida para el nuevo IP del día... no sé...

Saludos,
PG

84
STX8081 / Sensor de temperatura
« : mayo 22, 2014, 12:45:33 pm »
Hola Boris, buenos días,

Estoy pensando en conectar un sensor de temperatura al PLC, y no me decido todavía cuál utilizar.
Estas son las opciones que he visto:
a- DS18B20: sensor tipo chip, salida serial digital 1-wire (este es el que más me gusta)
b- DHT11: sensor de temperatura y humedad salida digital serial
c- LM35: sensor tipo chip salida analógica

Hay alguno de los digitales (a,b) para el que ya se haya desarrollado el software Pawn de lectura?
El que más me gusta es el DS18B20, porque te permite poner varios sensores utilizando el mismo bit serial de lectura. Pero no estoy seguro si usando Pawn será posible hacer la lectura de dicho sensor.

Desde ya muchas gracias por tu opinión.
Saludos,
Pablo.

85
STX8081 / Re: Envío de emails
« : abril 29, 2014, 08:37:54 am »
Hola Boris,

El resultado es 127 (positivo).

Con respecto a si es necesario recargar el firmware o simplemente rebootear el PLC... no lo puedo saber por el momento. Lo que siempre me quedó más cómodo es reenviar el firmware desde la PC, para no tener que ir a desenchufarlos.

Como tengo una función que se ejecuta 1 vez por día, estoy considerando la posibilidad de utilizarla para poner allí una "reasignación" diaria de los parámetro del SMTP, para asegurarme... qué te parece ?

Saludos,
Pablo.

86
STX8081 / Re: Envío de emails
« : abril 25, 2014, 19:51:25 pm »
Hola Boris,

Te molesto de nuevo para hacerte una consulta sobre el envío de mails.

Yo tengo en mi software (en Pawn) configurada la inicialización para el envío de emails (SmtpInit) al comienzo del programa, FUERA del lazo principal. O sea que SmtpInit se ejecuta una vez.

Posteriormente, cuando debo enviar emails, llamo a una función EnviarEmail(), que contiene el SmtpSend(). Y anda OK.

La consulta es esta: luego de muchos días o semanas de estar el software en funcionamiento, le hago una prueba de envío de notificaciones por email, y los mails no salen, y SmtpGetStatus() retorna -127.
Inmediatamente pruebo a recargar el software (compilo y envío al PLC), con lo cual se resetean las variables, le hago la prueba de notificación, y me sale bien.

Concretamente lo que me parece que está ocurriendo es que "con el paso del tiempo", se borra la configuración que se está cargando en SmtpInit(). Es como si se estuviera "pisando" o borrando dicha configuración...

Saludos y muchas gracias,
Pablo.


87
STX8081 / Re: Dos consultas sobre sintaxis y funcionamiento en Pawn
« : marzo 31, 2014, 16:29:04 pm »
Hola !

Hice el upgrade del firmware del PLC y me parece que ahora los TimeOuts funcionan perfecto.

No lo pude probar completamente porque tengo caído el servicio de Arnet y con eso algunas funcionalidades no me andan, pero igualmente estoy casi 100% de que ya está funcionando bien.

Muchas gracias !
Saludos,
Pablo.

88
STX8081 / Re: Dos consultas sobre sintaxis y funcionamiento en Pawn
« : marzo 26, 2014, 08:18:39 am »
Muchísimas gracias Boris.

Apenas haga el upgrade de firmware veo como funciona y te aviso.

Saludos,
Pablo.

89
STX8081 / Dos consultas sobre sintaxis y funcionamiento en Pawn
« : marzo 24, 2014, 20:15:07 pm »
Hola Boris, qué tal ?   Tengo un par de consultas relativas a programación Pawn:

1) Las operaciones AND y OR tienen algun tipo de precedencia entre sí?
   Concretamente: La operación AND (&&) parece tener precedencia sobre la OR (||):

   if( (Condicion1) && (Condicion2) ||
       (Condicion3) && (Condicion4) ||   
       (Condicion5) && (Condicion6) ||
       (Condicion7) && (Condicion8) )
   {
      Accion
   }

   Si es como a mí me parece, entonces la expresión anterior se evaluará  "renglón por renglón", sin tener que ponerle un paréntesis a cada renglón, de la siguiente forma:

   if( ((Condicion1) && (Condicion2)) ||
       ((Condicion3) && (Condicion4)) ||   
       ((Condicion5) && (Condicion6)) ||
       ((Condicion7) && (Condicion8)) )
   {
      Accion
   }

   O sea que sería igual hacerlo de cualquiera de las dos formas. Es correcto ??


2) Estoy teniendo un problema con los temporizadores tipo Timeout, por el hecho de que todos los Timeouts "comparten" la misma función de servicio @OnTimeout(). El esquema es el siguiente:

Al comienzo del programa:

   // Inicializar los temporizadores tipo Timeout
   TimeoutInitEvent()
   
   // Lanzar el Timeout1 para enviar el primer email al cabo de 10 segundos
   Timeout1SetEvent(10)


En otra parte del programa:

   // En ciertas condiciones, prende una luz en RELAY3, temporizada con Timeout2
   if (Sensor_PIR == 1)
   {
      Forzar_RELAY3 = 1
      Timeout2SetEvent(60)
   }


Y esta es la función de servicio de todos los timeout:

@OnTimeout()
{
   // Comprobar si Timeout1 ha expirado: enviar el email de Power-On
   if(Timeout1Check() == 1)
   {
      email_accion = "ENVIAR EMAIL"
      SendMail = 1
      
      // Borrar el Timeout1 para que no se repita
      Timeout1ClrEvent()                    [1]
   }

   // Comprobar si Timeout2 ha expirado: Apagar la luz en RELAY3
   if(Timeout2Check() == 1)
   {
      Forzar_RELAY3 = 0
      
      // Borrar el Timeout2 para que no se repita
      Timeout2ClrEvent()                    [2]
   }

   return 0
}

Al principio, no tenía colocada ninguna de las 2 instrucciones [1] y [2], con lo cual se producía el siguiente efecto: al cabo del primer Timeout1, se enviaba el mail (bien), pero con cada disparo del Timeout2, además de prenderse (y apagarse) la luz en RELAY3, también
se despachaba un email (mal), debido a que Timeout1Check() quedó en "1".

Leyendo el manual, deduzco que cuando un TimeoutX finaliza, la función TimeoutXCheck() retorna "1" en forma permanente de ahí en más, hasta que se lo resetee.

Entonces agregué en ambos lugares [1] y [2] los correspondientes reseteos de los temporizadores, para que cada uno se ejecute solo una vez hasta que se lo regenere de nuevo. El problema que me hace ahora es que cuando se da la condición de prender la luz en RELAY3, ésta se prende bien, pero no se apaga más.

Es como que hay alguna interacción rara entre las funciones TimeoutXClrEvent().  No logro discernir si una influye sobre la otra, pero pareciera que Timeout1ClrEvent() borra Timeout1 y también el Timeout2, y viceversa.

Puede ser que haya un error de firmware ??

Desde ya muchas gracias y un gran saludo,
Pablo.

90
STX8081 / Re: Consultas sobre uso del ModBus
« : marzo 20, 2014, 13:09:31 pm »
Hola Boris,

Gracias por tu respuesta. Me demoré en responder porque probé muchos softwares tipo mini-SCADA sobre ModBus bajo Android.

El mejor de todo es Tesla Modbus Scada (https://play.google.com/store/apps/details?id=modbus.tesla.scada). Realmente espectacular, y muy fácil de configurar. Podés armar una página con un diseño propio que refleje un mímico del equipo bajo monitoreo.
El único problema es que es pago, y cuesta como U$S 170 (!!).
Lo tengo funcionando en mi Android y es un espectáculo. Lamentablemente dentro de 60 días dejará de funcionar.

El otro que tengo en la mira es el UNIGO Evolution (https://play.google.com/store/search?q=unigo&c=apps), que también es pago, pero solo cuesta $ 57. Todavía no lo probé, pero tengo intenciones de probar con éste.

Un comentario aparte:
Así como tenemos una función SMTP, se te ocurrió alguna vez implementar una función POP3 para poder enviar comandos a un PLC via email ? Yo la estuve pensando, y me parece que tendría que ser algo muy muy básico, tal como: ver si haciendo POP3 a una cuenta de email, aparece un mail que contenga un cierto TEXTO en el SUBJECT. Si al parsear el subject está presente dicho texto, la función POP3 da un resultado positivo, y es responsabilidad del programador "parsear" ese texto y tomar las acciones correspondientes.

Saludos !
Pablo.

Páginas: 1 ... 4 5 [6] 7