Páginas vistas en total

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:

      SyntaxHighlighter 3 test en blogger

      #!/usr/bin/python
      
      # statusbar.py 
      
      import sys
      from PyQt4 import QtGui
      
      class MainWindow(QtGui.QMainWindow):
          def __init__(self):
              QtGui.QMainWindow.__init__(self)
      
              self.resize(250, 150)
              self.setWindowTitle('statusbar')
      
              self.statusBar().showMessage('Ready')
      
      
      app = QtGui.QApplication(sys.argv)
      main = MainWindow()
      main.show()
      sys.exit(app.exec_())
      
      

      sábado, 18 de junio de 2011

      Compartir Internet con Firestarter

      Firestarter es un cortafuego de Linux con interfaz gráfica y una de las cosas que permite configurar es la de compartir una conexión a Internet con otro equipo.
      Primero se necesitan 2 interfaces de red, una con la conexión a Internet y la otra para conectar la segunda maquina.
      Para instalar ejecutar lo siguiente en consola:




      Luego en mi caso como tengo la conexion a Internet en forma inalámbrica debo saber cual es el rango IP:
      Para la interfaz de red LAN debo elegir un rango diferente, en mi caso he puesto 10.0.0.1 con mascara 255.255.255.0 y puerta de enlace se deja en blanco:
      Ahora se ha conectado un cable de red cruzado a la segunda maquina y se ha configurado una dirección IP en el mismo rango, 10.0.0.2 con mascara 255.255.255.0 y puerta de enlace 10.0.0.1, también se necesita ingresar la dirección DNS que es la misma de la conexion a Internet en la interfaz inalámbrica, 192.168.1.254:
       Se debe iniciar Firestarter desde el menú y seguir las instrucciones a través del wizard:

      Luego se debe elegir la interfaz que esta conectada a Internet, en este caso wlan0:

      Después seleccionar donde dice "Enable Internet connection sharing" y elegir la interfaz donde se va a compartir, en este caso eth0:
      Por ultimo se debe iniciar Firestarter:
      Así finalmente se tiene acceso a Internet en ambas maquinas.

      jueves, 17 de febrero de 2011

      Conexion serial al router D-Link DIR-600 con firmware DD-WRT

      El router DIR-600 es un equipo económico el cual puede ser actualizado con el firmware DD-WRT para aprovechar al máximo sus capacidades. En esta oportunidad se ha experimentado con el puerto serial disponible en el interior del dispositivo, en este caso con la finalidad de efectuar un reset por una mala configuracion que dejo inaccesible su restauración a través de las bocas Ethernet.









      La conexión debe hacerse a 57600 bps, 8 bits, sin paridad, 1 bit de stop y sin control de flujo. Algo de tener en consideracion es que el router tiene niveles TTL de 3.3 V(aqui se puede ver el orden de los pines). Para tener el nivel deseado se ha alimentado el chip MAX232CPE desde el mismo conector del router, donde esta disponible el pin Vcc con 3.3 V.

      jueves, 27 de enero de 2011

      El kernel 2.6.38, con mejoras de rendimiento de hasta el 50%

      El kernel 2.6.38, con mejoras de rendimiento de hasta el 50%: "Se acaba de lanzar la primera versión Release Candidate del núcleo Linux 2.6.38, y entre las novedades está una mejora de rendimiento sustancial gracias a la eliminación de uno de los grandes “cerrojos” que limitaban ciertos apartados. En el kernel 2.6.37 se eliminó por fin el llamado Big Kernel Lock (BKL) pero aparentemente había al [...] Related posts:
      1. Linux Kernel 2.6.37: Ext4 y virtualización, mejoras destacadas
      2. Linus Torvalds cree que el núcleo básico de Linux está inflado, lo que reduce su rendimiento
      3. El kernel Linux 2.6.35, disponible: ¿qué hay de nuevo?


      "

      viernes, 21 de enero de 2011

      Consumo de Firefox beta 10 en Ubuntu 10.10

      He instalado la version beta de Firefox en ubuntu para probar si anda mejor que el 3.6. Siempre veo mis feeds con Google Reader y la verdad despues de un rato se pone lento para navegar o en el mismo scroll down.
      Teniendo solamente 2 pestañas el consumo de memoria y procesador es muy alto, hasta el punto de comenzar a usar la swap.



      Segun htop esta consumiento 367 MB mas 149 MB el plugin flash. Se ha probado tambien en Windows XP en la misma maquina y no llega al consumo exacerbado de recursos.

      martes, 18 de enero de 2011

      Graficar parametros de UPS con Cacti y snmp

      Cacti es un software Open Source para generar graficos y monitorear dispositivos de red con capacidad snmp (también se pueden usar script de Linux para adquirir datos), utiliza la herramienta RRDTool para el almacenamiento de los datos. Cacti es similar a MRTG, pero es mas sencillo de utilizar puesto que utiliza plantillas xml para definir dispositivos, fuentes de datos, graficos, etc.
      Partiendo de la base de que ya esta instalado y configurado, en mi caso en una maquina con Debian Lenny, se va a mostrar como agregar un dispositivo del cual no existe plantilla. Se trata de una UPS PROFLEX 1KS con tarjeta snmp Netmate II, en el CD de instalación se encuentra el mib el cual es un archivo que tiene las definiciones snmp del dispositivo. Este archivo se copio a /usr/share/snmp/mibs de esa manera al ejecutar snmpwalk el archivo es encontrado automaticamente.
      Primero se ha usado un mib browser con GUI para ver los OID en el archivo, el programa es de iREASONING y es gratis para el uso personal, también se puede usar otro como mibble que también es multiplataforma y basado en java. Se desea graficar la carga o consumo de la UPS por lo que se va a buscar upsSmartOutputLoad.


      mibble
      Mib Browser

      Se han buscado algunos parámetros importantes, como Voltaje de entrada, temperatura, porcentaje de carga, etc.
      Voltaje Linea

      Porcentaje de carga

      Temperatura
      Como se puede ver los valores deben ser escalados en 1/10 para que se muestre con la escala correcta. Luego en Cacti lo primero es crear es dispositivo, donde se incluye la información como nombre, IP, versión snmp, community, etc.


       Luego en Data Templates se ha elegido el SNMP - Generic OID Template que se usará como ejemplo de OID, donde se deben ingresar los datos como nombre, el tipo de datos(en este caso Get SNMP Data, sin index) y el nombre de la fuente de datos. Si no existe un Data Source Item se debe agregar uno, ponerle nombre, en los parámetros valor máximo y mínimo dejar en cero, luego en Custom Data en la entrada OID, poner el identificador que corresponda. Ahora se desea graficar upsSmartOutputLoad o porcentaje de carga o consumo de la UPS.

      Se ha duplicado el OID generico


      Se edita el OID para graficar el dato que corresponda
      Después se crea la plantilla de gráfica, también a partir de un ejemplo SNMP - Generic OID Template, se debe elegir la fuente de datos que se ha creado anteriormente.
      En el menú de Graph Template se tienen los Graph Template Items y los Graph Item Inputs, en el primero se deben ingresar los items a graficar, en este caso se gráfica upsSmartOutputLoad como Area. Los GPRINT son los valores que se muestran bajo la grafica y se han incluido valores Actual, Promedio y Máximo.

      Graph Template
      Editar los items de la grafica
      Finalmente se debe crear la gráfica de Carga o consumo de la UPS a partir de la plantilla, por lo que se va al menú New Graphs, se busca el Host o dispositivo en este caso la UPS y se busca la plantilla en Graph Templates. Aparece un menú donde se puede cambiar el titulo, la etiqueta vertical que muestra la unidad de medida.



      Luego de un momento se pueden ver los resultados en la gráfica, los intervalos de muestreo pueden ser de 1 minuto o de 5 minutos como mínimo.

      Primera lectura

      Lo ideal es hacer una plantilla o utilizar una para tener todos los OIDs del dispositivo de una vez y además tener graficas prediseñadas, pero en este caso solo contaba con el Mib de la tarjeta.