Vistas de página en total

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.