Vistas de página en total

viernes, 25 de mayo de 2012

SPINE: Poller[0] FATAL: Connection Failed: Too many connections (Spine thread), Mysql

Para solucionar el problema de "muchas conexiones" en mysql se debe modificar la variables max_connections que por defecto tiene el valor de 100. Este error apareció en Debian Lenny con el sistema cacti instalado, el log muestra lo siguiente:

05/25/2012 04:18:00 PM - SPINE: Poller[0] FATAL: Connection Failed: Too many connections (Spine thread)

Consultar las variables en mysql:
mysql> show variables;
    -> | max_connect_errors              | 10                          |
    -> | max_connections                 | 100                         |
    -> | max_delayed_threads             | 20                          |



Se observa que max_connections=100 Cambiar la variable con el siguiente comando:
mysql> set global max_connections=200;

Cambiar la variable max_connections en el archivo:
/etc/mysql/my.cnf

Reiniciar mysql:
# /etc/init.d/mysql restart

Referencias:

lunes, 28 de noviembre de 2011

Tracker TK103 y servidor OpenGTS

Se ha probado el dispositivo TK103 en funcionamiento GPRS, enviando los datos de posición a un servidor Debian con OpenGTS.
La configuración del dispositivo se realizó a través de mensajes de texto siguiendo en manual de usuario. Al parecer existen dos o mas versiones del dispositivo, en el manual aparece con el nombre GPS103-A/GPS103-B. Al visitar la pagina del fabricante aparece el manual del TK103-2 que tiene algunos comandos SMS diferentes.
Luego de configurar la IP y puerto del servidor se debe poner el dispositivo en modo GPRS. La prueba se realizó con intervalos de 60 segundos, según aparece en el manual nunca se debe configurar en menos de 30 segundos. Se observa en el log del servidor que los intervalos no son exactos, existen diferencias de hasta 30 segundos.
El dispositivo envía en su trama un campo de estado, normalmente contiene el string "tracker", cuando se presiona el botón de pánico cambia a "help me" y el mensaje se envía inmediatamente después de apretar el botón.
El servidor OpenGTS interpreta el estado de acuerdo a la velocidad del vehículo, por defecto mas de 3 kph indica que esta en movimiento. Esto se configura a través del servidor del dispositivo que en este caso se llama tk10x, se deben ajustar algunos valores para llegar a obtener la información que deseamos.
Al hacer click en cualquiera de los marcadores de la ruta se despliega un globo con la información referente a ese punto.

jueves, 27 de octubre de 2011

No ACK Mode for PtP Ubiquiti Rocket M5

En un enlace de 40 Km con Ubiquiti Rocket M5 y antenas parabólicas de 30 dBi se ha probado el ultimo firmware disponible en este momento, 5.3.3. Con respecto a las pruebas que se realizaron se habilito Airmax con alta prioridad, el enlace muestra 94 Mbps de ancho de banda. Al hacer ping al equipo remoto se ven variaciones de hasta 100 ms, estando con un valor medio de 50 ms.

Un enlace inalámbrico normal de 20 Km con equipos Ubiquiti tiene un ping normal de entre 1 y 5 ms, por lo tanto se ha configurado en las opciones de Airmax deshabilitar "No ACK Mode for PtP". Después de esto el enlace de 40 Km muestra un ping promedio de 3 ms con muy poca variación, Airmax continua habilitado.

martes, 6 de septiembre de 2011

SyntaxHighlighter Evolved en Blogger

SyntaxHighlighter permite publicar codigo fuente con sintaxis resaltada en varios de los lenguajes de programacion mas usados. Para usarlo en Blogger debe estar alojado en algun servidor externo, ha estado disponible en la pagina alexgorbatchev.com, pero estos dias no esta disponible por alguno razon desconocida.
Para continuar usando estas librerias javascript lo he subido a un host desde la pagina http://wordpress.org/extend/plugins/syntaxhighlighter, dentro del archivo zip he subido a mi host http://janopalma.web44.net/syntaxhighlighter3 la carpeta syntaxhighlighter3. Luego se debe editar la plantilla de Blogger en HTML y agregar bajo la etiqueta lo siguiente:





En este caso estoy utilizando el tema shThemeRDark.css, luego para agregar codigo fuente con resalto de sintaxis se debe poner entre las etiquetas <pre class="brush:text"> Mi codigo aqui</pre>
, donde brush:text se reemplaza por el lenguaje que desee. Ejemplo

<pre class="brush:python">import sys
import os
print "hola mundo"
</pre>

queda de la siguiente forma:
import sys
import os
print "hola mundo"

Ahora sé que han movido el código a GitHub

miércoles, 20 de julio de 2011

Configuracion TK203-GPS Tracker System

El TK-203 GPS Tracker System es un dispositivo que permite el seguimiento de vehículos a través de posicionamiento GPS y la red de datos GSM/GPRS.


Según se vio en el manual de usuario toda la configuración se hace a través de mensajes de texto (SMS). Como esta es una opción incomoda de configuración se intento encontrar algún puerto serial o USB para ver si era posible configurarlo localmente.
Efectivamente existe un puerto USB oculto desde el exterior, es un puerto no estándar según wikipedia (proprietary (not USB)). Se probó con un cable de una cámara SONY Cybershot que tiene el mismo conector, pero no funcionó, en el PC se vio el mensaje de que el dispositivo estaba consumiendo mas corriente de la permitida (500 mA máximo).
Lo siguiente fue proceder a probar la configuración a través de SMS, así que se conectaron las antenas, se utilizó un chip de Movistar con plan de datos con el PIN desactivado y probado para enviar y recibir mensajes con un teléfono.

Con el manual de usuario se realizo los siguientes pasos con la clave original (123456):
  1. Inicialización: todos los parámetros por defecto
    • begin123456
  2.   Configuraciónde zona horaria:
    •  time zone123456 -4
  3. Obtener el código IMEI:
    • imei123456
En cada mensaje que se envía, el dispositivo responde con otro mensaje de confirmación por ejemplo "Begin ok".
Para comenzar a recibir datos de posición se debe enviar el mensaje "t060s***n123456", en este caso el intervalo de muestreo es de 60 segundos y se envían datos todo el tiempo. Si se desea recibir un número determinado de datos se debe poner en "***n", por ejemplo "010n" enviara 10 datos de posición.
Todo lo anterior se hace a través de mensajes SMS, como el sistema también trabaja con GPRS se realizó la prueba con el software de gestión del mismo proveedor. El software se llama GPS Tracker, funciona con los mapas de Google Maps y aquí esta el manual.
Para utilizar GPRS se debe configurar de la siguiente manera:
  1. Configuración del APN (de Movistar Chile en este caso):
    • apn123456 wap.tmovil.cl
  2. IP y puerto del server con el software GPS Tracker:
    • adminip123456 10.10.10.2 7070
  3. Configuración de user y password para el login GPRS:
    • up123456 wap wap
  4. Comenzar a recibir datos en el server:
    • t060s***n123456
Se instaló el software en un notebook el cual tiene asignada una IP pública por lo que no es necesario hacer port forwarding en el router. En caso de tener una IP dinámica asignada con PPPoE en el router ADSL, se debe hacer port forwarding en el puerto 7070 por ejemplo y poner la IP asignada en ese momento, o utilizar un servicio DDNS como no-ip.org
Cuando se inicia el envio de datos con "t060s***n123456", estos son recibidos en el servidor como se muestra en el screenshot:
El software permite configurar varios dispositivos, se debe ingresar en Device ID el código IMEI que se obtiene con el mensaje "imei123456". En un principio no se obtenían datos por que estaba mal configurado el APN, se había puesto web.tmovil.cl el cual se usa en las conexiones 3G de la compañía y también se debe ingresar el user y password, user es "wap" y password es "wap" con el mensaje "up123456 wap wap".
Algo que no se ve en los datos recibidos es el sentido del movimiento del vehículo, que es básico en la trama de un GPS normal.

      lunes, 18 de julio de 2011

      Tracking en Tiempo Real con InstaMapper y Android

      Aprovechando las capacidades de Android y el software disponible, he probado el sistema de tracking en tiempo real de InstaMapper. La pagina permite hacer hacer un seguimiento de muestro dispositivo móvil a través de la red de datos GSM, EDGE, WIFI, etc. Debemos tener un smartphone de los que aparecen en la lista, en este caso se esta probando con un LG Optimus One con Android Froyo 2.2
      Primero debemos registrarnos en la pagina de InstaMapper, después añadir un dispositivo en el menú de Devices:
      Con esto se crea una llave única que luego debe ser ingresada en el software del dispositivo móvil.
      Para el dispositivo Android he descargado el archivo http://www.instamapper.com/download/GPSTracker.apk que también esta en Android Market.
      Una vez instalado se debe configurar con la llave que se generó en la pagina web:
      Se debe esperar la sincronización del GPS para que comience a enviar los datos al servidor. Primero se ha probado con la conexión WiFi:
      El programa se muestra en las notificaciones cuando esta en funcionamiento:
      Luego se ha desactivado la conexión Wi-Fi para que los datos se envíen a través de 3G como se ve en la barra del Optimus One (la H es de HSDPA):
      Con este tipo de conexión también funciona sin problema, así que se ha probado con 2G donde se estable una conexión EDGE como se ve en la barra:
      El resultado después de un rato es el siguiente:
      Esta prueba se ha realizado con un intervalo de 50 segundos en un dispositivo móvil Android con GPS incorporado y se ha probado con varios tipos de conexiones inalámbricas.

      miércoles, 22 de junio de 2011

      Habilitar HTTPS en Apache en Debian Lenny

      Se tiene instalado Apache y cacti en Debian 5.0 y se desea acceder al servidor en forma segura.
      Instalacion de openssh:
      #aptitude install openssl
      Habilitar SSH en apache:
      #a2enmod ssl
      Verificar que se este escuchando en el puerto 443 en el archivo /etc/apache2/ports.conf y buscar "Listen 443":
      NameVirtualHost *:80
      Listen 80
      
      
          # SSL name based virtual hosts are not yet supported, therefore no
          # NameVirtualHost statement here
          Listen 443
      
      
      
      Generar clave privada en /etc/ssl/private/
      openssl genrsa -out casaserver.key 1024
      
      Generar el archivo csr(Certificate Signing Request):
      openssl req -new -key casaserver.key -out casaserver.csr
      
      Despues autofirmar en certificado, con un periodo de validez que se desee:
      openssl x509 -req -days 365 -in casaserver.csr -signkey casaserver.key -out casaserver.crt
      

      Buscar en /etc/apache2/sites-available/ un sitio como default-ssl o crear uno e incluir:
      SSLEngine on
      SSLCertificateFile /etc/ssl/private/casaserver.crt
      SSLCertificateKeyFile /etc/ssl/private/casaserver.key:

      
      
              ServerAdmin webmaster@localhost
      
              DocumentRoot /var/www/
              
                      Options FollowSymLinks
                      AllowOverride None
              
              
                      Options Indexes FollowSymLinks MultiViews
                      AllowOverride None
                      Order allow,deny
                      allow from all
              
      
              ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
              
                      AllowOverride None
                      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                      Order allow,deny
                      Allow from all
              
      
              ErrorLog /var/log/apache2/error.log
      
              # Possible values include: debug, info, notice, warn, error, crit,
              # alert, emerg.
              LogLevel warn
      
              CustomLog /var/log/apache2/ssl_access.log combined
      
              Alias /doc/ "/usr/share/doc/"
              
                      Options Indexes MultiViews FollowSymLinks
                      AllowOverride None
                      Order deny,allow
                      Deny from all
                      Allow from 127.0.0.0/255.0.0.0 ::1/128
              
      
              #   SSL Engine Switch:
              #   Enable/Disable SSL for this virtual host.
              SSLEngine on
      
              SSLCertificateFile    /etc/ssl/private/casaserver.crt
              SSLCertificateKeyFile /etc/ssl/private/casaserver.key
      
              #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
              
                      SSLOptions +StdEnvVars
              
              
                      SSLOptions +StdEnvVars
              
              BrowserMatch ".*MSIE.*" \
                      nokeepalive ssl-unclean-shutdown \
                      downgrade-1.0 force-response-1.0
      
      
      
      
      
      
      Habilitar el sitio default-ssl:
      a2ensite default-ssl
      
      Por ultimo reiniciar apache:
      /etc/init.d/apache2 restart
      
      Para acceder solo en forma segura se debe dehabilitar el sitio default y crear un sitio para redireccionar.
      Para deshabilitar el sitio default de Apache buscar en /etc/apache2/sites-enabled/ y aplicar:
      #a2dissite 000-default
      
      En este caso el sitio se llamaba 000-default.
      Luego en /etc/apache2/sites-available/ crear con un editor el archivo redir con este contenido:
      
          RewriteEngine on
          RewriteLog /var/log/apache2/https_rewrite.log
          RewriteLogLevel 1
          RewriteCond %{SERVER_PORT} !^443$
          RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
      
      
      Luego habilitar el modulo rewrite:
      a2enmod rewrite
      
      Y reiniciar Apache, asi siempre se accederá con https aun cuando se escriba http.
      Sitios de referencia: