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




miércoles, 25 de abril de 2012

Publicar Datos de sensor SHT15 en PACHUBE

Actualizacion

Se cambio el nombre a Cosm

https://cosm.com/?pachube_redirect=true


Lo que haremos en este tutorial es mostrar los datos del sensor en pachube usando procesing y arduino

1.-Lo primero que tenemos que hacer es descargar arduino que se encargara de recibir los datos del sensor
Linux
Windows

2.- paso tenemos que descargar Processing que se encargara de hacer la tarea de enviar los datos a Pachube mediante una librería.
Linux
Windows

3.- instalar la libreria de Pachube Emml la usaremos para enviar los datos a pachube en tiempo real .
Se instalara la libreria en Processing

4.-Diagrama de conexiones 
5.- Registrarse en Pachube

Registro

Despues hay que crear un Feed y despues generamos la API key

Crearas un Dataestream que es el flujo de datos
0=Temperatura
1=Humedad





6 . Lo primero sera cargar el codigo de arduino 
7. Ahora el de Processing
Hay que ingresar el Api_key y la URL del feed por ejemplo:
API_KEY: aasd9ej53295u04692u4936340963406304
Url_feed: https://api.pachube.com/v2/feeds/57019.xml


---








jueves, 19 de abril de 2012

Tarea Ensamblador


LENGUAJE ENSAMBLADOR


El lenguaje ensamblador, o assembler (assembly language en inglés) es un lenguaje de programación de bajo nivel para los computadoresmicroprocesadoresmicrocontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitecturadada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicosque simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computadorfísica (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente sonportables.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.
Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y son llamados macro ensambladores.
Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, altos rendimientos, o un uso de recursos controlado y reducido.
Muchos dispositivos programables (como los microcontroladores) aún cuentan con el ensamblador como la única manera de ser manipulados.

Comenzando


Fuentes :


ConnectPortx2


El Gateway ConnectPort X2 para Smart Energy proporciona una conexión de bajo costo entre una Red de Área Doméstica (HAN) y las aplicaciones web remotoscomo Smartlee Digi ™ de aplicación para el iPhone y Android, o la utilidad alojadositios web diseñados para el compromiso con el cliente.

La intención de compartir la conexión del router propietario de una casa de banda ancha de Internet, el gateway ofrece casi en tiempo real de energía de acceso a datos y capacidades de control basado en los dispositivos de Energy Smart habilitadas en el domicilio del cliente, tales como una termostatos programables comunicación (PCT), en el Hogar Pantallas IHDs), y medidores de servicios inteligentes de energía.


iDigi Manager Pro es una característica de todas las pasarelas de Digi celulares, routers, dispositivos y componentes. iDigi Manager Pro proporciona un potente conjunto de herramientas de gestión de red, incluyendo autenticación, gestión de configuración, gestión de cuentas, actualizaciones asincrónicas y alertas, grupos y programasindividuales de actualización, la red de almacenamiento de datos y programación depuerta de enlace.

iDigi Manager Pro permite a TI, operaciones de red y de las organizaciones de apoyo al cliente para vencer los desafíos de la gestión de la amplia gama de equipos celularesen las redes de sus dispositivos. Los administradores de red de forma remota puedeconfigurar, actualizar, supervisar y solucionar problemas de dispositivos remotos, y crear aplicaciones que mejoren la productividad, rapidez y eficiencia.



Gateway xig

El Gateway XBee ("xig") es una aplicación escrita para la serie de DigiConnectPort de XBee a IP gateways. El portal de Internet XBee confiere a cualquier dispositivo la posibilidad de conectarse sin problemas a Internet mediante la duplicación de las interacciones de los seres humanos tienen con los navegadores web.Los dispositivos con una radio XBee puede enviar una URL a la xig y recibir de vuelta el contenido de esa página web. Todos los aspectos técnicos difíciles de conexiones de la red se manejan para usted detrás de las escenas.

Este portal ofrece su prototipo o un dispositivo de una vía simple y completamente flexible a cualquier servicio web que te puedas imaginar, incluyendo la publicación devalores de los sensores, el raspado de Facebook o al mando de su ejército robóticogatito. Es gratis para descargar y toda la documentación está disponible en línea. El xigpuede utilizarse de forma independiente. También puede estar relacionado con iDigi para la configuración remota de dispositivos de red y las características de empuje.

Xig es de código abierto escrito en Python es un esfuerzo por parte de los entusiastas deInternet de las cosas Rob Faludi, Husney Jordania y Ted Hayes, con el valioso apoyo deuna comunidad de usuarios comercial y educativo.

The XBee Internet Gateway (XIG) is a Python script for Digi’s ConnectPort wireless to ethernet gateway which lets you connect your XBee wireless modules to the internet fairly easily. Jordan Husney, lead programmer of the XIG project, has started releasing a series videos all about XIG and what you can do with it. In the first video, Jordan introduces XIG and walks through the process of setting up the gateway. The XIG is also discussed in Rob Faludi’sBuilding Wireless Sensor Networks and is a core component of my ownNetworked On Air Light project. If you’re looking for a way to put your project online using wireless mesh networking, be sure to check out XIG.

code.google.com/p/xig/

Esto es lo que se planea hacer siguiendo este esquema 




Fuente:
code.google.com/p/xig/

miércoles, 7 de marzo de 2012

Iniciando DFRobot Rover

DFRobot Rover - Compatible con Arduino es un tanque versátil robot móvil basado en el popular microcontrolador Arduino Duemilanove. El Rover utiliza el popular sistema Tamiya caja de cambios de doble motor y la pista de Tamiya y juego de ruedas.  
El PCB DFRobotShop Rover incorpora una norma Arduino Duemilanove (montaje en superficie ATMega328), L293B controlador de motor (conectado a los pines de 5 a 8), regulador de voltaje y el área de prototipos al tiempo que contribuye a la estructura mecánica del robot.

Características
compatible con Arduino
Sobre la base de montaje cuenta con  ATMega328 y el Puente H L293B
• Incorpora doble puente en H para bi-direccional de control del motor (los pines digitales 5, 6, 7 y 8)
El regulador de voltaje incluido (conectado a la entrada de la batería y conector cilíndrico de 3,5 mm)
Sensor de luz y sensor de temperatura pre-soldada y seleccionable a través de puentes
• Fácil conexión a Bluetooth y DFRobot APC220 módulos inalámbricos
• Zona de creación de prototipos grande para un empate 400 puntos o 170 puntos de amarre paneras soldadura o su "carga" propia
• Los conectores macho I2C para una fácil conexión
"punto de conexión universal" en la parte delantera del robot (ver especificaciones de compatibilidad)
• LED 6x azules alrededor de la junta para el efecto (seleccionable mediante jumper LED_SEL)
• En el sistema de programación a través de ICSP
• LED de 4x para indicar la dirección del motor

Para comenzar se tiene que instalar la IDE de arduino y tener un cable USB

ubuntu
$ sudo apt-get install -y arduino

Fedora
$ sudo yum install -y arduino

Una vez seleccionado tienes que seleccionar el puerto donde tienes conectado DFRover
Tiene que ser algo parecido a USB

Despues seleccionamos el tipo de arduino 
>seleccionas Arduino Duemilanove Atmega328



 Puedes testear los siguientes códigos.
 1. Código ejemplo para testear los sensores de luz y de temperatura

2.Velocidad Maxima Hacia adelante 3.Control mediante las teclas W/A/S/D para poder moverlo tienes que ingresar a monitor serial o mediante putty o cualquier cliente serial.

lunes, 5 de marzo de 2012

Raspberry Pi y FXI Cotton Candy

Raspberry Pi:




Raspberry Pi es una placa computadora (SBC) de bajo coste desarrollada en Reino Unido por la Fundación Raspberry Pi. Desde el 29 de Febrero de 2012, se pueden realizar pedidos en las páginas web de los distribuidores de componentes electrónicos Farnell y RS Components. La fundación planea lanzar dos versiones con un precio entre 25 y $35. Su objetivo es estimular la enseñanza de ciencias de la computación en las escuelas.






Y sus caracteristcas son:
  • Broadcom BCM2835 700MHz ARM1176JZFS processor with FPU and Videocore 4 GPU
  • GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode
  • GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure
  • 256MB RAM
  • Boots from SD card, running the Fedora version of Linux
  • 10/100 BaseT Ethernet socket
  • HDMI socket
  • USB 2.0 socket
  • RCA video socket
  • SD card socket
  • Powered from microUSB socket
  • 3.5mm audio out jack
  • Header footprint for camera connection
  • Size: 85.6 x 53.98 x 17mm
La diferencia con el modelo A (que costara 25 dolares) es que el B tiene 2 puertos USB y uno ethernet.

Sitio Oficial:




 FXI Cotton Candy :



Cotton Candy, el micro ordenador con la forma de una unidad flash, será lanzado muy pronto, tras varios meses de desarrollo y un pequeño rediseño.  un diminuto ordenador capaz de funcionar enchufándolo directamente a cualquier pantalla de televisión, o incluso a otro ordenador, “secuestrando” los periféricos de entrada/salida y arrancando su propio sistema operativo, Android o Ubuntu Linux.
Sus especificaciones técnicas no han cambiado desde la última vez, y sigue incorporando un SoC con CPU ARM Cortex-A9 de doble núcleo a 1.2Ghz y 1GB de memoria RAM, bastante por encima del “ordenador de 25 dólares”. Cotton Candy integra una GPU ARM Mali-400MP como la que se encuentra dentro del smartphone Samsung Galaxy S II, que le otorgará un rendimiento notable, a la altura de tablets de generación actual, que son capaces de mover sin mucho estrés juegos de alto rendimiento. Con slot MicroSD, conectividad inalámbrica Wi-Fi 802.11b/g/n, Bluetooth 2.1 + EDR y un puerto Micro USB convierten a este pequeño dispositivo virtualmente en una “tablet sin pantalla”.
El miniordenador, que ha sufrido una ligera metamorfosis ya está preparado para su comercialización, y FXI Tech lo lanzará este mismo mes, a un precio de US$199. Antes de que consideremos que el precio puede parecer alto, si lo comparamos con el recien lanzado Pi, hay que tener en cuenta varios factores: este es el ordenador más pequeño de su categoría, pudiéndose instalar en cualquier sitio sin que estorbe y con la posibilidad de transportarlo, literalmente, en un bolsillo, algo que otras soluciones de precio similar no permiten. Además, por sus especificaciones técnicas puede competir con los equipos ARM más punteros del mercado, siendo capaz de reproducir contenido en alta definición entre otras virtudes, aunque quizás las soluciones basadas en x86 y de mayor tamaño puedan tener mejores prestaciones, con mayor almacenamiento. Es interesante el cambio de rumbo que está experimentando la industria en los últimos tiempos, miniaturizando los equipos y cambiando el enfoque de su comercialización hacia el entretenimiento como principal atractivo. Quizás en unos años la novedad sea un PC de tamaño completo, como los que hoy utilizamos por norma general.
Sitio Oficial:


miércoles, 29 de febrero de 2012

Internet por medio de CFE y PLC



El Power Line Communications (PLC) o Línea de Comunicación Eléctrica, es una tecnología que permite contar con una conexión de banda ancha mediante el cableado eléctrico. Entre sus ventajas se encuentra su costo, el aprovechamiento de las líneas eléctrica y su alcance en comunidades donde otro tipo de enlaces no son viables.

En México, la Comisión Federal de Electricidad (CFE) tiene planeado ofrecer este servicio, sin embargo, a pesar de sus características y de uso en algunas naciones, PLC encuentra oposición entre los usuarios de diferentes frecuencias de radiocomunicación. La razón: puede causar interferencia en las vías inalámbricas.

“El PLC funciona usando señales de alta frecuencia en la red de transmisión eléctrica. Esto requiere de dispositivos que combinen las señales de los datos con la corriente de baja tensión. Estos dispositivos o módems separan la señal de datos de la corriente normal de electricidad”.

Las Ventajas que ofrecen son

No hay necesidad de cableado adicional, se aprovecha el ya existente. PCL es fácil de usar y sencillo de conectar, basta contar con el módem y conectar nuestro equipo a cualquier enchufe en la casa u oficina.

Es una tecnología más económica comparada con las conexiones ADSL o por cable coaxial. No necesita línea telefónica y la velocidad de transmisión puede ir desde los 2.5 Mbps hasta 45 Mbps, es decir muy por arriba de la conexión vía teléfono.

Lo innovador en México

La introducción de esta tecnología en México fomentaría y aumentaría en un importante porcentaje el uso de internet en nuestro país. Cualquier enchufe de nuestra casa, oficina taller, serían las conexiones ideales para el acceso de banda ancha a precios competitivos. A diferencia de las actuales tecnologías, el PLC podría llegar a las comunidades rurales más apartadas del país.

PLC o también conocido como Broadband Over Power Lines (BPL), está siendo usado en países como España. Endesa e Iberdrola son las compañías quienes lo han hecho hasta el momento con buenos resultados.

En mexico la Comisión Federal de Electricidad ha realizado diferentes pruebas en distintos puntos del país desde el año 2003 


PLC es una opción atractiva ya que de esta forma, todos los enchufes de una oficina se podrán utilizar como nodos. Esto otorga movilidad a sus clientes, sobre todo al cambiar de ubicación, solo tienen que desconectar sus modem PLC y llevarlos a su nueva ubicación.



Además, el equipo utilizado es sencillo y rápido de instalar. Solo es necesario conectar el enchufe a la corriente y conectar el USB o Ethernet (RJ45). 

Descripción de PLC 

La tecnología conocida como PLC (Power Line Communications, de Comunicación en Línea de Energía) es aquella que permite, transmitir señales de voz, datos, internet, telefonía y video, usando como medio de transmisión cableado de electricidad convencional. 

Características 

- Ancho de banda amplio (ancho de banda de 45 Mbps). La siguiente generación de equipos PLC, la velocidad que se alcanzará será de 200 Mbps con lo cual se puede pensar en ofrecer servicios de banda ancha. 

- Aplicaciones de trasmisión de video usando PLC, gracias a su ancho de banda. Además las PLC pueden utilizarse como canal de retorno interactivo para las plataformas de TV digital y TV vía satélite. 

- Aplicación de telefonía IP. En el enchufe eléctrico (toma de alimentación) se tiene voz y datos. 

- Desde el punto de vista del precio, probablemente éste parece que podría costar alrededor de $30 dlls por mes. 

Funcionamiento 

La forma en que opera esta tecnología y se describen cada uno de los elementos involucrados.




Funcionamiento de PLC



Central Eléctrica: En la central eléctrica se lleva a cabo el proceso de generación eléctrica. 

Red de alta tensión: La electricidad se transporta a través de una red de alta tensión hasta los centros de transformación. 

Centro de transformación: En los centros de transformación se realiza el cambio de corriente de alta a baja tensión y se instala un router y un módem que permiten transmitir voz y datos a través de la red eléctrica. 

Red de baja tensión: Voz y datos son transmitidos a través de la red eléctrica de baja tensión hasta los cuartos de control. 

Viviendas, edificios públicos, zonas rurales, empresas: Con un módem PLC pueden navegar en Internet, enviar y recibir datos. 

Panorama en México 

Las empresas Ascom Power Line Communication y Endesa trabajan con CFE para ofrecer conexión a Internet por medio de la conexión de luz; se han efectuado pruebas en Jocotitlán, Edo. de México; Morelia, Michoacán; Monterrey, Nuevo León y Mérida, Yucatán. 

Desventajas 

Posiblemente haga interferencia sobre las transmisiones de radio en onda corta. 

Ventajas 

No hay necesidad de cableado adicional, se aprovecha el ya existente; lo cual la hace más económica que las conexiones ADSL o por cable coaxial. No necesita línea telefónica y la velocidad de transmisión va de 2.5 Mbps a 135 Mbps. 

Una de las dificultades para extenderse esta tecnología en otros países es la existencia de múltiples proveedores de servicio eléctrico; en México solo hay un proveedor; además le da relativa ventaja para influenciar sobre la regulación en caso de haber quejas respecto a interferencia sobre comunicación de radio de onda corta.