Fonera Serial

- 2 mins read

Borrar la nvram

mtd -r erase nvram

Configuración Wan - disabled STP - enabled

Configurar el wireles con el mismo ssid que el router de casa En security asignar los permisos En el setup básico darle una IP de las de casa

Recovery

Como la fonera esta estropeada he tenido que hacer un recovery ..

Para empezar la he conectado al arduino, así puedo usar el terminal (terraterm) para acceder al RedBoot

Fonera Serial

- 2 mins read

Material - Un router la fonera.

Código Una vez establecidas las conexiones usando el terminal pordemos acceder al puerto serie de la fonera via el arduino.

He instalado el openWrt Instalando openWrt Kamikaze (me ha gustado más que el ddwrt) ademas me deja casi 4Mb libres en la memoria de la fonera y he instalado algunos paquetes que me han interesado.

Aunque he estado enredando con el el ser2net (ser2net) al final he optado por el netcat, me explico.

Polarshow

- 1 min read

Mi pequeño proyecto PolarShow ha tomado un poquito más de cuerpo, estoy ya en la versión 0.70 y prácticamente tiene ya todas las características que se pueden encontrar en polarpersonaltrainer.com

En esta versión hay un calendario con un resumen semanal de las sesiones de entrenamiento

También he ajustado algunos de los gráficos para que se muestren más claramente, el gráfico de sesiones por defecto muestra las 10 últimas sesiones salvo que se seleccionen otras

Para un proyecto que estoy realizando, he realizado una prueba de concepto probado a aplicar lógica difusa con el fin de realizar ciertas acciones a partir de una serie de datos imprecisos.

A la hora de expresar las reglas encargadas de modelar nuestro sistema de lógica difusa, (IF-THEN) la mayoría de los sistemas que he visto requerían de un pequeño y simple analizador sintáctico para interpretar las reglas, en este punto me he preguntado si en vez de un analizador sintáctico, podríamos usar expresiones lambda y una interfaz fluida.

Polar RS300X GUI

- 3 mins read

Estas navidades el Olentzero, Santa Claus, Papa Noel ó uno mismo, vaya ud. a saber … me dejo un pulsometro Polar RS300x, uno de esos aparatitos que te miden las pulsaciones (para evitar que a los que nos vamos haciendo mayores nos dé un chunguito)

La verdad es que no está nada mal, viene con el transmisor WearLink que es la cinta que te atas en el pecho que se encarga de enviar la frecuencia cardiaca al reloj, con un sensor S1 que es un podómetro que te pones en la zapatilla y una vez calibrado, mide la distancia y la velocidad, y finalmente con el FlowLink que es un dispositivo USB a través del cual puedes enviar la información a una web para (www.polarpersonaltrainer.com) para mantener un histórico de las sesiones de entrenamiento.

Habíamos visto la parte relacionada con el Lexer el analizador morfológico. Como es obvio detrás debe haber un analizador sintáctico y semántico el Parser.

El analizador sintáctico y semántico (NParser) se ha implementado siguiendo el patrón interpeter, (seguramente sea uno de los que menos se ven), el objetivo es obtener los distintos Tokens desde el Scanner y montar un árbol sintáctico (AST) este árbol contiene Nodos (ASTNodeBase) y estos nodos representan de manera abstracta y simplificada la estructura sintáctica de la consulta en SQL.

Bueno, esta es la última entrega a partir de hoy el proyecto se encuentra en CodePlex (yacamlqt.codeplex.com).

En esta última parte solo unas pequeñas notas para el usuario final.

Bien, para usar YACAMLQT, dentro de tus proyectos, solo hay que referenciar la dll (IdeSeg.SharePoint.Caml.QueryParser.dll) y el uso sería el siguiente:

try
{
    var parser = new NParser(textTSql, new ASTNodeCAMLFactory());
    var generator = new CodeGenerator(parser.Parse());
    generator.Generate();
    return _formatTools.FormatXml(generator.Code);
}
catch (ParserException ex)
{
      _view.Status = ex.Message;
  }
  catch (ScannerException ex)
  {
      _view.Status = ex.Message;
  }

Instanciamos el Parser (NParser), le pasamos la consulta en TSQL (textSql) y la factoría correspondiente a lo que queremos generar, por el momento solo está disponible la de CAML, en breve completaré la de CAML.Net; Por último inyectamos el Parser en el Generador de código, llamamos al método Generate y recogemos la consulta en CAML en generator.Code.