miércoles, 16 de mayo de 2012

Configuracion XBEE


Existen varios métodos y programas disponibles para configurar los Xbee, aunque básicamente se trata de conectarnos a través de la terminal para iniciar modo comando y modificar las propiedades de fabrica. 

Los modulos tienen una configuración de fabrica con el PAN ID asignado de 3332, una tasa de transferencia de 9600 baudios con datos de 8 bits.
PAN ID ( personal area network): es el nombre de la red dentro de la cual se comunicaran nuestros modulos, el nombre de la red es un valor hexadecimal de 0 a FFFE.
MY ID: es el nombre que se le asigna a cada modulo también expresado en valores hexadecimales.
El siguiente paso es configurar el modulo, a continuación muestro algunas técnicas para realizar este trabajo.

Xbee Terminal: es un programa escrito por Tom Igoe para la plataforma processing el programa puede ser descargado de la siguiente dirección: http://www.makingthingstalk.com/chapter6/31/
  1. Conecta el Xbee al explorer usb de sparkfun.
  2. Descarga y ejecuta el programa en Processing
  3. Iniciamos modo comando escribiendo +++ en el xbee terminal. espera 3 segundos sin presionar enter para obtner la respuesta ok ( el modulo se desconecta de forma automática si no recibe comandos en los próximos 10 segundos por lo cual sera necesario iniciar el modo comando de nuevo)
  4. Revisamos la configuración de fabrica tecleando los siguientes comando con un enter al final de cada uno:
ATMY : muestra el nombre asignado al xbee
ATID: muestra el PAN id.
ATDL: muestra el nombre del radio con el cual nos comunicaremos
ATBD: muestra la tasa de transferencia en baudios
ATWR: graba nuestra nueva configuracion al xbee
ATCN: cierra el modo comando
Para configurar los modulos utilizamos los mismos comando agregando el nombre hexadecimal que queremos asignarles por ejemplo ATMY1234, ATID1010, ATDL5678.

XBee Terminal Max: es un programa mejorado basado en el código de Tom Igoe, las actualizaciones y mejoras al código son de la autoría de Max Whitney. Para utilizar este programa repetimos los pasos mostrados anteriormente.
Una configuración típica para comunicación single peer seria:

Radio 1 :          Radio 2: 
ATMY1234         ATMY5678
ATDL5678         ATDL1234
ATID1010           ATID1010
ATBD3                ATBD3 (9600)
 
XbeeConfigTool de Funnel: Funnel tiene su propio set de herramientas para trabajar con xbee, el XbeeConfigTool es el metodo mas sencillo para manipular la información de los modulos, el único problema es que solo es compatible con las series 1.
  1. Descarga el software.
  2. conecta el xbee explorer usb
  3. corre el programa
  4. selecciona tu puerto serial (ejemplo: /dev/cu.usbserial-A600al44)
  5. selecciona el modo : cordinador o endivice ( si vas a conectarlo al arduino selecciona endivice)
  6. ingresa el PAN ID y MY ID.
  7. click a configurar.
Repetimos los pasos con el programa de nuestra preferencia para poder tener dos o mas radios hablando en red. El modo de canal para conectar los radios es necesario en caso de crear mesh network. mas adelante trabajare en una red con estas características para explicar el proceso.

jueves, 10 de mayo de 2012

Controlar remotamente un LED usando PHP y xbee o procesing



En primer lugar, vamos a empezar con la interfaz web. Su función es dar al usuario la opción para cambiar ya sea el LED de encendido o apagado. Cuando uno de ellos se hace clic en el comando se escribe en un archivo txt como 1 (ON) o 0 (OFF) el valor.. 

La interfaz consta de tres archivos, una interfaz HTML, un documento PHP, y un txt. -archivo para almacenar valores.Así, en primer lugar crear estos archivos con un editor de texto:

    • index.html 
    • download.php 
    • textFile.txt
    • arduino
index.html
download.php

arduino

En caso de no contar con Xbee puede usar processing para interpretar la URL

miércoles, 9 de mayo de 2012

Tarea Intro : Lenguaje Ensamblador


El lenguaje simbólico que se utiliza para codificar los programas origen que se procesan por el ensamblador es llamado lenguaje ensamblador. Este lenguaje es una colección de símbolos mnemónicos que representan: operaciones (mnemónicos de instrucciones para la máquina o de directrices para el ensamblador), nombres simbólicos, operadores y símbolos especiales. El lenguaje ensamblador proporciona códigos de operación de los mnemónicos para todas las instrucciones de la máquina contenidas en la lista de instrucciones. Además, el lenguaje ensamblador contiene mnemónicos directrices, los cuales especifican acciones auxiliares que se llevan a cabo por el ensamblador.
Estas directrices no siempre son traducidas a lenguaje maquina. Un programador escribe el programa origen en lenguaje ensamblador utilizando cualquier editor de textos o procesador de palabras que sea capaz de producir una salida de texto en ASCII. Una vez que el código origen ha sido escrito, el archivo origen es ensamblado mediante su procesamiento a través de algún ensamblador.
Un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos de una llamada a sí mismo. La llamada a sí mismo se conoce como llamada recursiva o recurrente
Como tarea ensamblador realice un factorial recursivo el código esta en C
 
Después de tener el programa vamos a compilar para obtener el codigo en ensamblador con la instrucción
Con esto se generara un archivo ensamblador.s el cual se muestra cuenta con un total de 86 lineas de código
 Código en Ensamblador
Después lo siguiente fue optimizar el código eliminando las instrucciones que no son necesarias por ejemplo movimiento de memoria innecesaria también cuando recién se compila se generan algunas lineas innecesarias como .cfi,.file.type también fueron borradas entre otros
Código Optimizado .

Capturas de pantalla



Bibliografía
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblador/68HC11.html
http://www.friedspace.com/assembly/startoff.php
http://en.wikipedia.org/wiki/X86_assembly_language

jueves, 26 de abril de 2012

Capturar Datos de Sensor SHT15

En este tutorial aprenderemos a capturar datos del sensor SHT15 los almacenaremos en un documento esto servira para poderlos Graficar los datos para leer los datos seriales usaremos Python.






1.- Tenemos que instalar la librería para el sensor de temperatura

2.-Descomprimes el contenido en la carpeta donde están las librerías de Arduino

3.- El código para el Arduino es :


4.-No abras el serial de Arduino porque afecta la comunicación.

5.-Codigo Python
Creas un archivo llamado abc.txt en la carpeta donde esta el código